函数概念 无返回值,无参数传递的函数 带参数的函数 带参数和单个返回值的函数 带参数和多个返回值的函数 局部变量只作用于函数内,不同函数可以定义相同的变量名,彼此无关 全局变量 无*的参数,外面传入什么就是什么,但是只能是单个 单个 * 的参数会以元组的形式传入,可以是多个 声明函数时,参数中星号 * 可以单独出现,单独出现星号 * 后的参数必须用关键字传入。 两个星号 ** 的参数会以字典的形式传入,可以是多个1. 函数的概念
2. 定义函数
# 函数定义 def printinfo(): print('-'*20) print('人生苦短,我用Python') print('-'*20) # 函数调用 printinfo() -------------------- 人生苦短,我用Python -------------------- # 定义带参数的函数 def add_2_num(a,b): # 这儿定义两个参数 c = a + b print(c) # 调用 add_2_num(1,2) # 根据定义的参数的个数和顺序保持一致,进行正确的传递 3 # 定义带参数的函数 def add_2_num(a,b): return a + b # 通过return返回运算结果,可以是表达式,或者是具体的参数 # 调用函数,并用变量来接收它 result = add_2_num(1,2) result 3 # 定义带参数的函数 def yushu_shang(a,b): shang = a // b yushu = a % b return shang,yushu # 多个返回值,用','隔开 # 返回多少值,则用多个变量来保存返回值 s,y = yushu_shang(5,2) print('商:{},余数:{}'.format(s,y)) 商:2,余数:1 2.1 函数练习
# 1. def xian(): print("-"*40) xian() ---------------------------------------- # 2. def num_xian(num): for i in range(num): xian() num_xian(3) ---------------------------------------- ---------------------------------------- ---------------------------------------- # 3. def sum_num(a,b,c): return a + b + c sum_ = sum_num(1,2,3) sum_ 6 def mean_num(a,b,c): mean = sum_num(a,b,c) / 3.0 return mean m = mean_num(1,2,3) m 2.0 3. 局部变量与全局变量
def test1(): a = 300 # 局部变量 print('test1----修改前:a = ',a) a = 100 print('test1----修改后:a = ',a) test1() test----修改前:a = 300 test----修改后:a = 100 def test1(): a = 300 # 局部变量 print('test1----修改前:a = ',a) a = 100 print('test1----修改后:a = ',a) def test2(): a = 300 # 局部变量 print('test2----:a = ',a) test1() test2() test1----修改前:a = 300 test1----修改后:a = 100 test2----:a = 300 a = 100 # 全局变量 def test1(): print('test1----:a = ',a) # 若没有局部变量,则默认调用全局变量 def test2(): print('test2----:a = ',a) test1() test2() test1----:a = 100 test2----:a = 100 # 局部变量优先使用,没有局部变量,则默认调用全局变量 a = 100 def test1(): a = 300 # 局部变量 print('test1----修改前:a = ',a) a = 100 print('test1----修改后:a = ',a) def test2(): print('test2----:a = ',a) test1() test2() test1----修改前:a = 300 test1----修改后:a = 100 test2----:a = 100 # 在函数中修改全局变量 a = 100 def test1(): global a # global是声明全局变量的标识符 print('test1----修改前:a = ',a) a = 300 print('test1----修改后:a = ',a) def test2(): print('test2----:a = ',a) test1() test2() test1----修改前:a = 100 test1----修改后:a = 300 test2----:a = 300 4. 不定长参数
def test(a,b): print(a,b) test((1,2),{'a':2,'b':3}) (1, 2) {'a': 2, 'b': 3} def test(a,b): print(a,b) test(1,2,3) --------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-47-2f2c173e1e56> in <module>() 1 def test(a,b): 2 print(a,b) ----> 3 test(1,2,3) TypeError: test() takes 2 positional arguments but 3 were given def test(a,*b): print(a,b) test(1,2,3) 1 (2, 3) # * 位于第一参数位置时报错 def test(*a,b): print(a,b) test(1,2,3) --------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-55-04948f903a07> in <module>() 2 def test(*a,b): 3 print(a,b) ----> 4 test(1,2,3) TypeError: test() missing 1 required keyword-only argument: 'b' def test(a,*,b): print(a,b) test(1,b=2) 1 2 def test(*,a,b): print(a,b) test(a=1,b=2) 1 2 def test(a,**b): print(a,b) test(1,b=2,c=3) 1 {'b': 2, 'c': 3} 5. 匿名函数lambda
sum = lambda a,b:a + b sum(2,3) 5 sum = lambda a=1,b=2:a+b print(sum(),'t',sum(2,3)) 3 5 学习参考
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算
官方软件产品操作指南 (170)