大家好,给大家分享一下python函数基础温度转换程序怎么写,很多人还不知道这一点。下面详细解释一下。现在让我们来看看!
目录
一、函数基础
01、函数的定义
def 函数名():
函数体[一系列的python语句,表示独立的功能]
02、函数的调用
本质上就是去执行函数定义里面的代码块,在调用函数之前,必须先定义
03、函数说明文档
函数内容的第一行可以用字符串进行函数说明
二、函数参数
01、缺省参数
缺省参数,在调用函数时如果没有传参数, 那么会使用定义函数时给的缺省值。 缺省参数必须在参数列表的最后面,否则会报错python编程好学吗。
02、不定长参数
一个函数有时候会处理比当初声明的参数要多,这就是不定长参数,定义函数时不用声明参数名。
加了星号(*)的变量args会存放所有未命名的变量参数,args为元组;
而加**的变量kwargs会存放命名参数,即形如key=value的参数, kwargs为字典。
03、引用传参
Python中函数参数是引用传递(注意不是值传递)。对于不可变类型,因变量不能修改,所以运算不会影响到变量自身;而对于可变类型来说,函数体中的运算有可能会更改传入的参数变量。
三、匿名函数
01、定义
python中使用lambda关键字创建匿名函数,所谓匿名即这个函数没有名字不用def关键字创建标准的函数。
02、用法
lambda 参数1,参数2,参数3: 执行代码语句
03、示例
#通过变量调用匿名函数
rs=lambda x,y:x+y
print(rs(1,3))
#-------直接调用----------
rs=(lambda x,y:x+y)(1,3)
print(rs)
四、递归函数
1、定义
如果一个函数在内部不调用其它的函数,而是调用本身的话,这个函数就是递归函数。递归函数必须有一个结束条件,否则递归无法结束会一直递归下去,只到到达最大递归深度报错。
2、示例
2.1、计算阶乘
def factorial(n):
#结束条件
if n==1:
return 1
#调用自身
else:
return n*factorial(n-1)
print(factorial(5))
2.2、文件查询
import os#引入文件操作模块
def findFile(file_Path):
listRs=os.listdir(file_Path)#该路径下所有文件夹
for fileItem in listRs:
full_path=os.path.join(file_Path,fileItem)#获取完整的文件路径
if os.path.isdir(full_path):#判断是否文件夹
findFile(full_path)#文件夹则再次递归
else:
print(fileItem)#否则输出文件路径
pass
pass
pass
findFile('D:\\Content')
五、内置函数
官方网址:内置函数官方网址。
01、常用数学运算函数
abs()
求绝对值函数
round()
四舍五入函数
pow()
求指数函数(对第三个参数%)
divmod()
求商和余数(返回一个元组,第一个数为商,第二个数为余数)
max()
求最大值(可以是任何类型数据)
min()
求最小值
sum()
求和(可对迭代对象)
eval()
执行字符串表达式
描述: eval() 函数用来执行一个字符串表达式,并返回表达式的值
语法: eval(expression[, globals[, locals]])
参数:
expression -- 表达式
globals -- 变量作用域,全局命名空间,如果被提供,则必须是一个字典对象
locals -- 变量作用域,局部命名空间,如果被提供,可以是任何映射对象
返回值: 返回表达式计算结果
执行一个函数:
02、类型转换函数
int()
转为整形
float()
转为浮点型
str()
转为字符串
ord()
字符转数字
ord() 函数是 chr() 函数(对于8位的ASCII字符串)或 unichr() 函数(对于Unicode对象)的配对函数,它以一个字符(长度为1的字符串)作为参数,返回对应的 ASCII 数值,或者 Unicode 数值。
chr()
数字转字符
chr() 用一个范围在 range(256)内的(就是0~255)整数作参数,返回一个对应的字符。
bool()
转为布尔型
bin()
转为二进制
hex()
转为十二进制
oct()
转为八进制
list()
元组转为列表
tuple()
列表转为元组(字典返回键)
dict()
创建字典
bytes()
转为字节数组
描述: bytes()方法返回一个新字节数组,这个数组里的元素是可变的,并且每个元素的值范围: 0 <= x < 256
语法: class bytearray([source[, encoding[, errors]]])
参数:
source 为整数,则返回一个长度为
source 的初始化数组;
source 为字符串,则按照指定的
encoding 将字符串转换为字节序列;
source 为可迭代类型,则元素必须为[0 ,255] 中的整数;
source 为与 buffer 接口一致的对象,则此对象也可以被用于初始化 bytes
如果没有输入任何参数,默认就是初始化数组为0个元素
返回值:返回新字节数组
03、序列操作函数
序列操作:str,tuple,list
all()
类似于逻辑运算符:and
函数用于判断给定的可迭代参数 iterable 中的所有元素是否都为 TRUE,如果是返回 True,否则返回 False元素除了是 0、空('')、FALSE 外都算 TRUE
any()
类似于逻辑运算符:or
函数用于判断给定的可迭代参数 iterable 是否全部为 False,则返回 False,如果有一个为 True,则返回 True
sorted()
对所有可迭代的对象进行排序操作 (默认升序排序(False),降序排序(True))
sort与sorted 区别
sort只应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作, list 的 sort 方法返回的是对已经存在的列表进行操作,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。
sort-对已存在列表进行操作
sorted-返回新的列表(不对原list进行排序,需一个变量接收)
reverse()
反向列表中元素
range()
可创建一个整数列表,一般用在 for 循环中
语法: range(start, stop[, step])
zip()
函数用于将可迭代的对象作为参数,将对象中对应的元素打包成元组,然后返回由这些元组组成的列表。(通过列表输出)
语法: zip([iterable, ...])
参数: iterabl -- 一个或多个迭代器;
返回值:返回元组列表
如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。
zip()图书信息存储实例:
def printBookInfo():
books=[]
print("每个项以空格分隔:")
#输入存储数据
bookId=input('请输入编号:')
bookName=input('请输入书名:')
bookPos=input('请输入位置:')
#以空格为分割条件,把字符串进行分割,得到的每个分割段作为列表的元素返回
IdList=bookId.split(' ')
NameList=bookName.split(' ')
PosList=bookPos.split(' ')
#zip打包处理
bookInfo=zip(IdList,NameList,PosList)
#遍历图书信息进行存储
for bookItem in bookInfo:
dictInfo={'编号':bookItem[0],'书名':bookItem[1],'位置':bookItem[2]}
books.append(dictInfo)
pass
#输出图书信息
for item in books:
print(item)
pass
pass
#调用函数
printBookInfo()
enumerate()
语法: enumerate(sequence, [start=0])
函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标。
对于字典,只对字典的键进行枚举。
04、集合(set)操作函数
add()
添加一个元素
clear()
清空集合元素
difference()
两个集合的差集,a中存在,b中不存在(生成新的集合,需新的集合接收)
a-b也可以得出差集
intersection()
两个集合的交集,a中存在,b中也存在的
a&b也可以得出交集
union()
并集包含a中的元素,也包含b中的元素
a|b也可以得出并集
pop()
随机移除某个元素并且返回那个参数,集合pop没有参数
discard()
移除指定元素
update()
更新集合