首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

十、Python的类型与运算-其他

一、内容分类

二、set

1、集合

集合的元素可以是不可变对象:数字、字符串、元祖、frozenset。集合里的元素是不重复的。

空集合:

>>>dora = set()

>>>type(dora)

Python 2.x 里现实方式是set(列表)方式。

>>>doraset([])

Python 3.x 里,空的时候是set(),有元素跟字典差不多,但不是键:值方式。

>>>doraset()

>>>dora = {'Emon'}

>>>dora{'Emon'}

2、集合的方法

三、bytearray 类型

在Python2.x里默认字符串可以认为是在python3.x里的byte类型,在python3.x里默认类型是unicode。字符串类型是不可变的,但在python3.x里支持可变字符串:bytearray类型。

>>>a = bytearray('你好',encoding='utf-8')bytearray(b'\xe5\xbd\xa0\xe5\xa5\xbd')

>>>a[]

228

>>>a[]=229

>>>a.decode('utf-8')

'彠好'

>>>a.find('好'.encode('utf-8'))

3

四、对象灵活性

像列表,字典,元祖里的元素可以包涵任何对象,可以任意嵌套。列表和字典是任意变长的。

比如:一个列表如下:

>>>List1[{'dict': ['dict1','dict2']},'List2', (['list3-1','list3-2'],'list3-3'), ['list4']]

五、引用与复制

>>>a = [1,2,3]

>>>b = ['a',a,'b']

>>>b['a', [1,2,3],'b']

>>>a[] =4

>>>a[4,2,3]

>>>b['a', [4,2,3],'b']

这个时候发现,结果可能与想象的不一样。当我们需要的是复制a的值而不是引用:

>>>a = [1,2,3]

>>>b = ['a',a,'b']

>>>c=['a',a[:],'b']

>>>a[] =4

>>>a[4,2,3]

>>>b['a', [4,2,3],'b']

>>>c['a', [1,2,3],'b']

具体原理图如下:

六、比较 - 内容相等,对象相等

>>>a =1

>>>b =1

>>>a == b

True

>>>aisb

True

>>>a = [1,2,3]

>>>b = [1,2,3]

>>>a == b

True

>>>aisb

False

创建列表,字典,元组等有多个元素的对象的时候,不会在原有对象里查找想等的,而是新创建一个,字符串有点特殊。

七、Python中的真假

数字:非0为真,0为假

其它对象:非空为真,空为假

None 为假,关于None,在Python里是独立的对象类型,只有一个值。

bool类型:

>>>bool()

False

>>>bool(1)

True

>>>bool({})

False

八、无限循环

>>>a = {'d':''}#字典

>>>a['d'] = a

>>>a{'d': {...}}

>>>a['d']['d']['d']{'d': {...}}

>>>l = ['L']#列表

>>>l.append(l)

>>>l['L', [...]]

>>>l[1][1][1]['L', [...]]

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190130B0NZKA00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券