python数据类型、用户交互和运算符

基本数据类型

1.字典dict(dictionary)
	能够准确的记录储存的信息
    """
    大括号里面 放多个元素 之间用逗号隔开
    元素为K:V键表示储存
    	K相对于V一般表示是字符串
    	V就是变量的值 可以是任意数据类型
    """
    dict = {
        'name':'bob',
        'age':18,
        'hobby''study',
        'year':2004
    }
  字典不支持索引取值 因为字典是无序的
data = {
    'username': 'jason',
    'age': 18,
    'addr': ['北京', '上海', {'省份': [{'安徽': ['合肥', '芜湖'], '上海': ['张江', '青浦', '浦东']}, '河南', '山东']}]
}
# 利用索引和按k取值 获取jason的家乡 芜湖
# 1.先获取键addr对应的值
big_list = data['addr']  # 存储addr对应的大列表
# 2.利用索引取值获取列表第三个元素
little_dict = big_list[2]  # 存储小字典
# 3.利用键获取值
little_list = little_dict['省份']
# 4.利用索引取值获取最终的字典
l1_dict = little_list[0]
# 5.利用键取值 再利用索引
print(l1_dict['安徽'][1])
# 也可以直接写出一行代码
print(data['addr'][2]['省份'][0]['安徽'][1])

集合set

这个使用比较少 大括号里面放多个元素
a = {1, 2, 3, 4, 5, 6}
# 大括号里面是空的 默认为字典

元组tuple

和列表基本一样 只不过是小括号
元组只能储存数据 不能改数据
小括号是不可变列表
"""
小括号括起来 内存可以存放多个元素 元素与元素之间逗号隔开 元素可以是任意数据类型
"""
t = (1, 11, 111, 1111)
print(type(t))
# 元组内的数据不能修改
l1 = [3, 4, 5, 6]
print(l1[1], t[1])
l1[1] = 2
print(l1)
t[1] = 3  # 不能修改
print(t)

布尔值bool

只有两个情况
1.True
2.False 
这个是用来描述事物的对与错 仅仅这两个情况 用于逻辑
	True 表示可以 ok
    False 表示不可以 no
"""
在python中所有的数据在进行逻辑判断的时候都会转成布尔值
	布尔值默认为False的数据
		0 None 空字符串 空列表 空字典...
	其他情况布尔值都是True
""" 
布尔值变量 一般有is开头的
	is_ringht = True
	is_dlete = False
	is_alive = True

与用户交互

1.获取用户输入
	user = input('请输入用户名:')
    # input获取用户输入字符串
2.输出内部数据
	print(user)
    编写方式
        方式1 先写print括号内写需要打印的东西
        方式2 先写需要打印的东西之后使用句点符跟print之后tab键即可
     # 括号内还支持一次性打印多个数据 逗号隔开即可

格式化输出

# 提前定义好模板 之后修改特定的区域即可

'亲爱的xxx你好!你xxx月的话费是xxx,余额是xxx'

 s = '亲爱的%s你好!你%s月的话费是%s,余额是%s'
 print(s % ('bob', 2,19, 69))
 print(s % ('alun', 2, 159, 32))
 print(s % ('davi', 2, 99, 123))
username = input('username:')
age = input('age:')
print('my name is %s my age is %s' % (username, age))
"""占位符:%s %d"""
%s可以给任意数据占位
%d只能给数字占位
    print('%08d' % 111)  # 00000111
    print('%08d' % 2)  # 00000002

运算符

乘(*)   除(/)  整除(//)   取余(%)   等于(==)
不等于(!=)
增量赋值
	x += 100  # x = x + 100
    x -= 100  # x = x - 100
    x *= 100  # x = x * 100
    x /= 100  # x = x / 100
链式赋值
	x = 100
    y = x
    z = x
	# 简化
	x = y = z = 100
 交叉赋值
	m = 10
    n = 999
    # 让m指向n指向的值 让n指向m指向的值
    # m = n
    # n = m
    # print(m, n)  # 999 999
    tmp = m
    m = n
    n = tmp
    print(m, n)
    # 交叉赋值
    m, n = n, m
    print(m, n)
解压赋值
	name_list = ['jason', 'kevin', 'tony', 'jerry']
    # name1 = name_list[0]
    # name2 = name_list[1]
    # name3 = name_list[2]
    # name4 = name_list[3]
    # 解压赋值(重要)
    # name1, name2, name3, name4 = name_list
    # name1, name2 = name_list
    # name1, name2, name3, name4, name5 = name_list
    """
    1.正常情况下 左右两边的变量名和值个数要相等
    2.也可以打破个数限制
    """
    l1 = [11, 22, 33, 44, 55, 66, 77, 88, 99]
    a, b, *_ = l1
    print(a, b, _)  # 11 22 [33, 44, 55, 66, 77, 88, 99]
    a, *_, b = l1
    print(a, b, _)  # 11 99 [22, 33, 44, 55, 66, 77, 88]
    """
    单独的下划线作为变量名 意思是为了符合语法 但是指向的值用不到的情况
    """

逻辑运算符

and	与
	连接多个条件必须都满足 结果才是True
    2 > 1 and 1 != 1 and True and 3 > 2
    
or	或
	连接多个条件只要有一个满足 结果就是True
    2 > 1 or 1 != 1 or True or 3 > 2
    
not	非
	将条件翻转 True变为False False变为True
 	not True
"""
三者混合使用的时候是有优先级的 但是我们不需要记
应该人为的在编写初期就强制规定好顺序
	(3>4 and 4>3) or ((1==3 and 'x' == 'x') or 3 >3)
"""

成员运算、身份运算

# 成员运算
	判断是否在一个群体里面
    numb_list = [1, 2, 3, 4, 5]
    print(1 in numb_list)  # Ture
    print(2 not in numb_list)  # False
# 身份运算
	is:判断两个数据的内存地址是否一致 
    ==:判断两个数据的值是否一致
posted @   末笙  阅读(56)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示