python基础:元组、字典、深浅拷贝与函数

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

小生 Q Q:1770058260

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



一、 元组(tuple)

1. 元组的特点

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

2.  格式

3.  可用参数

4.  元组的结构(以元组a为例)

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

二、 字典(dictionary)

1. 字典的特点

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

2.  定义字典

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

三、 深浅复制

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

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

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

1. 通过举例论证浅拷贝

2. 通过举例论证深拷贝

二、 函数

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

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

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

4. 定义一个空函数

5. Return在函数中的作用

停止当前语句,并将指定值赋予给调用函数的变量名

例:

没有return时

有return时

6. 星号:“*”,在函数中的应用

如果形式参数中同时存在可变参数和关键字参数,那么,可变参数必须在关键字参数前面,否则会提示语法错误

1) 可变参数

2)关键字参数

7. 默认值

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

8. 其他使用方法

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

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

9. 递归函数

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

时间: 2024-08-28 00:15:33

python基础:元组、字典、深浅拷贝与函数的相关文章

重学Python - Day 04 - python基础 -> 元组 + 字典 + 字符串 的学习

元组 元组:特点就是内容不可变,算只读的列表,可以被查询,不能被修改 a = 2, print(a) print(type(a)) b = ('a','b','c') print(b[1]) 运行结果: (2,) <class 'tuple'> b 字典 字典:内部数据打印时是无序的,键值是哈希的,有唯一性 #创建字典 a = {'a':'python','b':'ruby','c':'java'} #直接创建一个字典 print(a) #内置字典方法创建:dict a = dict((('a

python基础三(深浅拷贝)

1.赋值操作 1 list_1 = [1,2,3,['barry','Jerry']] 2 list_2 = list_1 3 list_1[0] = 111 4 print(list_1) # [111, 2, 3, ['barry', 'Jerry']] 5 print(list_2) # [111, 2, 3, ['barry', 'Jerry']] 对于赋值运算操作.list[1]与list[2]指向的是同一个内存地址.所以完全一样 2.浅拷贝 1 # -------------浅拷贝-

python基础之字典及字符

python基础之字典及字符串处理 本节内容 字典介绍及内置方法 字符串处理 1.字典介绍及内置方法 字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据.python对key进行哈希函数运算,根据计算的结果决定value的存储地址,所以字典是无序存储的,且key必须是可哈希的.可哈希表示key必须是不可变类型,如:数字.字符串.元组. 字典(dictionary)是除列表以外python之中最灵活的内置数据结构类型.列表是有序的对象结合,字典是无序的对象集合.两者

python基础(7)--深浅拷贝、函数

1.深浅拷贝 在Python中将一个变量的值传递给另外一个变量通常有三种:赋值.浅拷贝.深拷贝 Python数据类型可氛围基本数据类型包括整型.字符串.布尔及None等,还有一种由基本数据类型作为最基本的元素所组成的像列表.元组.字典等. 在Python中基本数据类型的赋值.深浅拷贝没有任何意义,都是指向同一块内存地址,也不存在层次问题. 下面看基本数据类型的深浅拷贝 import copy n1 = 'abc' n2 = n1 n3 = copy.copy(n1) n4 = copy.deep

Python基础入门(三)深浅拷贝、函数、内置函数、文件处理、三元运算、递归

深浅拷贝 import copy copy.copy() #浅拷贝 copy.deepcopy() #深拷贝 num = 110 copynum = num #赋值 一.数字和字符串 对于 数字 和 字符串 而言,赋值.浅拷贝和深拷贝无意义,因为其永远指向同一个内存地址. 1 import copy 2 #定义变量 数字.字符串 3 n1 = 123 4 #n1 = 'nick' 5 print(id(n1)) 6 7 #赋值 8 n2 = n1 9 print(id(n2)) 10 11 #浅

Python 3 学习的第八天——深浅拷贝以及函数

Python 学习的第八小节 写此博客 是为了激励自己,并且将自己的心得以及遇到的问题与人分享 一.学习笔记 1.深浅拷贝 浅copy-- copy.copy()  #shallow copy 使用 b = a.copy() 这样b是对a进行了浅copy  包含了浅copy的一切特点 特点:只copy"一层"  这个一层是指(假如a[ [ 1 , 2 ] , 3 , 4 ])这样,b copy后只能修改 b[1].b[2]的值cai不会影响 a 的值,如果b修改了列表中元素的值,那么就

Python求索之路2——深浅拷贝、函数

一.深浅拷贝 深浅拷贝是指copy模块下的copy()和deepcopy()方法. 1.浅拷贝 示例: >>> import copy >>> a = 'hello word' >>> b = {1:'gome',2:'ahaii',3:[1,2,3,4]} >>> a1 = copy.copy(a) >>> b1 = copy.copy(b) >>> print id(a) 14045817573

Python学习之路(四):基础知识之深浅拷贝

1.is和==的区别 == 比较左右两边的值,如果相同,打印的是True,如果不同,打印的是False 1 n = 10 2 n1 = 12 3 print(n == n1) #False is比较的是内存地址 1 a = 'dhj' 2 b = 'dhj' 3 print(a is b) # True 1 a = 'a'*21 2 b = 'a'*21 3 print(a is b) #false 为什么第二个程序中的结果会是False呢,这涉及到一个小数据池的概念: 小数据池只限制于数值和字

Python-Day3知识点——深浅拷贝、函数基本定义、内置函数

一.深浅拷贝 import copy #浅拷贝 n1={'k1':'wu','k2':123,'k3':['carl',852]} n2=n1 n3=copy.copy(n1) print(id(n1)) print(id(n2)) print(id(n3)) print(id(n1['k3'])) print(id(n3['k3'])) #深拷贝 n4=copy.deepcopy(n1) print(id(n4)) print(id(n1['k3'])) print(id(n4['k3']))