python代码注释有几种方式 python代码示例

一、原地交换Python 提供了一个直观的在一行代码中赋值与交换(变量值)的方法
x,y=10,20print(x,y)x,y=y,xprint(x,y)#1(10,20)#2(20,10)
原理:赋值的右侧形成了一个新的元组 。左侧立即解析(unpack)那个(未被引用的)元组到变量 <a> 和 <b> 。一旦赋值完成 。新的元组变成了未被引用状态并且被标记为可被垃圾回收 。最终也完成了变量的交换 。
二、链状比较操作符Python不用很多条件一个一个写 。比较操作符可以聚合 。
n=10result=1<n<20print(result)#Trueresult=1>n<=9print(result)#False
三、三元操作符进行条件赋值三元操作符是 if-else 语句也就是条件操作符的一个快捷方式:[表达式为真的返回值] if [表达式] else [表达式为假的返回值]
这里给出一个你可以用来使代码紧凑简洁的例子 。下面的语句是说“如果 y 是 9 。给 x 赋值 10 。不然赋值为 20” 。
x=10if(y==9)else20
在列表推导中:
[m**2ifm>10elsem**4forminrange(50)]
判断最小值:
defsmall(a,b,c):returnaifa<=banda<=celse(bifb<=aandb<=celsec)
类中:
x=(classAify==1elseclassB)(param1,param2)
四、多行字符串这个比c方便多了 。c打上换行符再加上转义 。真的很难受
a='''dvfssdfsdfdsfsddsdsfbfdfasfafasfaf'''print(a)
五、in判断可以直接用来判断某个变量是否在列表中
我们可以使用下面的方式来验证多个值:
ifmin[1,3,5,7]:
而不是:
ifm==1orm==3orm==5orm==7:
六、 四种翻转字符串/列表的方式# 翻转列表本身
testList=[1,3,5]testList.reverse()print(testList)#->[5,3,1]
# 在一个循环中翻转并迭代输出
forelementinreversed([1,3,5]):print(element)#1->5#2->3#3->1
# 一行代码翻转字符串
"TestPython"[::-1]#输出“nohtyPtseT”
# 使用切片翻转列表
[1,3,5][::-1]#输出[5,3,1] 。
七、一次性初始化多个变量可以直接赋值:
a,b,c,d=1,2,3,4
可以利用列表:
List=[1,2,3]x,y,z=Listprint(x,y,z)#->123
(元素个数应与列表长度相同)
八、打印模块路径importsocketprint(socket)#<module'socket'from'/usr/lib/python2.7/socket.py'>
九、字典推导Python不光列表用推导式 。字典/集合也有
#列表l=[[0foriinrange(4)]foriinrange(4)]#生成二维列表print(l)#[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]]
testDict={i:i*iforiinxrange(10)}testSet={i*2foriinxrange(10)}print(testSet)print(testDict)#set([0,2,4,6,8,10,12,14,16,18])#{0:0,1:1,2:4,3:9,4:16,5:25,6:36,7:49,8:64,9:81}
十、拼接字符串众所周知 。python中字符串可以相加:
a="i"b="love"c="you"print(a+b+c)
拼接列表中的所有元素为一个字符串
l=['a','b','c']print(''join(l))#以join左边的字符做分割
十一、循环枚举索引list=[10,20,30]fori,valueinenumerate(list):print(i,':',value)#1->0:10#2->1:20#3->2:30
很方便的找到下标和对应元素
十二、返回多个值并没有太多编程语言支持这个特性 。然而 Python 中的方法确实(可以)返回多个值
defa():return1,2,3,4,5
十三、开启文件分享Python 允许运行一个 HTTP 服务器来从根路径共享文件 。下面是开启服务器的命令:
python3-mhttp.server
上面的命令会在默认端口也就是 8000 开启一个服务器 。你可以将一个自定义的端口号以最后一个参数的方式传递到上面的命令中 。
十四、调试脚本我们可以在 <pdb> 模块的帮助下在 Python 脚本中设置断点 。例子:
importpdbpdb.set_trace()
十五、直接迭代序列元素对序列(str、list、tuple等) 。直接迭代序列元素 。比迭代元素的索引速度要更快 。
>>>l=[0,1,2,3,4,5]>>>foriinl:print(i)#快>>>foriinrange(len(l)):print(l[i])#慢
十六、巧用else语句(重要)python的else 子句不仅能在 if 语句中使用 。还能在 for、while 和 try 等语句中使用 。这个语言特性不是什么秘密 。但却没有得到重视 。
for:l=[1,2,3,4,5]foriinl:ifi=='6':print(666)breakelse:print(999)
如果不这么实现 。我们只能设置一个变量来记录了:
l=[1,2,3,4,5]a=1foriinl:ifi=='6':print(666)a=0breakifa:print(999)
while和for类似
看一下try:
try:a()exceptOSError:#语句1else:#语句2
仅当 try 块中没有异常抛出时才运行 else 块 。
总结一下else:

推荐阅读