python函数部分

        1)全局变量和局部变量:在函数内部改变全局变量需要加关键字global

# 要在函数内部修改全局变量需要使用关键字 global
# a = 100
# def func1():
#     global a  # 声明a为全局变量
#     # 加上关键字 global 就可以改变全局变量
#     a = 200
#     print(a)
# func1()
#
# print(a)

        2)函数返回值:函数返回多个值是以元组的形式输出,如果本身是列表,字典,元组,集合则以对应的形式输出

# 函数返回多个值
def func1():
    return 1, 2
def func2():
    return [10, 20]
def func3():
    return {'name': 'tom'}
print(func1())  # 函数返回多个值以元组 列表 字典的形式返回
print(func2())
print(func3())

        3)参数定义:有四种参数类型

                        1)位置参数

                        2)关键字参数

                        3)缺省参数(默认参数)

                        4)不定长参数(可变参数)

# 位置参数  传递和定义参数的顺序必须一致

# 关键字参数  通过‘键=值’的形式加以指定 清除了参数顺序需求
# 注意:位置参数必须在关键字参数的前面,关键字之间不存在先后顺序
# def func1(name, age, gender):
#     print(f'你的姓名{name},你的年龄{age}, 你的性别{gender}')
#
# func1('tom', age=20, gender='男')
# func1('tom', gender='女', age=30)

# 缺省参数 也叫默认参数,为参数提供默认值,在传参时,可不提供该默认参数的值
# def func1(name, age, gender='男'):
#     print(f'你的姓名{name},你的年龄{age}, 你的性别{gender}')
# func1('df', 23)  # 可以不默认参数
# func1('dig', 20, '女')  # 传参可改变默认参数

# 不定长参数也叫可变参数  用于调用不确定参数个数的函数, 可用包裹(packing)位置参数或者包裹关键字参数,来进行参数传递
# 包裹位置参数
# def func1(*args):
#     print(args)
# func1('tom', 20)  # 传递的两个参数会被arge包裹,变成元组类型
# # 包裹关键字传递
# def func2(**kwargs):
#     print(kwargs)
# func2(name='tom', age=20, gender='男')  # 组合所传的参数,变成字典类型

        4)拆包和交换变量值:元组和字典的拆包

# 拆包:元组
# def return_num():
#     return 100, 200
# a, b = return_num()  # 这是一个拆包过程
# print(a)
# print(b)
# # 拆包:字典
# dict1 = {'name': 'tom', 'age': 20, 'gender': '男'}
# a, b, c = dict1  # 字典拆包 取出的是字典中的key值
# print(a, "\n", b, "\n", c)
# print(dict1[a])
# print(dict1[b])  # 这里取出的是value值
# print(dict1[c])

# 交换变量
a, b = 1, 2
a, b = b, a  # 直接交换
print(a, b)

        5)引用:id() 可以查看变量的地址

# 变量:可变和不可变  int,浮点型,字符串,元组类型为不可变类型,列表,字典,集合为可变数据类型

# id():检测两个变量的id
# a = 1
# b = a
# print(id(a))
# print(id(b))  # 地址会一样
# a = 2  # 当改变值时,地址也会发生变化
# print(id(a))
# print(id(b))
# 列表数据变与不变地址都不变
# 引用当作实参
def text1(a):
    print(a)
    print(id(a))
    a += a  # 改变数据后会改变地址,列表数据改变,地址不变
    print(a)
    print(id(a))
b = 100
text1(b)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

爱笑的蛐蛐

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

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

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

打赏作者

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

抵扣说明:

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

余额充值