关于python中对象的互相转换
#可变和不可变
#不可变是指对象所指内存中的值不可变
#不可变 例如: int str float tuple
#可变的:对象所指的内存值可以发生变化
#可变:字典dict 列表 list 集合set
#例如
list1=[1,2,3,5,6]
print(list1,id(list1))
list1.pop()
print(list1,id(list1))
s={1,2,3,4,5}
print(s,id(s))
s.pop()
print(s,id(s))
#类型转换
#str() int() float() list() dict() set() tuple()
#str()------> int() list() set() tuple()
#逆向转换 都可以
#例如
l=["a","b","c"]
print(str(l))#结果相当于“["a","b","c"]”;类型为str,其他的类似
#list ——————》set();tuple()存在键值对才能转为字典
#逆向转换 都可以,但是字典只能将键值转换进来
dict1={1:"a",2:"b"}
print(list(dict1))
定产传递与不定产数传递
实参的传递方式
# 位置参数
# 位置参数就是将对应位置的实参传递给对于的形参
# fn(1 , 2 , 3)
# 关键字参数,关键字赋值的方式进行传参数
注意:位置参数和关键字参数可以混合使用,关于混合使用时,位置产数写在前面。 python语言在函数在调用时,解析器不会检查实参的类型,故避免抛出异常需要对函数的对象类型进行前提定义
实参可以传递任意类型的对象
定产数传递:
指实产的个数与形产的个数相等
不定产数传递:
*a会接受所有的位置实参,并且会将这些实参统一保存到一个元组中(装包),
传产时,给函数传入一个字典用**进行解包操作,进而实现对函数的传产,注意当给
例如fn4(**d)
d是一个字典,然后会将value值传递给,函数中的形产