python中的函数创建与调用

一、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)

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值