元组的创建方式
元组的遍历
元组是可迭代的对象,所以可以使用for...in进行遍历
集合
python语言提供的内置数据结构
与列表,字 典一样都是属于可变类型的序列
集合是没有value的字典
集合的创建方式:
1.使用花括号(集合中的元素不允许重复)
2.第二种创建方式使用set()
3.定于空集合:s6=set ()
集合的相关操作
集合间的关系
注意事项,没有交集为true,有交集为false
集合的数据操作
#3差集的操作
集合的生产:
s={i*i for i in range(10)}
print(s)
总结
字符串 | 不可变 | 有序 | 。。。 | 。。。 |
字符串的驻留机制几种情况:
字符串长度为0或1
符合标识符的字符串
字符串只在编译时进行驻留,而非运行时
【-5,256】之间的整数数字
sys中的intern方法强制2个字符串指向同一对象
pycharm对字符串进行了优化处理
字符串对齐的操作
字符串的分割操作
判断字符串操作的方法
字符串操作的其他方法
字符串的比较操作
格式化字符串两种方式
1.%占位符:%s(字符串),%i或%d(整数),%f(浮点数)
2.{}占位符,要配合format()函数一起使用
宽度和小数位数
字符串的编码与解码
函数调用参数传递
位置实参
根据形参对应的位置进行实参传递
关键字实参
根据形参名称进行实参传递
def fun(arg1,arg2): print('arg1:',arg1) print('arg2:',arg2) arg1=100 arge2.append(10) print('arg1:', arg1) print('arg2:', arg2) return n1=11 n2=[50,20,30] print('ni:',n1) print('n2',n2) fun(n1,n2) print('ni:',n1) print('n2',n2)
在函数调用过程中,进行参数的传递
如果是不可变的对象,在函数体的修改不影响实参的值,arg1的修改为100,不会影响n1的 值
如果是可变对象,在函数体的修改会影响到实参的值,arg2的修改,append (10),会影响到 n2的值
函数的返回值
(1)如果没有返回值【函数执行完毕之后,不需要给调用处提供数据】return可以省略不写
(2)函数的返回值,如果是1个,直接返回类型
(3)函数的返回值,如果是多个,返回的结果为元组
函数定义默认值参数
个数可变的为主参数
定义函数时,可能无法事先确定传递的位置实参的个数时,使用可变的位置参数
使用*args定义可变的位置形参(个数只能1个)
结果为元组
个数可变的关键字形参
定义函数时,无法确定事先确定传递的关键字实参的个数时,使用可变的关键字形参
使用**args定义个数可变的关键字形参(个数只能1个)
结果为一个字典
注意事项:在一个函数定义过程中,既有个数可变的关键字形参,也有个数可变的位置形参。要求个数可变的位置形参放在个数可变的关键字形参之前。
def fun(a,b,c): #a,b,c在定义处,所以是形式参数 print('a=',a) print('b=',b) print('c=',c) #函数调用 fun(10,20,30)#位置参数传递 lst=[12,22,33] fun(*lst)#在函数调用时,将裂变中每个元素都转为位置参数 print('----------------------------------------') fun(a=100,b=200,c=300)#关键字形式传参 dic={'a':111,'b':222,'c':3333} fun(**dic)#在函数调用时,将字典中的键值对都转换成关键字实参传入
函数总结
def fun(a,b=10):#b是在关键字的定义处,所以b是形参,而且b称为默认值形参 print('a=',a) print('b=',b) def fun2(*args):#个数可变的位置形参 print(args) def fun3(**args2):#个数可变的关键字形参 print(args2) fun2(10,23,4,499) fun3(a=11,b=55,c=24,d=89) def fun4(a,b,c,d): print('a=', a) print('b=', b) print('c=', c) print('d=', d)