从零开始 - Python基础 (六)参数、拆包、引用

函数定义的参数总结

  1. 标准参数

  2. 缺省参数,一般经验而言缺省参数声明在最后

  3. 不定长参数(参数的个数不确定)

    不定长参数元祖

    不定长参数字典

    def fun(a, b, *args, **kwargs):
        print(a)
        print(b)
        print(args)
        print(kwargs)
     
    fun(1, 2, 3, 4, name = "hello", age = 20)
     
    #结果:
    1
    2
    (3, 4)
    {'name': 'hello', 'age': 20}
    

拆包

定义

拆开、分解

拆包作用

  1. 适用于容器类型

  2. 格式:

    my_tuple = ("张三", 20, "男")
    name, age, sex = my_tuple
    

组包

name = "zs"
age = 20
sex = "nan"
my_tuple = tuple()
my_tuple = name, age, sex

引用

定义

引用指的是在计算机中变量记录数据的一种方式

def foo():
print(from foo’)

foo()
func=foo #引用,赋值
print(foo)
print(func)
func()

总结

  1. 一个变量如果是进行了重新赋值,那么他的地址就会发生改变
  2. 如果一个变量拥有了一个内存地址的引用就可以为所欲为
  3. id()函数利用函数可以查看一个变量在内存中地址的标识(独立序号)

可变、不可变

可变

​ b=b+b是重新赋值

​ b+=b对原来的数据进行修改 效率高

  1. list
  2. dict
  3. set

不可变

无论是b=b+b 还是b+=b都属于重新赋值

  1. str
  2. tuple

全局global的使用

a = "hello world"
b = [1, 2, 3, 4, 5]


def text1():
    print(a)
    global b
    b = [2, 3, 4, 5, 6]
    print(b)


text1()
print(a)
print(b)
#输出结果
hello world
[2, 3, 4, 5, 6]
hello world
[2, 3, 4, 5, 6]

在函数内部想对全局变量进行重新赋值则要用global,而如果全局变量是可变的在函数内部想要在不改变引用的情况下重新改变值则不需要global

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值