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


for:
仅当 for 循环运行完毕时(即 for 循环没有被 break 语句中止)才运行 else 块 。
while:
仅当 while 循环因为条件为假值而退出时(即 while 循环没有被break 语句中止)才运行 else 块 。
try:
仅当 try 块中没有异常抛出时才运行 else 块 。
即 。如果异常或者 return、break 或 continue 语句导致控制权跳到了复合语句的主块之外 。那么else 子句也会被跳过 。
按正常的理解应该是“要么运行这个循环 。要么做那件事” 。可是 。在循环中 。else 的语义恰好相反:“运行这个循环 。然后做那件事 。”
十七、except的用法和作用try/except: 捕捉由PYTHON自身或写程序过程中引发的异常并恢复
except: 捕捉所有其他异常
except name: 只捕捉特定的异常
except name, value: 捕捉异常及格外的数据(实例)
except (name1,name2) 捕捉列出来的异常
except (name1,name2),value: 捕捉任何列出的异常 。并取得额外数据
else: 如果没有引发异常就运行
finally: 总是会运行此处代码
十八、Python自省这个也是python彪悍的特性.自省就是面向对象的语言所写的程序在运行时,所能知道对象的类型.简单一句就是运行时能够获得对象的类型.比如type(),dir(),getattr(),hasattr(),isinstance().
十九、python容器列表:元素可变(任何数据类型) 。有序(可索引) 。append/insert/pop;
元组:元素不可变 。但元素中的可变元素是可变的;有序(可索引);而且元组可以被散列 。例如作为字典的键 。
集合:无序(不可被索引)、互异
字典:无序 。键值对(key:value) 。key唯一不可重复
二十、map()map()函数接收两个参数 。一个是函数 。一个是Iterable 。map将传入的函数依次作用到序列的每个元素 。并把结果作为新的Iterator返回 。(重点理解)
举例说明 。比如我们有一个函数f(x)=x2 。要把这个函数作用在一个list [1, 2, 3, 4, 5, 6, 7, 8, 9]上 。就可以用map()实现如下:
>>>deff(x):...returnx*x...>>>r=map(f,[1,2,3,4,5,6,7,8,9])>>>list(r)[1,4,9,16,25,36,49,64,81]
map()作为高阶函数 。事实上它把运算规则抽象了 。因此 。我们不但可以计算简单的f(x)=x2 。还可以计算任意复杂的函数 。比如 。把这个list所有数字转为字符串:
>>>list(map(str,[1,2,3,4,5,6,7,8,9]))['1','2','3','4','5','6','7','8','9']
二十一、reducereduce把一个函数作用在一个序列[x1, x2, x3, …]上 。这个函数必须接收两个参数 。reduce把结果继续和序列的下一个元素做累积计算
简单例子:
>>>fromfunctoolsimportreduce>>>deffn(x,y):returnx*10+y>>>reduce(fn,[1,3,5,7,9])13579
结合一下 。我们可以自己写出int()函数
fromfunctoolsimportreducea={'0':0,'1':1,'2':2,'3':3,'4':4,'5':5,'6':6,'7':7,'8':8,'9':9}defcharnum(s):returna[s]defstrint(s):returnreduce(lambdax,y:x*10+y,map(charnum,s))
我们继续说一些好用的函数
二十二、splitPython split() 通过指定分隔符对字符串进行切片 。如果参数 num 有指定值 。则仅分隔 num 个子字符串 。
语法:
str.split(str="",num=string.count(str))
简化:
str.split("")
二十三、理论结合实际1)结合第四期所学知识 。我们可以写出这一行代码
print("".join(input().split("")[::-1]))
实现功能 。leetcode原题:给定一个句子(只包含字母和空格) 。将句子中的单词位置反转 。单词用空格分割 。单词之间只有一个空格 。前后没有空格 。比如:(1)“hello xiao mi” – >“ mi xiao你好“
2)再举一例:
将两个整型数组按照升序合并 。并且过滤掉重复数组元素
输入参数:
int*pArray1:整型数组1intiArray1Num:数组1元素个数int*pArray2:整型数组2intiArray2Num:数组2元素个数
对于python来说 。给个数没什么卵用 。
a,b,c,d=input(),list(map(int,input().split())),input(),list(map(int,input().split()))print("".join(map(str,sorted(list(set(b+d))))))
3)我们把最近的知识结合起来做一道题:
输入一个int型整数 。按照从右向左的阅读顺序 。返回一个不含重复数字的新的整数 。
result=""foriininput()[::-1]:ifinotinresult:result+=iprint(result)
还有很多具体的简洁操作 。这里就不再举例子了 。多体会吧 。

推荐阅读