Python3-基础- 函数
函数 -- 独立的代码块、具有特定的功能
1 内置函数
# 查看所有的内置函数 import builtins print(dir(builtins))
2 常用函数
# 1 input() 以str形式从键盘接收内容 a = input('请输入:') print(type(a)) print(a)# 2 abs() 返回绝对值 print(abs(17)) print(abs(-17))# 3 sum() 求和 print(sum([1, 2, 3]))# 4 min()最小值 max()最大值 print(min([3, 1, 7])) print(max([3, 1, 7]))# 5 zip() 拉链函数 函数将可迭代对象作为参数,将里面对应的元素打包成一个个元组 # 元素个数不一致,按照长度最短的返回 a = [1, 2, 3] b = ['a', 'b', 'c'] print(zip(a, b)) # <zip object at 0x000001624C495788> print(list(zip(a, b))) # 转换成列表打印 # [(1, 'a'), (2, 'b'), (3, 'c')]# 6 map(函数, 对象) 映射函数 将可迭代对象中每一个元素来进行映射,分别执行函数 li = [1, 2, 3] def funa(x):return x * 3 mp = map(funa, li) # 每个元素分别执行funa函数 print(mp) print(list(mp)) # [3, 6, 9] # 得到一个新的list# 7 enumerate()函数 一般用于for循环中 li = [[1, 2], [3, 4], [5, 6]] # 嵌套列表 for i in li:print('列表中的值:', i) for n, i in enumerate(li): # n是下标 i是列表遍历出的值print(f'这是下标值n:{n},这是i值的第一个元素:{i[0]},这是i值的第二个元素:{i[1]} ')# 8 reduce(函数, 对象): 先把对象中的前两个元素取出,计算出一个值然后保存着, 接下来把这个值跟第三个元素进行计算 # 函数: 必须接收两个参数 # 对象: 可迭代对象 li2 = range(101) from functools import reduce def add(x, y):return x + y res = reduce(add, li2) print(res) print(reduce(lambda a, b: a * b, [3, 6, 4]))# 9 递归函数 一个函数在内部不调用其他的函数,而是调用它本身 # 1.必须有一个明确的结束条件 # 2.每进行更深一层的递归时,问题规模相比上次递归都要有所减少 # 3 相邻两次重复之间有紧密的联系 # 递归函数 # python中的递归深度是有限制, 默认为1000 # break是在循环中使用# 举例: # 斐波那契数列 这个数列从第三项开始, 每一项都等于前两项之和 def fib(n): # n代表第几个数if n <= 1:return nreturn fib(n-1) + fib(n-2) print(fib(6)) for i in range(1, 11):print(fib(i))
3 自定义函数
# 语法 # def 函数名(): # 函数体# 调用函数: 函数名()# return # 1.遇到return,return下面的代码不会执行 # 2.return返回值: # 1 如果return后面什么都不写,返回的结果是None # 2 如果有一个值,把值返回给调用者 # 3 如果有多个值,返回一个元组def test():n = 10return n, 'jiuge', '198' print(test()) # (10, 'jiuge', '198')def test2():return 123# print(456) print(test2()) # 123
4 函数参数--形参和实参
函数传参 :就是函数将实参交给形参的过程
形参:写在定义函数的位置,这个变量叫形参
实参:写在函数调用的位置,这个值叫实参
def add(a, b): # a和b是形参return a+b # a=5, b=6print(add(5, 6)) # 5和6是实参
默认参数:设置默认值,当没有传值会根据默认值执行代码; 传了值就根据传入的值来执行代码
def test2(a=10):print(a) test2(200) test2()
可变参数:传入的值的数量是可以改变, 可以传入多个,也可以不传
*args:前面的*是有特殊意义的; args是一个普通的形参, 规定使用args,约定俗成;以- 元组-的形式接收
**kwargs:前面的**是有特殊意义的; kwargs是一个普通的形参, 规定使用kwargs,以-字典-的形式接收
def test(*args):print(args) #('pyy', '123', 'hello')print(type(args)) # <class 'tuple'>test('pyy','123', 'hello')def test(**kwargs):print(kwargs) #{'name': 'pyy', 'age': '18'}print(type(kwargs)) # <class 'dict'> test(name = 'pyy', age = '18')
5 函数嵌套
嵌套调用: 在函数A里面调用函数B
嵌套定义:在一个函数中定义另外一个函数
def eat():print('吃饱了') def sleep():eat() # 函数里调用eat()print('睡觉') sleep() def play():print('玩完了')def Home(): # 函数里定义Home()print('回家')Home() play()
6 匿名函数
# 语法: # 函数名 = lambda 形参: 返回值(表达式) res = lambda a, b: a * b # a,b就是匿名函数的参数, a+b是返回值的表达式 print(res(5, 6)) # lambda 不需要写return来返回值,表达式本身结果就是返回值# 为真结果 if 条件 else 为假结果 # if else左真右假 n1 = 5 n2 = 8 print(n1) if n1 < n2 else print(n2) we = lambda x, y: 'True' if x > y else 'False' print(we(1, 2))
7 拆包
tu = (1, 2, 3, 4) a, b, c, d = tu print(a, b, c, d) # 1 2 3 4a, *b = tu print(a) # 1 取到开头的值 print(b) # [2, 3, 4]*c, d = tu print(c) # [1, 2, 3] print(d) # 4 取到结尾的值
以上是作者学习总结,分享所学,共同进步。如若哪处有误,感谢指出!
Python3-基础- 函数相关推荐
- Python3 基础学习笔记 C07【函数】
CSDN 课程推荐:<8小时Python零基础轻松入门>,讲师齐伟,苏州研途教育科技有限公司CTO,苏州大学应用统计专业硕士生指导委员会委员:已出版<跟老齐学Python:轻松入门& ...
- 一文搞懂python3基础大全(变量,标准数据类型,标识符,行与缩进,运算符和表达式,条件语句if,循环语句,函数,文件,面向对象,错误和异常,模块)
2.Python3基础 2.1.变量 Python 中的变量不需要声明.每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建.变量没有类型,"类型"是变量所指的内存中对象的类型 ...
- 01月26日【Python3 基础知识】
01月26日[Python3 基础知识] 5.1 九宫格 5.2 函数入门 5.3 判断某天为某年的第几天 5.1 九宫格 import random x = 0 l = [1,2,3,4,5,6,7 ...
- Python3 基础语法(笔记2)
写在这里的初衷,一是备忘,二是希望得到高人指点,三是希望能遇到志同道合的朋友. 巩固Python,记录关键知识,便于温故知新! 目录 import 与 from...import import 与 f ...
- python计算1到100的和-Python3基础 sum,range 计算1到100的和
镇场诗: ---大梦谁觉,水月中建博客.百千磨难,才知世事无常. ---今持佛语,技术无量愿学.愿尽所学,铸一良心博客. --------------------------------------- ...
- Python基础--Python3基础语法
Python3 基础语法 编码 默认情况下,Python3源码文件以UTF-8编码,所有字符串都是Unicode字符串.当然也可以为源码文件指定不同的编码,例如: # -*- coding: cp-1 ...
- Python3 基础学习笔记 C09【文件和异常】
CSDN 课程推荐:<8小时Python零基础轻松入门>,讲师齐伟,苏州研途教育科技有限公司CTO,苏州大学应用统计专业硕士生指导委员会委员:已出版<跟老齐学Python:轻松入门& ...
- Python3 基础学习笔记 C08 【类】
CSDN 课程推荐:<8小时Python零基础轻松入门>,讲师齐伟,苏州研途教育科技有限公司CTO,苏州大学应用统计专业硕士生指导委员会委员:已出版<跟老齐学Python:轻松入门& ...
- Python3 基础学习笔记 C06【用户输入和 while 循环】
CSDN 课程推荐:<8小时Python零基础轻松入门>,讲师齐伟,苏州研途教育科技有限公司CTO,苏州大学应用统计专业硕士生指导委员会委员:已出版<跟老齐学Python:轻松入门& ...
- Python3 基础学习笔记 C05【字典】
CSDN 课程推荐:<8小时Python零基础轻松入门>,讲师齐伟,苏州研途教育科技有限公司CTO,苏州大学应用统计专业硕士生指导委员会委员:已出版<跟老齐学Python:轻松入门& ...
最新文章
- NLP - Log-linear Models
- A Step By Step Guide to Tomcat Performance Monitoring【转】
- Python之 sklearn:sklearn中的RobustScaler 函数的简介及使用方法之详细攻略
- 为什么需要架构图,怎么画?
- DevExpress GridControl 后台设置列
- Java的主要特性有哪些?
- 「云+未来」上海峰会,报名开启
- 强化学习工具Horizon开源:Facebook曾用它优化在线视频和聊天软件
- python画柱状图-Python画柱状统计图操作示例【基于matplotlib库】
- python变量存为matlab,将matlab变量导出为python用法的文本
- 【集群仿真】基于matlab匈牙利算法无人机队形重构集群仿真【含Matlab源码 1498期】
- 利用hdparm工具配合crontab使硬盘不用时休眠
- Fish 环境下如何安装 nvm
- Thinkpad连续响4遍4个短嘀故障记录
- 小米与泰尔实验室联合发布《多模态技术白皮书》
- java类 家族成员 姓氏_中国史上十大家族,占据中国九大姓,看看有没有你的姓氏...
- IT计算机实习:JAVA实习报告范文(三)
- 计算机网络(2)——电路交换 报文交换 分组交换
- java将xlsx类型excel导出加水印(真实水印非表面加图片)
- Pt100铂电阻测温电路设计——