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
'''
posted @ 2019-07-31 19:55  PLPLPL  阅读(110)  评论(1编辑  收藏  举报
// 目录