python數(shù)據(jù)類型

1 變量

  • 對象有類型爽篷,變量無類型,變量只是對象的一個標簽趋艘。
  • 每個變量中存儲一個值----與變量相關的信息。
  • 程序中可隨時修改變量的值凶朗,python始終記錄最新值瓷胧。
1.1 變量的命名和使用
  • 變量名只包含字母、數(shù)字棚愤、下劃線搓萧,可以字母或下劃線開頭,不能以數(shù)字開頭宛畦。
  • 變量名不能包含空格瘸洛,可使用下劃線分割其中的單詞。
  • python關鍵字和函數(shù)名不能用作變量名次和。
  • 變量名應簡短且具有描述性反肋。
1.2 避免命名錯誤

程序存在錯誤,解釋器會提供一個traceback踏施,它是一個記錄石蔗,指出程序可能在哪個地方出錯罕邀。

名稱錯誤通常兩種情況:使用前未賦值,輸入變量名時拼寫不正確养距。

2 python數(shù)據(jù)類型

python中標準數(shù)據(jù)類型6種:Number诉探、String、List棍厌、Tuple肾胯、Dict、Set

按照可變不可變分類:不可變類型:數(shù)字定铜、字符串阳液、元組 可變類型:列表、字典揣炕、集合

序列類型:字符串、列表东跪、元組

序列

img
2.1 字符串 str()(不可變)
  • 表示:單引號畸陡、雙引號、反斜杠(轉義)虽填、原始字符串(r/R)
  • 相關函數(shù):repr() input() chr() ord() len()
  • 操作:索引丁恭、分片、加斋日、乘牲览、成員檢查(in/not in)、長度恶守、最大值第献、最小值
  • 格式化輸出:
img
img
  • 占位符:print("Hello, %s.My name is %s." %("fengdi", "yuxi")) %s為占位
  • .format():{index}為占位符
print("hello {}, my name is {}".format("fengdi", "yuxi"))
print("hello {0}, my name is {1}".format("fengdi", "yuxi"))
print("hello {name1}, my name is {name2}".format(name1="fengdi", name2="yuxi"))
  • 接受輸入:

    • input() :從標準輸入讀取一個字符串
    • eval(input()) :原始輸入為何類型,結果即為何類型(接受原始輸入)
  • 常用方法:

    • split():返回字符串列表
    • strip():去掉兩端空格 (.lstrip() .rstrip())
    • upper():全部大寫 (.lower() .title() .isupper() .islower())
    • join():.split()的反方法兔港。S.join(a) S為分隔符
    • find():返回子串的最小索引庸毫,未找到返回-1
    • index():同上,未找到拋出異常
    • replace(old, new):替換字符串
    • count():統(tǒng)計子串出現(xiàn)的次數(shù)
2.2 數(shù)字 number(不可變)
  • 分類:int float complex Bool
  • 運算:+ - * / // % **

注:對于除法而言衫樊,只要有一個為浮點數(shù)飒赃,結果為浮點數(shù)。

  • 模塊:math() cmath()
  • 函數(shù):id() type() dir() help() pow() sqrt() abs() round() divmod() floor()

id():對象的內存地址 help():顯示對象的幫助信息 pow():乘方運算

type():對象的類型 sqrt():math模塊提供科侈,開方運算 abs():絕對值

dir():對象的屬性 floor():返回下舍整數(shù)

2.3 列表 list()(可變)
  • 表示:[] 里面可為任意類型 list()函數(shù):list(iterable)

  • 操作:索引载佳、分片、加臀栈、乘蔫慧、成員檢查、長度挂脑、最大值藕漱、最小值欲侮、遍歷

    改變元素:重新賦值、 刪除元素:del語句

  • 常用方法:

    • append():末尾添加元素
    • extend():擴展列表肋联,通過iterable
    • insert():根據(jù)位置插入元素
    • count():統(tǒng)計元素出現(xiàn)次數(shù)
    • index():返回某元素的第一個索引位置
    • pop():刪除指定位置元素威蕉,默認刪除末尾一個,有返回值即刪除的元素
    • remove():移除某個元素的第一個匹配值
    • clear():清空列表元素
    • copy():復制列表元素橄仍,生成一個新對象韧涨,內存地址不同即并不指向同一個對象。也可使用切片的方法侮繁,a[:]虑粥,但不能直接賦值,直接賦值為同一對象(引用)
    • sort():排序宪哩,原地修改娩贷,默認從小到大,設置reverse=True相反
    • sorted():排序锁孟,修改副本彬祖,自身不變
    • reverse():反轉列表
    • reversed():反轉
  • 作為堆棧使用:后進先出---> append()和pop()方法,作為隊列使用品抽,先進先出

  • range():該函數(shù)常用來生成數(shù)字列表储笑,如list(range(1, 10, 2))

  • 列表解析:從序列中創(chuàng)建列表,表達式后可跟多個if或for 子句來圆恤,來滿足情況

mylist = [x * x for x in range(10)]

mylist = [x * x for x in range(10) if  _____  ]   # 后跟if用來限制條件

mylist = [x * y for x in range(10) for y in range(10)]    # 雙重for語句
2.4 元組 tuple() 不可變 有序
  • 表示:圓括號()表示突倍,可為任意類型(只有一個元素需要加逗號)
  • 操作:索引、分片盆昙、加羽历、乘、長度弱左、成員檢查窄陡、最大值、最小值拆火、遍歷
  • 常用方法:count()跳夭、index()
2.5 字典 dict() 無序性
  • 表示:花括號{}表示,空字典:a={} 鍵值對形式
  • 鍵不可重復且為不可變類型(數(shù)字 字符串 元組)们镜,值可重復(可為python任意對象)
dict1 = {"name":"fengdi", "age":23, "language":"python" }

a = dict([("name", "fengdi"), ("age", 25)])

b = dict(name="fengdi", age=23) # 關鍵字參數(shù)構造
  • 基本操作:

    • len():字典長度(鍵值對數(shù)量)
    • d[key]:獲取某個鍵對應的值
    • d[key]=value:重新賦值币叹,不存在則添加該鍵值對
    • del d[key]:刪除某鍵值對
    • key in d:成員檢查
  • 常用方法:

    • copy:內存中產生一個新對象,地址不同(淺拷貝)整體來說
    • deepcopy:import copy copy.deepcopy()都不為同一對象
    • clear:清空字典元素
    • setdefault:查找某鍵對應的值模狭,鍵不存在可設定默認值颈抚,未設定,默認值為None,并添加到字典
    • get:同上贩汉,不存在則不添加到字
    • items:返回視圖驱富,鍵值對組成的列表形式,可用來遍歷
    • keys:同上匹舞,鍵組成的列表形式
    • values:同上褐鸥,值組成的列表形式
    • pop:刪除指定的鍵對應的值并返回,若不存在赐稽,返回指定值叫榕,否則拋出錯誤
    • pipitem:隨機刪除鍵值對,并返回tuple姊舵,字典為空晰绎,拋出錯誤
    • update:從另一個字典或可迭代對象更新字典
2.6 集合 set() 元素不可重復,無序
  • 表示:花括號{}表示括丁, set(variable):set()函數(shù) (空集合:set())

  • 可變荞下,即unhashable,集合里面的元素應該可哈希史飞,即不可變類型

  • 常用方法:

    • add:添加元素
    • pop:隨機刪除元素并返回锄弱,集合為空拋出異常
    • update:利用其它集合或可迭代對象修改集合
    • remove:刪除指定元素,元素不存在祸憋,拋出異常
    • discard:刪除指定元素,元素不存在肖卧,不做任何事
    • clear:清空集合元素
  • 不可變集合:a=frozenset() 元素不可修改

  • 集合運算:

    • 元素與集合的關系:in not in
    • 集合與集合:子集:<或a.issubset(b)
    • 超集:>或a.issuperset(b)
    • 并集:|或a.union(b)
    • 交集:&或a.intersection(b)
    • 差集:-或a.difference(b)
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末蚯窥,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子塞帐,更是在濱河造成了極大的恐慌拦赠,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,589評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件葵姥,死亡現(xiàn)場離奇詭異荷鼠,居然都是意外死亡,警方通過查閱死者的電腦和手機榔幸,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,615評論 3 396
  • 文/潘曉璐 我一進店門允乐,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人削咆,你說我怎么就攤上這事牍疏。” “怎么了拨齐?”我有些...
    開封第一講書人閱讀 165,933評論 0 356
  • 文/不壞的土叔 我叫張陵鳞陨,是天一觀的道長。 經常有香客問我瞻惋,道長厦滤,這世上最難降的妖魔是什么援岩? 我笑而不...
    開封第一講書人閱讀 58,976評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮掏导,結果婚禮上享怀,老公的妹妹穿的比我還像新娘。我一直安慰自己碘菜,他們只是感情好凹蜈,可當我...
    茶點故事閱讀 67,999評論 6 393
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著忍啸,像睡著了一般仰坦。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上计雌,一...
    開封第一講書人閱讀 51,775評論 1 307
  • 那天悄晃,我揣著相機與錄音,去河邊找鬼凿滤。 笑死妈橄,一個胖子當著我的面吹牛,可吹牛的內容都是我干的翁脆。 我是一名探鬼主播眷蚓,決...
    沈念sama閱讀 40,474評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼反番!你這毒婦竟也來了沙热?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,359評論 0 276
  • 序言:老撾萬榮一對情侶失蹤罢缸,失蹤者是張志新(化名)和其女友劉穎篙贸,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體枫疆,經...
    沈念sama閱讀 45,854評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡爵川,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,007評論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了息楔。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片寝贡。...
    茶點故事閱讀 40,146評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖钞螟,靈堂內的尸體忽然破棺而出兔甘,到底是詐尸還是另有隱情,我是刑警寧澤鳞滨,帶...
    沈念sama閱讀 35,826評論 5 346
  • 正文 年R本政府宣布洞焙,位于F島的核電站,受9級特大地震影響,放射性物質發(fā)生泄漏澡匪。R本人自食惡果不足惜熔任,卻給世界環(huán)境...
    茶點故事閱讀 41,484評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望唁情。 院中可真熱鬧疑苔,春花似錦、人聲如沸甸鸟。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,029評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽抢韭。三九已至薪贫,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間刻恭,已是汗流浹背瞧省。 一陣腳步聲響...
    開封第一講書人閱讀 33,153評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留鳍贾,地道東北人鞍匾。 一個月前我還...
    沈念sama閱讀 48,420評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像骑科,于是被迫代替她去往敵國和親橡淑。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,107評論 2 356

推薦閱讀更多精彩內容