Py学习记录
Python 常规学习
Python学习笔记(一)
Python学习笔记(二)
Python学习笔记(三)
Python学习笔记(四)
Python学习笔记(五)
Python学习笔记(六)
Python学习笔记(七)
Python习题(一)
Python习题(二)
Python习题(三)
Python习题(四)
Python习题(五)
Python常见Bug
Python编程环境
Python-依赖安装(三方库)
Python-VS Code
pip-换源
py 程序转 exe
Python-打开选择文件对话框
Python 项目
Python-密码学
Python-与佛伦禅
Python-喵语翻译
Python-翻译服务器
Python-邮件发送
Python-自动签到
Python-自动签到(Post请求)
Python-自动签到(模拟操作)
Python-图片添加二维码
Python-数据可视化
Python-端口扫描器
Python-未测试项目
Python-虚拟环境
Python-临时环境
Python-venv虚拟环境
Python-Conda
Python-OpenCV
OpenCV-人脸识别
Python-PyTorch
本文档使用 MrDoc 发布
-
+
首页
Python学习笔记(三)
## 函数 函数就如同一个包裹,每个包裹都有一个功能,无论你在哪儿,只要你需要包裹,就把它拿过去用;你需要什么样功能的包裹,就用什么样的包裹;你需要使用多少次包裹,就使用多少次。  常见的print()这些直接使用的函数也叫做内部函数,Python已经内部定义好了,我们直接调用即可 ### 自定义函数   常见函数主要有三部分组合,函数参数(可带有输入值),函数执行过程,函数返回(可选) * 第一行:def的全称是define, 译为定义;fun是函数名字,自己起的;(x)这里是函数的参数,参数名字也是自己起;不要忘了最后的冒号: * 第二行:def下一行缩进的内容叫做函数体,这是函数要实现的功能。即根据x的值,计算6*x+9,将结果赋值给y。 * 第三行:return 语句是返回的意思,`可以指定`函数执行完毕后最终会得到什么样的结果,否则计算机是无法判断出函数最终要输出什么结果的,不需要返回值可以不写。 ```Python #函数名:1.名字能体现函数的功能,一般用小写英文字母和数字、英文下划线组合使用 #2.不能与Python内置函数重名 def function(x): #函数参数: 1.根据函数功能,括号内可以有多个参数,也可以没有参数 #2.参数的命名规则与函数名命名规则一样 #3.括号是英文括号,后面是英文冒号 y = 6*x + 9 #函数体:函数执行过程,完成函数功能,要缩进哦 return y #return返回值:需要返回什么数据,就写什么数据,如果不需要,可以不写 ``` ### 调用函数  math(10)就是调用函数,math为定义函数的名字(定义与调用时名字一致);传递参数,10对应函数参数x, 在调用函数时,将10传递给x; 在函数体中,y = 30 +11*10, 得出y的结果为140; 那么,res就用来接收y的值,即res=140。所以,打印出来的结果就是140。 ```Python food = input("请问您想吃什么?请输入:") def cook(x): str = '您好,欢迎来到KFC餐厅,您的点餐为' + x return str res = cook(food) print(res) ```  ### 函数类型 `有些不需要返回值的,return可以省略` `可以带入多个` ```Python def menu(hamburger, drink, snacks): print('汉堡选择:' + hamburger) print('饮料选择:' + drink) print('小食选择:' + snacks + '\n') menu('香辣鸡腿堡','可乐','薯条') menu('老北京鸡肉卷','雪碧','鸡翅') menu('培根烤鸡腿堡','橙汁','蛋挞') ```   --- 带默认参数的函数 ```Python def menu(hamburger, drink, snacks='蛋挞'): print('汉堡选择:' + hamburger) print('饮料选择:' + drink) print('小食选择:' + snacks + '\n') menu('香辣鸡腿堡','可乐') menu('老北京鸡肉卷','雪碧') menu('培根烤鸡腿堡','橙汁') ```  `在带有默认参数的函数中,不传递该参数就会以默认参数进行执行` --- 默认参数执行 ```Python def menu(hamburger, drink, snacks='蛋挞'): print('汉堡选择:' + hamburger) print('饮料选择:' + drink) print('小食选择:' + snacks + '\n') menu('香辣鸡腿堡','可乐') menu('老北京鸡肉卷','雪碧') menu('培根烤鸡腿堡','橙汁','薯条') ```  `如果传递了参数,那么会代替默认参数进行执行` --- 不定长参数 ```Python def menu(*food): return food order1 = menu('香辣鸡腿堡','可乐') order2 = menu('卤肉饭','老北京鸡肉卷','雪碧','可乐') order3 = menu('烤串','火锅','培根烤鸡腿堡','橙汁','薯条','甜筒') print(order1) print(order2) print(order3) print(type(order1)) print(type(order2)) print(type(order3)) ```  `这里使用一个星号*加上参数名就接收到了所有参数,无论参数写几个,都能接收到。而返回值就是参数名` ```Python def menu(*food): for i in food: print('点餐内容:'+i) menu('香辣鸡腿堡','可乐') menu('卤肉饭','老北京鸡肉卷','雪碧','可乐') menu('烤串','火锅','培根烤鸡腿堡','橙汁','薯条','甜筒') ```  `使用for循环,将元组中的内容遍历出来。一一显示。` ### 多返回值 ``` import random foodten = ['蛋挞','鸡翅','薯条'] def order(money): if money > 99: a = random.choice(foodten) return a,'冰激淋' elif 69 < money < 99: b = random.choice (foodten) return b else: return '不好意思,您的消费达不到优惠活动' print(order(50)) print(order(70)) print(order(130)) ```   `3条return语句,每条语句返回的内容都不一样,返回的数量也不一样。这就是返回多个值的用法` ### 多函数协作 #### global——全局变量 * 全局作用域:在所有函数之外赋值的变量,可以在程序任意位置使用(全局作用域),这就是全局变量。 * 局部作用域:在某个函数内部赋值的变量,只能在当前函数内使用(局部作用域),出了这个函数,它就不起作用了,这就是局部变量。 ``` trump = '所有餐厅都要卖【兰州拉面】' def KFC(): global harland harland = '所有KFC餐厅卖烤串' print('KFC餐厅:%s'%trump) print('KFC餐厅:%s'%harland) def McDonald(): print('麦当劳餐厅:%s'%trump) print('麦当劳餐厅:%s'%harland) KFC() McDonald() ```  `global修饰,在定义变量时变量名加上global则这个变量会为全局变量,在程序中任何地方都可以调用` #### 函数嵌套 ``` def hello(): print('欢迎光临KFC') print('很高兴为您服务') def order(): print('这里是下单中心') hello() print('请您点餐') print('以上菜单的菜品都有') order() ```  定义了两个函数,函数hello()与函数order(),在函数order()中调用了函数hello(),这样函数hello()中的代码会在函数order()中运行。 `这就是函数的嵌套,在一个函数中调用其他函数。`
造物者W
2022年1月11日 12:17
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码