一、python中函数的定义
1、函数的定义:函数是逻辑结构化和过程化的一种编程方法
2、函数的定义方法:
下面,简单举一个例子:
#定义最大值函数 def:定义函数的关键字 max_num:函数名
def max_num(x:int,y:int)->int: #此处的x、y为形参
#调用函数函数名(形参),调用函数时的参数,实参。一般实参要和形参一一对应
#形参是形式参数,可以任意更改
max = x if x > y else y
return max
#print(help(max_num))
#创建一个空函数
def login(username,password):
pass
二、调用函数
result = max_num(10, 20)
print("函数的返回值:", result)
三、全局变量
python在使用全局变量时需要在函数内部先对变量加一个global
s = 0
def test():
global s
s +=2
print(s)
if __name__ == "__main__":
test()
四、函数参数传递
Python 函数中定义参数的类型的顺序必须是:必填参数、默认参数、可变参数、关键字参数
形参: 定义函数时的参数, 可以任意命名的
实参: 调用函数时的参数
形参:
必选参数: 必须要传递的参数
默认参数: 可以传递也可以不传递的值,如果不传递使用默认值
可变参数: 可以接受1个,2个....任意值得参数, *args, args存储的数据类型是元组
关键字参数:传入多个key-value, **kwargs接收,用字典存储的
1. 必选参数
def max_num(x, y): # x,y是形参
return x if x > y else y
result = max_num(10, 20) # 10, 20是实参
print(result)
2. 默认参数:
def square(x, y=2): # 接收2个参数,x和y, 如果只传递一个值,那么y使用默认值。
return x ** y
result = square(10, 3)
print(result)
3. 可变参数*args, args存储的数据类型是元组
def sum_num(*args):
“”“求传入的所有值的和, 有可能是2,3,4,5.。。100个数值”""
# print(“args:”, args)
return sum(args)
result1 = sum_num(1, 2, 3)
result2 = sum_num(1, 2, 3, 4, 5)
print(result1, result2)
**4. 关键字参数: 传入多个key-value, kwargs接收,用字典存储的
def info(name, country=‘china’, **kwargs):
“”“录入学生信息, 姓名必须填, 国家默认是中国, 其他得特点/特长/爱好可以自行填写”""
print(name)
print(country)
print(kwargs)info(name=“westos”, CET6=True, RHCE=True, hobbies=[‘coding’, ‘Linux’,‘Python’])
五、测试题
冒泡排序
插入排序
def insert_sort(list):
"""插入排序"""
n = len(list)
for i in range(1, n): # 未排序序列从第二个元素开始遍历
for j in range(i, 0, -1): # 已排序序列从后往前遍历
if list[j] < list[j - 1]: # 如果当前元素小于前一个元素, 则交换元素位置
list[j], list[j - 1] = list[j - 1], list[j]
else: # 如果大于前一个元素, 则保持位置不变
break
if __name__ == '__main__':
list1 = [23,3,4,2,5,44,54,23,11]
print("排序前:%s" % list1)
insert_sort(list1)
print("排序后:%s" % list1)