一、深浅拷贝
import copy
1、copy.copy 浅拷贝 只拷贝父对象,不会拷贝对象的内部的子对象。
子对象为列表时,即两个对象指向同一列表内存块,而不是指向列表中的元素所在内存块
2、copy.deepcopy 深拷贝 拷贝对象及其子对象
二、set
1.集合
list可以创建 列表,tuple可以创建 元组
而集合只能通过关键字set()创建。
set(集合)是一个无序的、不重复、元素序列
集合分为可变集合、不可变集合
可变集合:可以添加、删除元素,是非可hash的,不能用作字典的键
反之为不可变集合。
不可hash有:列表,字典 ,集合等
可hash有:字符串,元组等
关于可hash和不可hash可以参考这篇博客
https://blog.csdn.net/u010250863/article/details/64129948/
-
访问集合
访问集合只能通过遍历集合,也可以使用 in、not in 来判断是否在集合里 -
集合更新
-
函数调用
#!/usr/bin/env python
# -*- codinng:utf-8 -*-
def print_info(name,age): #定义函数
print('Name: %s'%name)
print('Age: %s'%age)
print_info('Li',23) #按位置传值
print_info(age=23,name='Li') #不按位置,指定变量传值
def print_info_(name,age,sex='male'): #预先定义sex默认值为male,并且必须放在非默认参数后面
print('Name: %s'%name)
print('Age: %s'%age)
print('Sex: %s' %sex)
print_info_('Li',23,) #默认sex=male
print_info_('Ma',30) #默认sex=male
print_info_('Liu',31) #默认sex=male
print_info_('Wang',21,'female') #female传值给sex
def add(*args): #不定长参数,无命名形参
print(args)
sum=0
for i in args:
sum+=i
print(sum)
add(1,2,3,4)
def print_info_(*args,**kwargs): #**定义键值对参数
print(args)
print(kwargs)
print_info_('Li',23,'female',job='IT',hobby='girls')