语句、表达式与if分支

语句、表达式与if分支

格式设置指南 Python Enhancement Proposal 8 ——PEP8

  1. 缩进:PEP8建议缩进使用四个空格(当然文本编辑器可以帮我们自动把TAB键转换为四个空格) 不能混合使用TAB键和空格键
  2. 行长:每行不建议超过79个字符
  3. 空行:要将程序的不同部分分开可使用空行

语句

赋值语句

#可以使用元祖或者列表对多个变量赋值
(x,y) = (5,10)
x
5
y
10

[a,b,c]=1,2,3
a
1
b
2
c
3

#外边括号去掉也不影响
x,y=5,10
x
5
y
10

#可以以元祖的形式同时显示多个值
x,y
(5, 10)

#当前面变量个数和后面个数相等时,会把后面的字符串序列一个个字符拆开分别赋给前面的变量
x,y,z='uke'
x
'u'
y
'k'
z
'e'
#当变量个数和后面的字符个数不对等时,会报错,显示把后面字符解开unpack一个个赋给前面变量时值太多了
a,b,c='youpin'
Traceback (most recent call last):
  File "<input>", line 1, in <module>
ValueError: too many values to unpack (expected 3)
#如果说想把y赋给a o赋给b u以及u后面所有的信息全部赋给c
s='youpin'
a,b,c=s[0],s[1],s[2:]
a
'y'
b
'o'
c
'upin'
#使用*号扩展序列解包赋值——当在c前面打上*号时,a,b就自动匹配前两个,剩余的全部打包赋给c(注意:一个表达式里只能出现一个*号)
a,b,*c=s
a
'y'
b
'o'
c
['u', 'p', 'i', 'n']
#当*号打在b前面时,表示a自动匹配字符串里第一个字符,c自动匹配字符串最后一个字符,b匹配中间所有的字符
a,*b,c=s
a
'y'
b
['o', 'u', 'p', 'i']
c
'n'
#注意返回的b的类型是列表,如果想把b这个列表连接起来变成字符串——可以使用字符串的join方法
b=''.join(b)
b
'oupi'

a,b,c,d='uke'
Traceback (most recent call last):
  File "<input>", line 1, in <module>
ValueError: not enough values to unpack (expected 4, got 3)

a,b,c,*d='uke'
a
'u'
b
'k'
c
'e'
d
[]
#d返回一个空列表
a,b,*c='uke'
a
'u'
b
'k'
c
['e']
#综上,*返回永远是一个列表,可能是只包含一个元素的列表,可能是多个元素的列表,可能是空列表


#多目标赋值——声明一个值把它赋给多个变量
#例如,如果想把‘uke’这个字符串都赋给a,b,c
a=b=c='uke'
a
'uke'
b
'uke'
c
'uke'

#+=:两个值相加,然后返回值给符号左侧的变量或者用于字符串连接(变量值带引号,数据类型为字符串)或者往列表里面添加多个元素
a,b=1,2
a+=b
a
3

a='love'
b='you'
a+=b
a
'loveyou'

a=[1,2]
a+=[3,4]
a
[1, 2, 3, 4]
#效果等同于list.extend([])
a.extend([99,100])
a
[1, 2, 3, 4, 99, 100]

if语句

一般格式

score = 75
if score >= 90:
    print('excellent')
elif score >= 80:
    print('good')
elif score >= 60print('pass')
else:
    print('fail')
  

三元表达式——适用于只有两种情况的时候

#三元表达式——格式:条件成立的情况 if 条件成立 else 条件不成立的情况——如果条件成立则执行左边的 条件不成立执行右边的
score = 75
# if score >= 60:
#    result = 'pass'
# else:
#    result = 'fail'
result = 'pass' if score >= 60 else 'fail'
print(result)

多重分支

#利用字典表实现类似于if多重条件判断的效果
operation={'add':'加法','multiple':'乘法','divide':'除法'}
print(operation.get('add'))


def add(x):
    print(x + 100)


operation = {'add': add, 'multiple': lambda x: print(x * 2), 'divide': lambda x: print(x / 2)}
#注意add后面不需要加()因为这里只是传递引用,真正的调用是到后面operation.get('add')(10)通过(10)传递进去参数10进去

def default_method(x):
    print(x)


operation.get('add')(10)

run后显示110


operation.get('power',default_method)(10)
#表示没有找到power这个键,则执行default_method

run后显示10

表达式

函数调用

#例如调用全局函数len()
len('abc')
3

方法调用

#例如调用list下面的append()方法
l=[1,2,3]
l.append(99)
l
[1, 2, 3, 99]

字面值

打印操作——print()

a='kylie'
b='kendall'
print(a,b)
kylie kendall
#可见中间默认是用空格隔开,如果想自定义用其他符号分隔开也可以——print(x,y,z,sep='')
print(a,b,sep='!')
kylie!kendall
#print()默认终止符为\n 如果想自定义则print(...,end='')
#如果想让打印的结果不要直接显示在控制台上而是存入文件里
print(a,b,file=open('result.txt','w',encoding='utf8'))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值