本文采用版本pyton3.5
數據類型
數字: 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)
1511448597512
>>> id(L2)
1511448597512
深複製:L2=L1[:];import copy L2=copy.deepcopy(L1)
>>> import copy
>>> L2=copy.deepcopy(L1)
>>> id(L1)
1511448597512
>>> id(L2)
1511480648072
元組
(),有序不可變,支持異構,任意嵌套
定義元組: 可省略小括號(這一特性可以交換兩個參數的值)
>>> 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],都可爲負數