python
数据类型
基础数据类型之布尔值bool
+布尔值bool
用来判断事物的对错,是不是可行。主要用于流程控制中
- 只有两种形态
1. True 对的,真的,可行的
2. False 错的,假的,不可行的
- python中所有的数据都自带布尔值
布尔值为False的数据有: 0 None '' [] {}
布尔值为True的数据有: 除了上面都是True
- 存储布尔值变量名一般用is开头
is_delete = False
is_alive = True
基本数据类型之元组tuple
- 元组tuple
也称为'不可变'的列表,元组内索引绑定的内存地址不能被修改
小括号括起来的是元组,内部可以存放多个数据值,数据值与数据值之间逗号隔开,数据值可以是任何数据类型
- 元组与列表的对比
列表
t1 = [1, 2, 3, ]
print(t1[0]) #获取索引0对应数据值 1
t1[0] = 123 #把t1的索引0对应数据值修改成123
print(t1) # 结果 [123.2.3]
元组
t1 = (1, 2, 3, [4, 5, ])
t1[1] = 234 # 把t1的索引1对应的值改成234
print(t1) #直接报错
ps: 元组内数据不可替换
t1[3][1] = 234 # 把t1的索引3里对应的索引1 改成234
print(t1) #结果(1, 2, 3, [4, 234])
ps: 元组内的列表数据可以替换
- 元组内如果只有一个数据值
a = (2, )
b = (3, )
print(type(a), type(b), ) #结果为<class 'tuple'> <class 'tuple'>
ps:以后在使用可以存放多个数据值得数据类型时,如果里面只有一个数据值建议你加上逗号 # 好习惯靠养成
基本数据类型之集合set
主要功能为去重和关系运算 # 大括号括起来,内部存放多个数据值,数据值与数据值之间用逗号隔开,但数据值没有以k:v键值对的方式存在,如果大括号内没有数据,则会被优先定义为字典
{} 默认是字典
set() 自定义集合
与用户交互
- 获取用户输入
input # 获取用户输入
age = input('请输入身高>>>:') # 将输入的数据值绑定给变量名age
"""以后在程序中就可以使用变量名来反复调用用户的数据,input获取到的数据都会统一处理成字符串类型"""
- 输出内部信息
print # 输出
print()
1. 括号内既可以放数据值也可以放变量名并且支持多个,逗号隔开即可
2. print自带换行符
换行符: \r\n # 以前需要输入\r\n
\n #现在优化了,只用输入\n
3. print也可以自己切换结束符
print(数据值, end='默认是\n')
- input print在python2中的区别
input在python2中需要自己先指定数据类型。
i1 = input('请输入内容>>>: ')
请输入内容>>>: 'tony'
# 还有一个方法raw_input('请输入内容>>>: ')就可以不用先指定数据类型,输入的统一处理成字符串
print在python2中可以不写print直接写变量名
name = 18
name # 输出数据值18
print name # 输出数据值18
格式化输出
- 需要提前设置好模板,在需要使用的时候可以局部修改。
在程序中需要使用占位符 %s %d
单个占位符使用方法
a = '%s您好'
print(a % '老六') # 老六您好
print('%s您好' % '老七') # 老七您好
print(a % ('六哥',)) # 这样也可以修改,参考多个占位符
多个占位符使用方法
a = '%s您好,您此次任务需要阴6%s个人,还剩%s个人'
print(a % ('六哥', 7, 5,)) # 六哥您好,您此次任务需要阴7个人,还剩5个人
print(a % ('六哥', 7, 2,)) # 六哥您好,您此次任务需要阴7个人,还剩2个人
不同占位符的区别
%s 常见的数据类型都支持
%d 只支持数字类型
print('%d' % 222) # %d为 222
print('%d' % 1234567) # %d为 1234567
'%08d' # 08的意思是总共展示8位数,可以根据实际情况修改 ,不足8位的用0填充 ,如果超出8位按实际位数来
基本运算符
数学运算符
加(+)、减(-)、乘(*)、除(/)、整除(//)、取余(%)、幂赋值运算(**)
代码写法
n = 6
n += 2 # n = n + 2
n -= 2 # n = n - 2
n *= 2 # n = n * 2
n /= 2 # n = n / 2
n //= 2 # n = n // 2
n %= 2 # n = n % 2
n **= 2 # n = n ** 2
比较运算符
< > <= >= ==(等于) !=(不等于)
常用赋值符
链式赋值
- 可以使用链式赋值给多个变量名快速修改数据值
a = 60
b = a
c = b
a = b = c = 6 # 简化写法
print(a, b, c, ) # 6 6 6
交叉赋值
- 可以快速让 不同的变量名转换绑定的变量值
a = 40
b = 30
temp = a
a = b
b = temp
print(a, b, ) # 30 40
"""简化写法
a, b = b, a
print(a, b, )""" # 30 40
解压赋值
1. 正常情况下 左右两边的变量名和值个数要相等
"""复杂代码
q = a[0] w = a[1] e = a[2] r = a[4]
"""
a = ['b', 's', 'd', 'f', ]
q, w, e, r = a
print(q, w, e, r ) # b s d f
2. 也可以打破个数限制
a = ['b', 's', 'd', 'f', ]
q, *w = a
print(q) # b
print(w) # ['s', 'd', 'f']
'''数据值不准备使用的时候可以用下划线作为变量名 '''
q, *_= a
逻辑运算符
and 与
连接的多个条件必须全部成立 结果才成立
2 > 3 and 4 < 5 and 7 < 1 and 2
"""如果发现条件中都是and组成 那么如果里面有一个不成立 结果就不成立 2 > 3 不成立 那么结果就不成立"""
print(1 < 2 and 111) # 111 成立
print(1 > 2 and 222) #false 不成立
print(11 and 22) # 22 成立
print(1 < 2 and 2 > 1) # True 成立
如果and左边的条件是成立的 那么久完全取决于右边的条件 右边的如果直接是数据值那么结果就是该数据值,如果是表达式 则位布尔值
or 或
连接的多个条件只要有一个成立那么结果就成立
print(1 > 2 or 2 < 1 or 3 > 2) # True 成立
发现一个成立 结果就成立
print(1 < 2 or 2 > 1) # True 成立
print(1 < 2 or 666) # True 成立
print(3 > 4 or 666) # 666 成立
print(0 or 222) # 0对应的是False 不成立则222成立
not 非
将条件翻转
print(not 1 > 2) # 1 > 2 是不成立的,用not反转后使结果True成立
成员运算符
- 判断个体在不在一个群体里面
a_list = ['tony', 'tank', 'johnny', ]
print('johnny' in a_list) # True 成立
'''列表最小单位是数据值 不能缩写''
a1 = {'name': 'johnny',
'age': 28}
print('johnny' in a1) # False 不成立,因为在字典里只能按K取值
print('name' in a1) # True 成立
身份运算符
- 判断两个数据值的内存地址是否相同
id() 返回数字该数字是内存地址
is 判断内存地址是否相同
== 判断数据值是否相同
a2 = [1, 2, 3, 4, 5, 6, 7, ]
print(a1 == a2) # a1 a2 数据值是否相同 True
print(id(a1)) # 返回a1的内存地址
print(id(a2)) # 返回a2的内存地址
print(a1 is a2) # 判断a1 a2 的内存地址是否相同,False
"""
数据值相同 内存地址可能不相同
内存地址相同 数据值肯定相同
"""
作业:
获取用户输入并打印成下列格式
------------ info of Jason -----------
Name : Jason
Age : 18
Sex : male
Job : Teacher
---------------- end -----------------
Name1 = input('Name :')
Age1 = input('Age : ')
Sex1 = input('Sex : ')
Job1 = input('Job : ')
a = ' Name : %s \n Age : %s \n Sex : %s \n Job : %s'
a1 = 'info of Jason'
a2 = 'end'
print('-' * 12, a1, '-' * 12, )
print(a % (Name1, Age1, Sex1, Job1))
print('-'*16, a2, '-'*16)
v1 = 1 or 3 # 1 or只要有一个成立那么结果就是成立
v2 = 1 and 3 # 3 and只要有一个条件成立那么就取决于and右边的数据值 如果右边的是表达式则是布尔值
v3 = 0 and 2 and 1 # Flase and左边0不成立 0代表Flase
v4 = 0 and 2 or 1 # 1 or 1结果成立
v5 = 0 and 2 or 1 or 4 # 1 or 1成立所以不用往后看了
v6 = 0 or False and 1 # 0代表False False and 1中False不成立
标签:python,数据,t1,input,print,成立,True
From: https://www.cnblogs.com/LiaJi/p/16732247.html