数据类型
数字: int,long,float,complex,bool
字符: str,unicode
列表: list
字典: dict
元组: tuple
文件: file
其他类型: 集合(set),frozenset,类类型,None
类型转换
str,repr或format: 将非字符类型数据转换为字符
int: 转为整数
float: 转为浮点
list(s): 将字符串转为列表
tuple(s): 将字符串转为元组
set(s): 将字符串转为集合
frozenset(s): 将字符串转为不可变集合
dict(d): 创建字典,其中d必须是(ke, value)的元组序列。[(‘a’,1),(‘b’,2),(‘c’,3)] ——> {‘a’:1, ‘c’:3, ‘b’:2}
chr(x): 将整数转为字符
ord(x): 将 字符转为整数值
hex(x): 将整数转为16进制字符
bin(x): 将整数转为2进制字符
oct(x): 将整数转为8进制字符
序列类型
指的是可以进行迭代,可以用下标进行操作的数据类型
字符串
把文本放入单引号,双引号或三引号中
s1 = '这是字符串'
s2 = '这也是字符串'
s3 = '''这也是字符串'''
s4 = '''这也是字符串'''
print(s1, s2, s3, s4)
# 这是字符串 这也是字符串 这也是字符串 这也是字符串
如果要使用unicode编码,则在字符之前使用字符u进行标识,如u'tony'
文档字符: 模块,类或函数的第一条语句是一个字符的话,该字符就成为文档字符串,可以使用__doc__属性引用
class Dog(object):
'''狗对象'''
flag = 1
def __init__(self, name='yuk', age='25', hobby='米饭'):
self.name = name
self.age = age
self.hobby = hobby
print(Dog.__doc__)
# 狗对象
def printName(name):
'''这是打印方法'''
print(name)
print(printName.__doc__)
# 这是打印方法
列表
[],有序可变,支持异构,任意嵌套;支持在原处修改:添加,删除等
L1+L2: 合并两个列表,不修改原列表
>>> L1=[1,2,3]
>>> L2=[4,5,6]
>>> L1+L2
[1, 2, 3, 4, 5, 6]
>>> L1
[1, 2, 3]
L1*N: 把列表重复N次,不修改原列表
>>> L1*2
[1, 2, 3, 1, 2, 3]
>>> L1
[1, 2, 3]
in/not in: 成员关系判断,用法 item in[not in] container
>>> 1 in L1
True
>>> 0 in L1
False
列表复制:
浅复制:L2=L1,指向同一个地址
>>> L2=L1
>>> L2
[1, 2, 3]
>>> id(L1)
>>> id(L2)
深复制:L2=L1[:];import copy L2=copy.deepcopy(L1)
>>> import copy
>>> L2=copy.deepcopy(L1)
>>> id(L1)
>>> id(L2)
元组
,有序不可变,支持异构,任意嵌套
定义元组: 可省略小括号(这一特性可以交换两个参数的值)
>>> t=1,2
>>> t
(1, 2)
元组并非完全不可变: 如果元组内嵌套了可变类型的元素,比如(‘a’,‘b’,[4,5]),那么对该可变元素的修改则直接修改了原元组
>>> L1=[4,5]
>>> t=(1,2,L1)
>>> t
(1, 2, [4, 5])
>>> L1.append(6)
>>> t
(1, 2, [4, 5, 6])
序列运算符
索引运算: [i]
切片运算: [i:j]
扩展切片运算: [i:j:stride],都可为负数
联系客服