变量命名
在《初识永远强大的函数》一文中,有一节专门讨论“取名字的学问”,就是有关变量名称的问题,本温故而知新的原则,这里要复习:
名称格式:(下划线或者字母)+(任意数目的字母,数字或下划线)
注意:
1.区分大小写
2.禁止使用保留字
3.遵守通常习惯
"codetitle">复制代码 代码如下:
and assert break class continue def del elif else except exec finally for from global if import in is lambda not or pass print raise return try while yield
需要都记住吗?当然不需要了。一方面,可以在网上随手查到,另外,还能这样:
复制代码 代码如下:> not = 3
File "<stdin>", line 1
not = 3
^
SyntaxError: invalid syntax
> pass = "hello,world"
File "<stdin>", line 1
pass = "hello,world"
^
SyntaxError: invalid syntax
在交互模式的实验室中,用保留字做变量,就报错了。当然,这时候就要换名字了。
以上原则,是基本原则。在实际编程中,大家通常还这样做,以便让程序更具有可读性:
"qiwsir",就不如写:name = "qiwsir"更好。
"codetitle">复制代码 代码如下:
> name = "qiwsir"
> name, website = "qiwsir","qiwsir.github.io" #多个变量,按照顺序依次赋值
> name
'qiwsir'
> website
'qiwsir.github.io'
> name, website = "qiwsir" #有几个变量,就对应几个对象,不能少,也不能多
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: too many values to unpack
如果这样赋值,也得两边数目一致:
复制代码 代码如下:
> one,two,three,four = "good"
> one
'g'
> two
'o'
> three
'o'
> four
'd'
这就相当于把good分拆为一个一个的字母,然后对应着赋值给左边的变量。
复制代码 代码如下:
> [name,site] = ["qiwsir","qiwsir.github.io"]
> name
'qiwsir'
> site
'qiwsir.github.io'
> name,site = ("qiwsir","qiwsir.github.io")
> name
'qiwsir'
> site
'qiwsir.github.io'
这样也行呀。
其实,赋值的样式不少,核心就是将变量和某对象对应起来。对象,可以用上面的方式,也许是这样的
复制代码 代码如下:
> site = "qiwsir.github.io"
> name, main = site.split(".")[0], site.split(".")[1] #还记得str.split(<sep>)这个东东吗?忘记了,google一下吧。
> name
'qiwsir'
> main
'github'
增强赋值
这个东西听名字就是比赋值强的。
在python中,将下列的方式称为增强赋值:
增强赋值语句
等价于语句
x+=y
x = x+y
x-=y
x = x-y
x*=y
x = x*y
x/=y
x = x/y
其它类似结构:x&=y x|=y x^=y x%=y x=y x<<=y x**=y x//=y
看下面的例子,有一个list,想得到另外一个列表,其中每个数比原来list中的大2。可以用下面方式实现:
复制代码 代码如下:
> number
[1, 2, 3, 4, 5]
> number2 = []
> for i in number:
... i = i+2
... number2.append(i)
...
> number2
[3, 4, 5, 6, 7]
如果用上面的增强赋值,i = i+2可以写成 i +=2,试一试吧:
复制代码 代码如下:
> number
[1, 2, 3, 4, 5]
> number2 = []
> for i in number:
... i +=2
... number2.append(i)
...
> number2
[3, 4, 5, 6, 7]
这就是增强赋值。为什么用增强赋值?因为i +=2,比i = i+2计算更快,后者右边还要拷贝一个i。
上面的例子还能修改,别忘记了list解析的强大功能呀。
复制代码 代码如下:
> [i+2 for i in number]
[3, 4, 5, 6, 7]
跟老齐学Python,赋值
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。
更新日志
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]