百度权重3的网站值多少,模仿一个网站建设多少钱,余姚关键词优化公司,贵州省网站节约化建设通知Python2-对象与变量-可变对象与不可变对象-可迭代对象-enumerate-zip-map 1.对象与变量2.对象的值的比较和引用判断is3.不可变对象与可变对象4.可迭代对象iterable5.enumerate()6.zip函数7.map函数 1.对象与变量
Python3中#xff0c;一切皆为对象#xff0c;Python语言的每… Python2-对象与变量-可变对象与不可变对象-可迭代对象-enumerate-zip-map 1.对象与变量2.对象的值的比较和引用判断is3.不可变对象与可变对象4.可迭代对象iterable5.enumerate()6.zip函数7.map函数 1.对象与变量
Python3中一切皆为对象Python语言的每个对象由标识符identity、类型type、值value标识。
id(123)
type(123)
print(123)Python对象是位于计算机内存中的一个内存数据块。为了引用对象用户必须通过赋值语句把对象赋值给变量也称之为把对象绑定到变量。指向对象的引用即变量。
2.对象的值的比较和引用判断is
通过运算符可以判断两个变量指向的对象的值是否相同
通过is运算符可以判断两个变量是否指向同一个对象
x abc
y x
z abcdprint(x y) # True
print(x is y) # True
print(x z) # False
print(x is z) # False3.不可变对象与可变对象
Python3对象可以分为不可变对象immutable和可变对象mutable。不可变对象一旦创建其值就不能被修改可变对象的值可以被修改。Python对象的可变性取决于其数据类型的设计即是否允许改变其值。
不可变对象int、float、bool、str、complex、tuple、frozenset
变量是指向某个对象的引用多个变量可以指向同一个对象。给变量重新赋值并不改变原始对象的值只是创建一个新对象该变量引用该对象。
可变对象list、dict、set
4.可迭代对象iterable
可迭代对象一次返回一个元素适用于循环结构。Python包括以下几种可迭代对象
序列sequencestr、list、tuple 字典、文件对象、迭代器对象iterator、生成器函数generator
迭代器是一个对象表示可迭代的数据集合包括方法__iter__()和__next__()可以实现迭代功能。例如内置对象range是一个迭代器对象。
生成器是一个函数使用yield语句每次产生一个值也可以用于循环迭代。
5.enumerate()
Python语言中的for循环直接迭代对象集合中的元素如果需要在循环中使用索引下标访问集合元素则可以使用内置的enumerate()函数。
enumerate()函数用于将一个可遍历的数据对象list、tuple、str组合为一个索引序列并返回一个可迭代对象所以在for循环中可以迭代下标和索引。
seasons [Spring, Summer, Autumn, Winter]for i in enumerate(seasons, start1):print(i)
(1, Spring)
(2, Summer)
(3, Autumn)
(4, Winter)seasons [Spring, Summer, Autumn, Winter]for i,s in enumerate(seasons, start1):print(str.format(第{0}季节{1}, i, s))6.zip函数
如果需要并行遍历多个可迭代对象则可以使用Python内置函数zip()。zip()函数将多个可迭代对象中对应的元素打包成一个元组然后返回一个可迭代对象。如果元素的个数不一致则返回可迭代对象的长度与最短的对象相同。
x [1,2,3,4,5]
y [a, e,i, o, u]for i in zip(x, y):print(i)(1, a)
(2, e)
(3, i)
(4, o)
(5, u)
for idx,value in zip(x, y):print(idx, value)7.map函数
如果需要遍历可迭代对象并使用指定函数处理对应的元素则可以使用Python内置函数map()。
map(func, seq1[, seq2, ...])函数将func函数作用域seq中的每一个元素并将所有的调用结果作为可迭代对象返回。如果func为None作用等同于zip函数。
例如要返回列表中每个字符串的长度
seasons [Spring, Summer, Autumn, Winter]
print(list(map(len,seasons))) # [6, 6, 6, 6]print(list(map(pow, range(5), range(5)))) # [1, 1, 4, 27, 256]# range(5) : 0,1,2,3,4
# 0的0次幂时1