python元组的定义形式_python基础-3:元组、字典、深浅拷贝与自定义函数

小生博客:http://xsboke.blog.51cto.com

-------谢谢您的参考,如有疑问,欢迎交流

一、 元组(tuple)

1. 元组的特点元组是固定的,不能修改也不能增减、因为元组不可变,所以更安全,如果可以,尽量不使用list而使用tuple

2.格式

wKioL1kO_GaxlEf1AAAYyTQNH_k539.gif

3.可用参数

wKiom1kO_HDjIaBCAAAVKT7AeLY483.gif

4.元组的结构(以元组a为例)当创建一个元组a时,将在内存中开辟一个名为a的内存,然后每个索引位置为一个命名空间,每个命名空间都有一个存储,而真实的数据就存在这个存储中,元组的不可变性,就是这个索引(命名空间)不可变

二、 字典(dictionary)

1. 字典的特点

Python内置字典,英文:dictionary也叫,map字典使用键-值(key-value)这种格式进行存储字典为无序,查询的时候将通过key的hash查找值

2.定义字典

wKiom1kO_IDT6iu6AAAoOz7wvPA213.gif

3.字典方法(以字典a为例)

wKiom1kO_I-j-ImcAACOK0__oEQ285.gif

三、 深浅复制

首先我们看一下字典,元祖、序列的结构

wKioL1kO_NLQ8Fc4AAAPIhL7GqM667.png

例:下面举个例子,可以让你更清晰的看懂这张图

wKiom1kO_N-BqT7TAAB3MSePCNw362.png明明list中有7个数字,为什么统计元素的时候只有5个元素呢?那是因为这个序列一共有2层数据,而使用len统计元素时,只统计第一层的元素个数

1. 通过举例论证浅拷贝

wKiom1kO_XGRw6j6AAElcr7pKHU778.jpg

2. 通过举例论证深拷贝

wKioL1kO_YOg0tORAAFtlwSGX6Y730.jpg

二、 函数

1. 定义函数(多个参数用逗号分隔)

wKiom1kO_ZbQe91dAAAR1O3U_hk453.png

2. 输出函数(多个参数用逗号分隔)

wKioL1kO_abj7IqnAAANa11mSnI889.png

3. 调用函数(多个参数用逗号分隔)

wKiom1kO_bmRrZZ9AAAO9Rpt-bI484.png

4. 定义一个空函数

wKioL1kO_c3S63seAAASaOMzoIk631.png

5. Return在函数中的作用

停止当前语句,并将指定值赋予给调用函数的变量名例:没有return时

wKioL1kO_fSxsgmuAABNmniDNd4097.png

有return时

wKiom1kO_geA2O3rAACtgCoZMnY414.jpg

6. 星号:“*”,在函数中的应用如果形式参数中同时存在可变参数和关键字参数,那么,可变参数必须在关键字参数前面,否则会提示语法错误

1) 可变参数

wKiom1kO_kqyl9zrAABmFnPGg6I961.png

2)关键字参数

wKioL1kO_mDC0WWRAAH7IQkM43Q588.jpg

7. 默认值当形式参数没有默认值时,输入的实际参数数量和形式参数必须相同。定义形式参数中默认值时,带有默认值的形式参数,不能定义在没有默认值的形式参数前面

wKioL1kO_p-DSCwJAAB6vn32Lpc204.png

8. 其他使用方法实际参数默认与形式参数的顺序相同,如果想实际参数的输入顺序与形式参数的顺序不同,则在定义实际参数时,需要指定这个实际参数是属于哪个形式参数的

wKioL1kO_1vS6RnoAAAgT0jvVDo351.png如果想在实际参数中使用已经定义好的元组,则需要在序列名前加一个星号“*”,如果是字典则需要加两个星号“**”。

wKiom1kPAK2wK-mkAAArsPIwkmA389.png

9. 递归函数

wKiom1kPAEbxAN-VAAAfAix0xWA798.png定义一个函数,如果判断输入的实际参数等于1则直接输出;如果不等于1,则使用输入的实际参数乘以实际的参数减一,直到实际参数等于一为止。此例的计算过程如下:

wKioL1kPAFPA3S6WAAANgDKIKog951.png

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值