return语句
作用:表示一个函数执行完毕之后得到的结果返回给调用者
return后面没有什么的语句返回None
格式:
def 函数名():
函数体
return 表达式或值或多个值或没有什么
#案例:定义一个函数,这个函数返回多个值
def test02():
mylist=[1,2,3]
mys=('a','b','c')
print("test02")
return mylist,mys
作用域
1.全局变量的作用域是正个文件(从定义开始到文件尾部),循环里定义的变量也是全局变量
2.局部变量的作用域是在函数内
3.当全局变量和局部变量同名时,要在函数内使用全局变量,那么加上global
函数-Lambda(朗达)(重点)
lambda可以创建小型匿名函数
lambda函数能接收任何数量的参数但只能返回一个表达式的值
格式:
lambda 参数:函数体
注意:
lambda定义的是单行函数,如果需要复杂的函数,应该定义普通函数
lambda参数列表可以包含多个参数,如 lambda x, y: x + y
lambda中的表达式不能含有命令,而且只限一条表达式
作用:
对于单行函数,使用lambda可以省去定义函数的过程,让代码更加精简。
在非多次调用的函数的情况下,lambda表达式即用既得,提高性能
可以做为函数的参数使用
#案例:定义一个加法的lambda函数,然后调用使用
a=lambda x,y:x+y
print(a(10,20))
#案例:编写一个lambda函数,对x和y进行幂运算,并调用此函数
add=lambda x,y:x**y
print(add(2,3))
函数-文档字符串
函数的文档字符串是用来说明函数的功能
如:
def add(a,b):
'''这个函数是用来返回2个数相加的结果'''
return a+b
print(add.__doc__)
help(add)
都可以查看
两个下划线doc两个下划线
注意:函数的文档字符串必须写在第一行开始
#案例:写一个有文档字符串的函数,该函数有加减乘除的功能,并说明传入参数的方式
def test(a,b,op):
'''这是一个有加减乘除的功能函数
第一个参数传递数值
第二个参数传递数值
第三个参数传递运算符号
'''
if op=='+':
return a+b
elif op=='-':
return a-b
elif op=='*':
return a*b
elif op=='/':
return a/b
else:
print("输入的运算符有误")
print(test(10,20,"+"))
print(test.__doc__)
模块导入
import 与 from...import
在 python 用 import 或者 from...import 来导入相应的模块
将整个模块(somemodule)导入,格式为: import 模块名
从某个模块中导入某个函数,格式为: from 模块名 import 函数名
从某个模块中导入多个函数,格式为: from 模块名 import 函数名1, 函数名2, 函数名3
将某个模块中的全部函数导入,格式为: from 模块名 import *
模块中不只函数,还有全局变量,类等
注意:每个python文件都可以看成一个模块,模块的名字就是文件名
注意:如果模块文件和编写文件不在同一等级目录下,那么导入时要添加模块所在的目录名,需要注意
目录名不要和内置的目录名重名
1.引入内置模块
#案例:使用导入的模块中的函数,随机生成一批0-10之间的数据赋值给一个列表
import random
mylist=[]
for i in range(10):
a=random.randint(0,10)
mylist.append(a)
print(mylist)
2.引入自定义模块
#案例:自定义一个模块,该模块中有生成随机数的功能
import AA.Myrandom(先定义好一个模块,使用导入的方式引入)
for i in range(10):
print(AA.Myrandom.Myrand(1,10))