python课堂笔记_python课堂笔记

1、创建数据库,初始化,存入数据、查询操作

def init(data):

data['first']={}

data['middle']={}

data['last']={}

storage={}

init(storage)

print(storage)

my_sister='Anne Lie Hetland'

storage['middle'].setdefault('Lie',[]).append(my_sister)

def lookup(data,label,name):

return data[label].get(name)

print(lookup(storage,'middle','Lie'))

2、函数参数改变啥时候会导致全局变量改变

Python参数传递采用的肯定是“传对象引用”的方式。实际上,这种方式相当于传值和传引用的一种综合。如果函数收到的是一个可变对象(比如字典或者列表)的引用,就能修改对象的原始值——相当于通过“传引用”来传递对象。如果函数收到的是一个不可变对象(比如数字、字符或者元组)的引用,就不能直接修改原始对象——相当于通过“传值”来传递对象。

3、name='a'

n=name

n='b'

>>name

'a'

解释:当n被赋予一个新的值的时候,他会被指向存入该值的新的地址,两变量不再指向同一个地址了。

4、参数传递之关键字传递方式

5、*容器()

**字典

12.03

1、复习参数传递

2、容器类型参数

表示和类别:打一个*,这是一个元组参数;打两个则表示字典。

元组只能装未知参数,字典可以装带关键字参数。

传参情况:一个容器参数、多个参数(当容器参数放中间的时候,最后一个一定要以关键字的形式传参,否则会因为歧义而报错)

work1:

def in_the_middle(*x,y,z):

print(x,y,z)

in_the_middle(1,2,3,4,5,y=6,z=7)

容器参数后面的参数均要以关键字的形式进行传参。

def dic(**params):

print(params)

dic(x=1,y=2,z=3)

def dic1(x,y,z=3,*tuple,**dic):

print(x,y,z)

print(tuple)

print(dic)

dic1(1,2,3,4,5,m=1)

3、解包

def container(greeting,name):

print(greeting,name)

params={'name':'Garibel','greeting':'hello'}

container(**params)

总结:今天主要是学习了Python里参数传递的打包和解包两种参数传递情形。

解包时有中特殊情况,就是函数定义时和函数调用时怎么定义怎么调用,关键在函数内部的使用是直接输出对象还是通过对象来进行调用。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值