一、内置函数
print input len type str int float list range
pop append insert keys split replace strip
remove clear
二、函数
def 关键字
def 函数名(参数1,参数2,参数3):
函数体 你希望这个函数去给你实现什么功能
调用 函数名(参数)
def add_numbers(m, n, k=1):
sum = 0
for i in range(m, n, k):
sum = sum + i
print("求和的值是{0}".format(sum))
add_numbers(1, 5)
第一步:先用代码实现功能 还可以选取一组数据来证明自己的代码是否正确
第二步:变成函数 加def
第三步:想办法提高代码的复用性
1、位置参数/形参
2、实际参数/默认参数
3、默认参数 ,按顺序赋值 , 传参了按照参数值来计算,没有传参,按照形参处定义的值来计算,默认参数必须放在位置参数的后边
def add_numbers(n,m=1,k=2):#形参 位置参数 m=1是默认参数 n是位置参数 sum = 0 for i in range(m, n, k): sum = sum + i print("求和的值是{0}".format(sum)) add_numbers(10,k=4)#实际参数 默认参数
4、return:当调用一个函数时,会返回一个结果。在函数里边相当于一个结束符号,表示函数到此为止,return后边的都不执行
return 是会返回给调用函数一个值,调用的那个函数可以对返回的这个值在进行处理 print 只能打印出这个值,无法返回给调用函数值,调用函数拿到的只是none
def check_list(L): if len(L)>2: new_list=L[0:2] return new_list B=[1,2,3,4] new_list=check_list(B) print(new_list)
5、动态参数/不定长参数,*args 函数内部作为元祖来传递
def make_sandwich(*args): all="" for item in args: all=all+item all=all+"、" print("您的三明治包含了"+all) make_sandwich("生菜","培根","牛肉")
6、关键字参数 key-value **kwargs 在函数内部作为字典来传递
def kw_function(**kwargs): print(kwargs) kw_function(x=1,y=2)
7、全局变量和局部变量
1、作用范围不一样 全局:整个模块都可以用 函数的局部变量只能用于函数 2、当全局变量和局部变量同名且同时存在的时候,函数优先调用局部变量 3、当局部变量没有 优先用全局的 4、global
a=1#全局变量 def add(b): global a a=10 #此处想改变a的值,必须要先定义a,如果先改变值,在定义,会报错 #a=5#局部变量 print(a+b) print(a) add(10)