python基础总结(一)

>>如果python的or关键字连接的是0 or 1 则 0 代表false,1代表TRUE,

>>区分集合的add和update方法:

当参数为可遍历元素:

1)add将参数作为一个整体添加如集合中。注意add的参数必须是不可变对象(如列表和字典不能作为add的参数)

2)update将参数分为子元素,遍历添加入集合中。update的参数没有要求。

>>元组是不可变对象,是基于元组整体而言是不可变的,即元组中的每个元素所引用的数据的地址是不变的。如果元组的子元素是可变元素比如列表,该子元素是可变的。如下图

>>函数的默认参数必须是不可变类型的数据,即不能是列表(不管是空列表还是有数据的列表) 如:

可以看到第一次以后再次调用函数,默认参数不再是空列表。解决办法:

>>可变参数: 如果要将一个可迭代变量作为 可变参数传入函数中,则在调用参数时 在此变量前添加 * 。但是可迭代变量的长度(即元素个数)要等于函数的参数个数,

>>关键字参数(类似于字典), 定义函数参数时,def func( n1,n2 , **n3) n3即为关键字参数。关键字参数在函数中默认转化为字典格式。

关键字参数和可变参数共同使用

>>序列解包的用法:解包变量的赋值与位置无关,永远是在其他变量赋值完成后再给解包变量赋值,如果其他变量赋值后没有剩余的值,则给解包变量赋值为空列表。

>>进行列表操作时,尽量使用列表本身的方法进行操作,而不是使用运算符。列表添加元素尽量使用 L.append(value), 不要用L = L + [value]. 列表合并新的列表,尽量使用 L.extend(L1),不用使用L = L + L1. 注意增强赋值的语句会自动采用效率更高的方法(比如 append 和 extend方法)。如下图调用extend方法

>>format方法巧用:详见:Python format 格式化函数

如下图如果参数为字典,通过键的值来确定参数,如果参数是多个列表,通过数字(0表示第一个my_list1,1代表第二个my_list2)和括号下标来确定参数。如果想要对参数进行设置,对要设定的参数后添加冒号进行设置,如下图2

>> python中的and 、or操作的计算规则:

And : 从左至右计算操作对象,返回第一个为假的对象的计算结果,如果没有假(即全部为真),则 返回最右侧的操作对象的计算结果

Or : 从左至右计算操作对象,返回第一个为真的对象的计算结果,如果没有真(即全部为假),则 返回最右侧的操作对象的计算结果

>>文件读写的注意事项,为保证速度,尽量不适用readlines()方法

>>对可迭代对象中每个元素进行修改,在for循环中要通过索引确定元素进行修改。

如果是通过列表解析式对列表元素进行修改,则实质是生成新的对象,然后将原变量引用到新的对象,变量的地址会发生改变,见下图

>>迭代器:

1)文件本身就是迭代器,迭代器本身就具有 __next__()方法,不需要 iter()方法转化成迭代器

2) 列表等其他可迭代对象需要通过iter方法转化为迭代器,才能使用 __next__() 或者 next()方法

3)range对象只支持迭代(即可迭代对象,可以使用for循环) 索引 和len,但本身不是迭代器,需要iter方法手动转化为迭代器,Map filter zip三个函数本身是迭代器,可以直接使用 next __next__()方法

4)通过手动iter方法将range对象转化为和 map filter zip方法本身的迭代器的区别:

range手动的迭代器可以生成多个互不影响的迭代器,互相之间不会记录位置

Map filter zip方法生成的本身的迭代器通过iter方法手动生成多个迭代器,多个迭代器相互影响,记录上一次迭代器next的位置

>>变量名的LEGB原则:

>>修改全局变量的方法:

>>可变对象在函数中作为参数时,如果该可变对象是全局变量,在执行函数后,该可变对象可能发生修改。

>>收集参数:函数的形参为*args或者**kwargs。将实参的数值收集为元组或者字典。

>>解包参数,函数的实参形式为*args或者**kwargs.

>>Keyword-only参数: keyword-only参数必须在 *args之后,在**args之前。必须显示给定变量并赋值。

在建立函数时,函数的形参中keyword-only必须在**args之前,*args之后,实际调用函数即作为实参时,keyword-only参数因为指明了关键字,所以可以在任何位置。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值