这次总结的有点多(python)

关键字不定长参数,可以接收多个未定义参数的关键字赋值

''' 关键字不定长参数的格式: def 函数名(**kwargs): 函数体 '''

TypeError: 'a' is an invalid keyword argument for print()

def func(**kwargs):

print(**kwargs) # 相当于给print输入了多个关键字参数 print(a=1, b=2, c=3)

# #

func(a=1, b=2, c=3)

使用**kwargs可以将关键字参数进行传递

def func(**kwargs):

print(1, 2, **kwargs) # 相当于print(1, 2, sep='&', end='a')

# #

func(sep='&', end='a')

kwargs 内部到底是什么存储结构呢?

def func(**kwargs): # kwargs 在从传参之后,会将实参位置的所有未定义参数的关键字参数转换为字典的键值对,保存在kwargs当中 print(kwargs) # {'a': 1, 'b': 2, 'c': 3}

func(a=1, b=2, c=3)

案例:

使用创建一个函数可以保存学员的全部信息,并将其储存到字典当中

def student_info(**kwargs): print(f'学员信息为:{kwargs}')

student_info(name='xiaoming', age=18, gender='男')

关键字不定长参数,可以接收多个未定义参数的关键字赋值

''' 关键字不定长参数的格式: def 函数名(**kwargs): 函数体 '''

TypeError: 'a' is an invalid keyword argument for print()

def func(**kwargs):

print(**kwargs) # 相当于给print输入了多个关键字参数 print(a=1, b=2, c=3)

# #

func(a=1, b=2, c=3)

使用**kwargs可以将关键字参数进行传递

def func(**kwargs):

print(1, 2, **kwargs) # 相当于print(1, 2, sep='&', end='a')

# #

func(sep='&', end='a')

kwargs 内部到底是什么存储结构呢?

def func(**kwargs): # kwargs 在从传参之后,会将实参位置的所有未定义参数的关键字参数转换为字典的键值对,保存在kwargs当中 print(kwargs) # {'a': 1, 'b': 2, 'c': 3}

func(a=1, b=2, c=3)

案例:

使用创建一个函数可以保存学员的全部信息,并将其储存到字典当中

def student_info(**kwargs): print(f'学员信息为:{kwargs}')

student_info(name='xiaoming', age=18, gender='男')

组包:就是讲多个值进行组合,打包为一个容器类型的过程

拆包:就是讲一个容器类型,拆分成多个数据,分别赋值给多个变量的过程

组包

def func1(): return 1, 2, 3, 4

func1返回了多个数据,Python自动将其打包为一个元组,这个过程就是组包

print(func1()) # (1, 2, 3, 4)

将多个数据打包整合为一个容器,赋值给变量,这个就是组包过程

a = 1, 2, 3, 4 print(a)

拆包(解包)

将等号右侧的列表,拆分为四个数据元素,分别赋值给a,b,c,d这个过程就是拆包

a, b, c, d = [1, 2, 3, 4] print(a, b, c, d)

之前我们在循环汇总用过拆包过程

list1 = [1, 2, 3, 4] for index, value in enumerate(list1): print(index, value)

dict1 = {'name': 'xiaoming', 'age': 18} for key, value in dict1.items(): print(key, value)

同时应用组包和拆包的案例

a = 1 b = 2

需求:将a, b进行互换值

这个互换过程,是先讲a,b的值提取出来,组包为一个元组,然后进行拆包,将元组内的两个数据分别赋值给,a,b变量

a, b = b, a print(a, b)

注意:字典可以拆包么?可以

dict1 = {'a': 1, 'b': 2, 'c': 3}

对字典进行拆包,得到的是字典的键

char1, char2, char3 = dict1 print(char1, char2, char3)

集合可以拆包么? 可以

对于集合进行拆包,没有任何问题,但是一般不会这样做,因为赋值顺序无法指定

set1 = {'Tom', 'Bob', 'Rose'} a, b, c = set1 print(a, b, c)

在Python中所有的数据分为三个维度: 值(判断==), 数据类型(int...float...), 唯一标识(id)

值相等的数据,唯一标识和数据类型不一定相等

bool1 = False int1 = 0

0 和False的值相等

print(bool1 == int1) # True

数据类型不等

print(type(bool1) == type(int1)) # False

唯一标识不等

id 判断数据是否是同一内存空间中的数据(同一内存空间中的数据必相等)

print(id(bool1) == id(int1)) # False

值和数据类型相等的,唯一标识不一定相等

list1 = [1, 2, 3] list2 = [1, 2, 3]

list1 和list2 值相等

print(list1 == list2) # True

list1和list2 数据类型相等

print(type(list1) == type(list2)) # True

list1 和list2 的唯一标识不等,也就是说,其所在的内存空间不一致

print(id(list1) == id(list2)) # False

唯一标识相等的, 值和数据类型必然相等

在同一内存空间中只能储存同一个值

str1 = 'abc' str2 = 'abc'

str1 和str2 的唯一标识相等

print(id(str1) == id(str2)) # True

数据类型相等

print(type(str1) == type(str2)) # True

数据值相等

print(str1 == str2) # True

怎样判断id 唯一标识是否相等呢? is关键字

使用is可以判断是否为同一个内存空间中的数据

print(list1 is list2) # False print(str1 is str2) # True

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python可以使用不同的方法保存文件,包括保存为txt、csv、excel以及保存到mongodb数据库中。对于保存为txt文件,可以使用以下代码: ```python data = "3月14日,英皇电影巡礼活动上,成龙、张学友、谢霆锋、张家辉等台下同框。这次的巡礼阵容十分豪华基本上把英皇的不老男神都请来了。" with open('test.txt', 'w') as f: f.write(data) print("finish") ``` 以上代码将字符串数据保存为txt文件,使用`open()`函数以写入模式打开文件,然后使用`write()`方法将数据写入文件中。最后关闭文件。保存数据时,可以使用`writelines()`方法写入多条数据,更加灵活。 除了保存为txt文件,还可以使用其他方法保存不同格式的文件,如csv和excel。可以使用pandas库来操作和保存这些数据。详细的保存方法可以参考引用提供的资料。 另外,如果想要查看保存的文件,可以使用以下代码: ```python with open(r"D:\learnpy\test.txt", 'r') as f: content = f.read() print(content) print("finish") ``` 通过`open()`函数以读取模式打开文件,使用`read()`方法读取文件内容,并打印出来。 最后关闭文件。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [python保存文件的几种方式](https://blog.csdn.net/qq_45020131/article/details/105347944)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [python保存数据方法总结](https://blog.csdn.net/qq_52764364/article/details/129527369)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值