python基础-3:元组、字典、深浅拷

2023-01-31 02:01:43 python 基础


   小生博客: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



相关文章