函数笔记整理

函数:

一:
1.定义函数:
def 函数名():#函数名建议与所要实现的功能接近
函数体
注:定义函数,并不会执行函数体里面的内容。
若要执行函数,则必须调用函数:
例:def hello():
print(‘hello’)
hello()
2.函数里嵌套函数:
def fentiao():
print(“is femtiao…”)
def westos():
print(“westos”)
westos()
fentiao()
二:
1.定义函数时的变量,叫做”形参”,形参可以任意起名。
真实的数据信息,调用函数时传的参数叫做实参。
例:def welcome(name):#name为形参
print(“hello”+name)
welcome(“fentiao”)#”fentiao”为实参
例题:编写一个函数,它有一个名为number的参数,如果参数时偶数,那么函数打印出number//2,如果是奇数,打印number*3+1
解:def collate(number):
print(number//2 if number%2==0 else 3*number+1)
collate(2)
2.函数动态添加成员
def fun():
print(fun.x)
fun.x=3
fun()
动态删除
def fun.x
fun()
3.形式参数的类型:
* 位置参数:(又称必须参数) 形参和实参的个数必须保持一致。
例:def info(name,age): #按照位置传参数
print(name,age)
info(“westos”,18) 输出:westos 18
info(age=18,name=”fentiao”) 输出:18 fentiao
* 默认参数:形参和实参个数可以不一样。
例:def po(x,y=2):
print(x**y)
po(4) 输出:16 # x=4,默认y=2
po(4,3) 输出:64 #x=4,y=3覆盖y=2
* 可变参数:可以传递任意个实参
例:def Sum(*args) #*args是可变参数,args接受的是一个tuple(args可以任意命名)
sum=0
for i in args:
sum+=i
print(sum)
Sum(1,2,3,4,5)
* 关键字参数:
例:def stuinfo(name,age,**kwargs): #kwarges接收的是一个字典
print(name,age)
print(kwargs)
stuinfo(“westos”,19,hobbies=[“code”,’running’],gender=’female’)
4.返回值:return
return 用来返回函数的执行结果,如果没有返回,默认None(null,None)
一旦遇到return ,函数执行结束,后面的代码不执行。
5.变量的作用域:
局部变量:只能在函数内部使用的变量
全局变量:在整个程序中使用的变量
def A():
a=4
print(a) #a未定义
global关键字:强制将局部变量转换为全局变量
def A():
global a
a=4
print(a) #a=4

函数的高级特性:

1.迭代:
可以通过 for 循环来遍历这个 list 或 tuple,这种遍历称为迭代(Iteration)
只要是可迭代对象,无论有无下标,都可以迭代,比如 dict就可以迭代
判断是否可迭代 用 collections 模块的 Iterable 类型判断
例:isinstance([1,2,3],Iterable) #True
2.列表生成式:
例:找出(1,8)间的偶数,并取平方输出;
普通写法:
for i in range(1,8):
if i % 2 == 0:
print(i**2)
else:
continue
列表生成式:print([i**2 for i in (1,8) if i%2==0])

猜你喜欢

转载自blog.csdn.net/wx_xu0924/article/details/81707157
今日推荐