函数
关键字参数: def f(x,y), f(68,Flase)可以 f(x=68,False)错误
传递参数 def:addME(x)
return(x+x )
def self(f,y)
print(f(y))
调用 self(addME,2)
lambda函数(匿名函数)
r=lambda x:x+x
def my_add(x,y):return x+x
等价于lambda x:x+x
my_add=lambda x,y:x+y
调用 my_add(3,4)
递归
循环和递归,递归 必须要有边界条件来停止递归,递归的代码更简洁
递归的执行,需要逐层递归调用,逐层返回调用至最初层 ,因此系统资源消耗比循环大,而且遇到边界条件停止递归
变量作用域
局部变量:函数中
全局变量:程序代码主体
局部变量如果和全局变量同名,遵循内层屏蔽外层
用 global语句强调全局变量
python函数包括:内建函数、标准库函数、第三方库函数 、用户自定义函数
内建函数:包含在utils模块中的函数,可以直接使用,例如input()
标准库函数:需要先导入模块再使用的函数,math库的pow()
math库 os库 random库 datetime库,利用help()进行查看具体的讲解floor:向下取整
gcd(x,y):返回x和y的最大公约数
》》》import os
os.getcwd() #获取当前的工作目录
os.chdir(newdir)#更改工作路径
os.rename(current_file_name,new_file_name)#重命名
os.remove(file_name)
os.mkdir(newdir)
os.rmdir(dirname)
》》》import random 生成随机数的一系列函数
import random
random.choice(['c++','java','Python']) #随机选取变量
random.randint(1,100)#随机选取1得到100的整数
random.randrange(start,stop,step,)#随机选取range()生成的一组数据中,随机选取一个整数,step为步长
random.random()#生成的是0到1.0之间的一个是随机浮点数,不包括 1.0
random.uniform(5,10)#随机生成5到10的一个浮点数
random.sample(range(100),10)#随机获取后面指定的个数的一组值,用 list返回
random.shuttle(list)#输入是一个数组,输出的是错乱顺序的数组
》》》表示和处理时间日期的一系列函数
import datetime
from datetime import date
from datetime import time
tm=time(23,20,35)
form datetime import datetime
dt=datetime.now()
print(dt.strtime('%a,*b %d %Y %H:%M'))依据一个样式将时间输出
dt=datetime(2017,2,3,23,29)
ts=dt.timestamp()#将本地时间准华为时间戳
print(datetime.fromtimestamp(ts))#从时间戳转化为本地时间
#把1971年1月1日0时0时区的时刻记为新纪元时间
第三方库函数:例如科学计算包SciPy,用于科学计算的函数
numpy 是开源的数值计算,用来存储和处理大型的矩阵(matrix),科学计算包括(n维数组Array,函数库,用于整合C/C++的工具包 ,实用的线性代数、傅里叶变换、随机数生成函数。numpy和稀疏矩阵运算包scipy)
data=[[1,2,3],[4,5,6]]#创建元组
arr=np.array(data)#转为数组
异常
语法错误 运行时刻错误 逻辑错误
1.回溯(跟踪,traceback),
2.查看异常类 dir(_builtins_)
try/except语句
try: raise
except Exception as err:print(err)
with open('css基础.txt') as f:
for line in f:
print(line,end='')
等价于:
try:
f=open('css基础.txt')
for line in f:
print(line,end='')
except IOError:
print('')
finally:
f.close()