python函数
2022/2/4 12:14:47
本文主要是介绍python函数,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
文章目录
- 一、函数的定义
- 二、4种函数的参数形式
- 三、函数返回值
- 四、函数的作用域,全局/局部变量
- 五、函数的嵌套
- 六、函数的递归
一、函数的定义
# 创建高楼 def create_building(): # 创建房间 create_room() # 创建电梯 create_stair() def create_room(): print('开始创建房间') print('正在创建房间') print('创建房间完成') def create_stair(): print('开始创建电梯') print('正在创建电梯') print('创建电梯完成') create_building()
开始创建房间 正在创建房间 创建房间完成 开始创建电梯 正在创建电梯 创建电梯完成
二、4种函数的参数形式
# 1. 普通参数 def say_hi(name): print(f'hello,{name}') print('欢迎来到大熊课堂') say_hi('JackMa') def create_window(width,height): print(f'窗口的宽是{width};高是{height}') create_window(2,1) # 2. 默认参数 def total(hour, salary=8): print(f'今天的薪水是{hour * salary}元') total(8) # 用默认值,不会报错 total(8, 10) # 3. 关键字参数 解决函数传参顺序问题 def student(firstname, lastname): print(f'firstname is {firstname};lastname is {lastname}') student('andy', 'Feng') student(lastname='Feng', firstname='andy') # 4. 不定长参数 *args元组 **kwargs字典 def my_function(width, height, *args, **kwargs): print(width) print(height) print(args) print(kwargs) my_function(2.3, 4.5, 'hello', 'welcome', 'to', 'daxiong', 'thankyou', lastname='Feng', firstname='andy')
hello,JackMa 欢迎来到大熊课堂 窗口的宽是2;高是1 今天的薪水是64元 今天的薪水是80元 firstname is andy;lastname is Feng firstname is andy;lastname is Feng 2.3 4.5 ('hello', 'welcome', 'to', 'daxiong', 'thankyou') {'lastname': 'Feng', 'firstname': 'andy'}
三、函数返回值
# 例1:求圆的面积 pi = 3.14 def area(r): return pi * (r ** 2) print(area(2)) # 例2:将分钟转化为“时-分” 100分钟=1小时40分 1小时=60分钟 100/60 def transform_minute(minute): hours = minute // 60 minutes = minute % 60 print(f'{minute}分钟可以转化为{hours}小时{minutes}分钟') return hours, minutes hours, minutes = transform_minute(200) print(f"hours is {hours}") print(f'200分钟可以转化为{hours}小时{minutes}分钟') print(transform_minute(200))
12.56 200分钟可以转化为3小时20分钟 hours is 3 200分钟可以转化为3小时20分钟 200分钟可以转化为3小时20分钟 (3, 20)
四、函数的作用域,全局/局部变量
# 全局变量 a = 1 # 不可变类型 想在函数内修改需要在前面加global l = [1, 2, 3] # 可变类型 不用global类型就可以在函数内修改 def test1(): # a = 100 # 局部变量 global a a += 1 # 修改全局变量 l.append(4) print(l) def test2(): # a = 300 # 局部变量 print(a) test2() test1() print(a)
1 [1, 2, 3, 4] 2
五、函数的嵌套
def test1(): a = 10 print('test1开始执行') print(f'test1内部变量a的值是{a}') def test2(): # 内部函数修改外部函数的值,需要加nonlocal函数 # 函数内部修改不可变全局变量,需要加global函数 nonlocal a a = 100 print('test2开始执行') print(f'test2内部变量a的值是{a}') test2() print(f'test1内部变量a的值是{a}') test1() # test2() # 不能调用,只能在内部
test1开始执行 test1内部变量a的值是10 test2开始执行 test2内部变量a的值是100 test1内部变量a的值是100
六、函数的递归
大部分递归都可以用循环来代替
例子:算阶乘
def fact(n): if n == 1: return 1 result = n * fact(n-1) return result # 不能用太多递归次数,因为python用栈来存函数变量,如果函数太多,会导致栈溢出 result = fact(3) print(result)
这篇关于python函数的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-28Python编程基础教程
- 2024-12-27Python编程入门指南
- 2024-12-27Python编程基础
- 2024-12-27Python编程基础教程
- 2024-12-27Python编程基础指南
- 2024-12-24Python编程入门指南
- 2024-12-24Python编程基础入门
- 2024-12-24Python编程基础:变量与数据类型
- 2024-12-23使用python部署一个usdt合约,部署自己的usdt稳定币
- 2024-12-20Python编程入门指南