Python的参数传递

  • 聊聊python的类变量和实例变量

    13 小时前• coco • Python , 面试

类变量就是供类使用的变量,实例变量就是供实例使用的
class Person:
name="aaa"

p1=Person()
p2=Person()
p1.name="bbb"
print p1.name # bbb
print p2.name # aaa
print Person.name # aaa
这里p1.name="bbb"是实例调用了类变量,这其实和上面第一个问题一样,就是函数传参的问题,p1.name一开始是指向的类变量name="aaa",但是在实例的作用域里把类变量的引用改变了,就变成了一个实例变量,self.name不再引用Person的类变量name了.
可以看看下面的例子:
class Person:
    name=[]

p1=Person()
p2=Person()
p1.name.append(1)
print p1.name  # [1]
print p2.name  # [1]
print Person.name  # [1]
这个知识你get了吗?


  • 面试中关于Python的参数传递

    3 天前• coco 5 评论 • Python , 面试

先看代码:

################

上面两个分别输出的到底应该是哪一个呢?

这里首先需要弄清楚的就是可变(mutable)对象与不可变对象(immutable),在python中,strings, tuples, 和numbers是不可更改的对象,而list,dict等则是可以修改的对象,当一个引用传递给函数的时候,函数自动复制一份引用,所以第一个不可变对象对于a值的引用和外面a= 1没有半毛线关系,而下面的应用则是指向对象本身的引用,那么输出的值自然就是1了,这个知识点你get了吗?


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python中,函数的参数传递主要有五种形式:位置传递、关键字传递、默认值传递、不定参数传递(包裹传递)和解包裹传递。位置传递是指按照参数的位置顺序进行传递,关键字传递是指通过参数名进行传递,而不关心参数的位置。默认值传递是指在函数定义时为参数设置默认值,如果调用函数时没有传入对应参数的值,则使用默认值。不定参数传递(包裹传递)是指可以接收任意个数的参数,这些参数会被封装成一个元组或字典进行传递。解包裹传递是指将元组或字典中的元素拆分为单独的参数进行传递。这种传递方式通常使用*和**操作符来实现。例如,在调用函数时使用*args,表示将args拆分成分散的元素,分别传递给对应的位置参数。解包裹传递在函数调用时非常有用,能够方便地传递不同数量的参数。如果在调用函数时没有使用解包裹传递,而是直接传递整个元组或字典给对应的参数,那么整个元组或字典将被视为一个参数进行传递。因此,在使用解包裹传递时需要注意使用*和**操作符来拆分元组或字典的元素。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [python 函数传递参数的多种方法](https://blog.csdn.net/dingmizhan4619/article/details/101732903)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值