记录一些Python知识点(持续更新)

记录一些Python知识点

1.Python连续赋值

两个方法:
1)a = b = c = 1
2)a, b, c = 1, 2, 3
易错用法:
a, b, c = 1

2.字符串与列表相互转换

字符串转列表:
方法1-split()

>>> s = 'a b c d'
>>> s.split(' ')
['a', 'b', 'c', 'd']

方法2-list()

>>> s = 'abcd'
>>> list(s)
['a', 'b', 'c', 'd']

方法3-eval()函数(该方法也可用于转换dict、tuple等)

>>> s
'[1,2,3]'
>>> eval(s)
[1, 2, 3]
>>> type(eval(s))
<class 'list'>

列表转字符串:
string = ”.join(l) 前提是list的每个元素都为字符

3.enumerate()用法

enumerate()枚举是Python的内置函数,返回枚举对象用来将一个可遍历的数据对象(如列表、字符串、字典或元组)组合为一个索引序列,生成数据下标和数据的元组,一般用在for循环中。

>>> l
[1, 2, 3]
>>> s
'a b c d'
>>> list(enumerate(s))
[(0, 'a'), (1, ' '), (2, 'b'), (3, ' '), (4, 'c'), (5, ' '), (6, 'd')]
>>> list(enumerate(l))
[(0, 1), (1, 2), (2, 3)]
>>> a = list(enumerate(l))[0]
>>> type(a)
<class 'tuple'>

4.迭代器深入理解

好文

5.Python any()和all()用法

any(iterable) -> bool
- any(x)判断x对象是否为空对象,如果都为空、0、false,则返回false,如果不都为空、0、false,则返回true

all(iterable) -> bool
- all(x)如果all(x)参数x对象的所有元素不为0、”、False或者x为空对象,则返回True,否则返回False

注意:空元组、空列表返回值为True,这里要特别注意。

 def all(iterable): 
     for element in iterable:
        if not element:
             return False
     return True

例子

>>> any([0,0])
False
>>> any('0')
True
>>> any('')
False
>>> all('0')
True
>>> all('')
True
>>> all([])
True
>>> any(['a', 'b', 'c', 'd'])  #列表list,元素都不为空或0
True
>>> any(['a', 'b', '', 'd'])  #列表list,存在一个为空的元素
True
>>> any([0, '', False])  #列表list,元素全为0,'',false
False
>>> any(('a', 'b', 'c', 'd'))  #元组tuple,元素都不为空或0
True
>>> any(('a', 'b', '', 'd'))  #元组tuple,存在一个为空的元素
True
>>> any((0, '', False))  #元组tuple,元素全为0,'',false
False
>>> any([]) # 空列表
False
>>> any(()) # 空元组
False
>>> all(['a', 'b', 'c', 'd'])  #列表list,元素都不为空或0
True
>>> all(['a', 'b', '', 'd'])  #列表list,存在一个为空的元素
False
>>> all([0, 12, 3])  #列表list,存在一个为0的元素
False
>>> all(('a', 'b', 'c', 'd'))  #元组tuple,元素都不为空或0
True
>>> all(('a', 'b', '', 'd'))  #元组tuple,存在一个为空的元素
False
>>> all((0, 12, 3))  #元组tuple,存在一个为0的元素
False
>>> all([]) # 空列表
True
>>> all(()) # 空元组
True

6.and、or短路运算符

短路,在很多语言中都有的特性,在且的情况下,全部为真才为真,因为第一个c是真,所以它无法判断整个表达式是否为真或为假(前后都为真才是真,其中一个为假就是假了),他就会接着进行后面的,所以就是选择了后面的,如果这个条件表达式是或,前面的已经是真了,不需要管后面的是真是假都能证明整个表达式为真,就不会进行后面的,自然会选择前面的,这个东西在很多语言中都有,大致理解就是&&(and)的情况下前面为真进行后面,前面为假不进行后面,||(or)的情况下,前面为真不进行后面,前面为假进行后面。
1.) 表达式从左至右运算,若 or 的左侧逻辑值为 True ,则短路 or 后所有的表达式(不管是 and 还是 or),直接输出 or 左侧表达式 。
2.) 表达式从左至右运算,若 and 的左侧逻辑值为 False ,则短路其后所有 and 表达式,直到有 or 出现,输出 and 左侧表达式到 or 的左侧,参与接下来的逻辑运算。
3.)若 or 的左侧为 False ,或者 and 的左侧为 True 则不能使用短路逻辑。

7. 类私有变量

_var ;变量名前一个下划线来定义,此变量为保护成员protected,只有类及其子类可以访问。此变量不能通过from XXX import xxx 导入
__var;变量名前两个下划线来定义,此变量为私有private,只允许类本身访问,连子类都不可以访问。

8. 集合set的相关方法

集合的定义:s = set() 或者 s = {1,2,3}
set.add():新增元素
set1.intersection(set2):求set1与set2的交集
set1.difference(set2):求set1与set2的差集,set1-set2
set1.union(set2):求并集
set.discard(x):如果x在set中,则移除x。
例子

>>> set.intersection(s,d)#获取s,d的交集
{1}
>>> s = {1,2,3,4,5}
>>> d = {2,3,4,5,6}
>>> s.intersection(d)
{2, 3, 4, 5}
>>> s.union(d)#并集
{1, 2, 3, 4, 5, 6}
>>> s.difference(d)#获取差集s-d
{1}
>>> d.difference(s)#获取差集d-s
{6}
>>> s
{1, 2, 3, 4, 5}
>>> s.discard(3)
>>> s
{1, 2, 4, 5}
>>> s.discard(6)
>>> s
{1, 2, 4, 5}

9.Python表示正负无穷

float(“inf”)#正无穷
float(“-inf”)#负无穷

10.Python下划线总结

https://blog.csdn.net/yaopliu/article/details/78152593

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值