python中函数(内置函数,函数参数的传递,函数参数的类型,变量的作用域)

常用的内置函数

# 常用的内置函数:max,min, sum, divmod
# 函数必须用输入和输出
mxa_num = max(1, 2, 3)
print(mxa_num)

1.如何创建函数?

# 1.如何创建函数?定义函数,函数内容并不会执行
# 函数的输入 专业叫: 参数   , 函数的输出 专业叫:返回值
# 重点:
#     - 形参: 形式参数,并不是真实的值(定义函数时的参数)
#     - 实参: 实际参数,是真是的值(调用函数时的参数)


def get_max(num1, num2):
    result = num1 if num1 > num2  else num2
    return result
# 2. 如何调用函数?
max_num = get_max(30, 80)
print(max_num)

在这里插入图片描述

函数出现提高写代码的效率

函数核心的三个点:

输入
输出
如何实现

空函数

函数值(形参值)
1.降低编程的难度
2.代码的复用

变量的作用域

1.全局变量:

全局生效的变量。函数外面的变量

def login():
   	print(name)
name = 'admin'
login()

在这里插入图片描述

name的赋值出现在函数外,因此为全局变量

2.局部变量:

局部生效的变量。函数内部的变量

def logout():
    age = 19
logout()
print(age)

由于age是在函数内部定义的,故为局部变量。此时在打印age时会出现报错。
在这里插入图片描述

3.函数内部修改全局变量
# 1) money是局部变量还是全局变量? 全局变量
# 2)如果在函数中修改全局变量,不能直接修改,需要用global关键字声明修改的变量是全局变量。
def hello():
    global money
    money += 1
    users.append('user1')

    print(money, users)
money = 100 # 不可变的数据类型
users = [] #可变的数据类型
hello()

在这里插入图片描述
注:可变的数据类型不用声明

函数参数的传递

实参和形参

实参:函数调用时的参数
形参:函数定义时的参数

参数的检查和函数帮助的编写

函数的帮助

这种方式定义函数时,用户在输入数据时,会提醒输入数据的类型

def  get_max(num1:int , num2:int )->int:

函数在不明白其用法的时候,可以通过查看帮助,三引号引起来的部分就为帮助的内容(出现在函数内部)

    """
            求两数的最大值
            :param num1: 整型数1
            :param num2: 整型数2
     """
效果展示
# 2. 参数检查
def  get_max(num1:int , num2:int )->int:
   """
           求两数的最大值
           :param num1: 整型数1
           :param num2: 整型数2
    """
   return num1 if num1 > num2 else num2
result = get_max(1,2)
print(result)
print(help(get_max))

在这里插入图片描述

参数检查:isinstanc
# 2. 参数检查:isinstance(var, int)判断变量是否为整型int
def  get_max(num1:int , num2:int )->int:
    """
            求两数的最大值
            :param num1: 整型数1
            :param num2: 整型数2
     """
    if isinstance(num1, int) and isinstance(num2, int):
        return num1 if num1 > num2 else num2
    else:
            return  0

result = get_max(2.1 ,2)
print(result)

在这里插入图片描述
num1的数据类型为float,此时的返回值为0

函数参数的类型

1. 必选参数:

必须要传递的参数

# 1. 必选参数:必须要传递的参数
def  get_max(num1:int , num2:int )->int:
    return num1 if num1 > num2 else num2
result = get_max(3 ,2)
print(result)

在这里插入图片描述

2.默认参数:

可传可不传的参数

#2.默认参数:可传可不传的参数

def pow(x, y=3):
    return x**y
result = pow(3)
print(result)
result = pow(2, 4)
print(result)

在这里插入图片描述

3.可变参数:

参数的个数会变化,可以传0, 1, 2, 3, … n

# 3.可变参数: 参数的个数会变化,可以传0, 1, 2, 3, ...... n
# args 是元组
# args=arguments参数
def my_sum(*args):
    return sum(args)
result =my_sum(4, 5, 6)
print(result)

在这里插入图片描述

4.关键字参数:

字典的形式进行存储

def enroll(name, age=18, **kwargs):
    print(f"""
        入学信息
    1.姓名:{name}
    2.年龄:{age}
    3.其他:{kwargs}
    """
    )

enroll('张三', country='china', english='GRE', sports=['篮球', '羽毛球'])

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不愿相思白了头

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值