python基本语法(3)
1. 三种格式化输出的方式
格式化输出:符合某种规范的print
这种规范叫做:格式化
1.1 第一种格式化方式(3.0)
s1 = 'nick' # name
s2 = 'ugly' #qizhi
s3 = '180' # height
'name:nick,qizhi:ugly,height:180'
print('name:' + s1 + ',' + 'qizhi:' + s2 + ',' + 'height:' + s3)
print('name:%s,qizhi:%s,height:%s' %(s1,s2,s3))
print('name:%s' % s1) # name:nick
注:%s 所有数据类型
%d 只支持数字类型
1.2 第二种格式化方式(3.4)
s1 = 'nick' # name
s2 = 'ugly' #qizhi
s3 = '180' # height
print('name:{0},qizhi:{1},height:{2}'.format(s1,s2,s3))
1.3 第三种格式化方式(3.6)(建议使用)
s1 = 'nick' # name
s2 = 'ugly' #qizhi
s3 = 180 # height
print(f'name:{s1}, qizhi:{s2}, height:{s3:.2f}') # 让字符串和数字可以直接相加
print(F'name:{s1},qizhi{s2},height:{s3}')
2. 基本运算符
运算符:运算的符号
2.1 算数运算符
x = 10
y = 20
print(x + y) # 加
print(x - y) # 减
print(x * y) # 乘
print(x / y) # 除
print(x % y) # 取余
print(x // y) # 整除
print(x ** y) # 幂
2.2 比较运算符
x = 10
y = 20
print(x > y) # False
print(x < y) # True
print(x >= y) # False
print(x <= y) # True
print(x == y) # False
print(x != y) # True
2.3 赋值运算符
# 一元赋值运算符
x = 10
y = 20
# 二元赋值运算符
x += y # x = x+y
x += 10 # x = x+10
print(x)
x -= y # x = x-y
print(x)
x *= y # x = x*y
print(x)
x /= y # x = x/y
print(x)
x **= y # x = x**y
print(x)
y //= x # x = x//y
print(y)
x %= y # x = x%y
print(x)
2.4 逻辑运算符
返回True或False(二元运算符)
# and(和),两个条件都为真就为真,否则都为False
print(1>1 and 2>3) # False
print(10>1 and False) # False
# or(或),只要有一个为真就为真,否则都为False
age = 18
inp_age= input('age:')
print(age==inp_age or True) # True
print(True or False) # True
print(False or False) # False
# not(不是)
print(not True) # False
print(not False) # True
2.5 身份运算符
通过比较两者id返回布尔值
x=1000
y=1000
print(id(x))
print(id(y))
print(x is y) # False
print(x is not y) # True
print(not x is y)
# 值相同的id不一定相同,id相同的值一定相同
2.6 运算符优先级(如果你想让他优先算,加括号就行了,没必要记优先级)
x = 100
y = 100
print(not x is y) # x is y = True # not True = False
print(not x is y ** 2) # y ** 2 = 10000 # x is y = False # not False = True
print(not ((x is y) ** 2)) # x is y = True # True ** 2 = 1 = True # not True = False
# True为1,False为0
print(True>0) # True
print(False >0) # False
3. 流程控制之if判断
if判断其实是在模拟人做判断。就是说如果这样干什么,如果那样干什么。
# 在十字路口过马路,绿灯过,红灯等待
light = 'red'
if light == 'red':
print('等待')
elif light == 'green':
print('过马路')
# 怎么使用if判断
# 单分支结构
'''
<代码块1>
if <条件>:
<代码块2> # 当条件为True时执行代码块2然后执行代码块3,否则不执行代码块2直接执行代码块3
<代码块3> # 当条件不成立时直接运行代码块3
'''
# 双分支结构
'''
<代码块1>
if <条件>:
<代码块2> # 当条件为True时执行代码块2然后执行代码块3
else:
<代码块4> # 当条件不成立时,运行代码块4,然后在运行代码块3
<代码块3> # 当条件不成立时首先运行代码块4,然后再运行代码块3
'''
# 多分支结构
'''
<代码块1>
if <条件1>:
<代码块2> # 当条件1为True的时候执行代码块2然后执行代码块3 # tab
elif <条件2>:
<代码块5> # 当条件1不成立条件2成立,执行代码块5,然后执行代码块3
...
elif <条件n>:
<代码块n>
else:
<代码块4> # 当if和elif的所有条件都不成立时,执行代码块4,然后执行代码块3
<代码块3>
'''
# eg:
light = 'white'
if light == 'red':
print('等')
elif light == 'yellow':
print('注意')
elif light == 'green':
print('一起牵着手过马路吧')
else:
print('傻子,没有这个信号灯')
print('shit')
4. if的嵌套
多个if判断和if...elif...else的区别?
# 对于猜年龄这个应用而言,多个if耗费更多的时间
age = 18
inp_age = int(input('age:'))
if age > inp_age: # a # a成立就做,和b,c无关
print('猜大了')
if age < inp_age: # b # b成立就做,和a,c无关
print('猜小了')
if age == inp_age: # c # c成立就做,和a,b无关
print('猜中了')
'''
if 条件1:
pass
if 条件2:
pass
'''
age = 18
inp_age = int(input('age:'))
if age >= inp_age: # a
if age > inp_age: # b
if 'e':
print('猜小了') # a成立b也成立e也成立我才做
else: # c
print('猜中了') # a成立c成立我才做
else: # d # a不成立我就做
print('猜大了')
# 多个if判断和if的嵌套的区别?
'''
if 条件1:
if 条件2:
pass
'''