python3 變數型別
阿新 • • 發佈:2018-11-03
變數型別
數字型別Number
- 二進位制0b開頭
- 八進位制0o開頭
- 十六進位制0x開頭
- 科學計數法:寫法是用e後面跟整數表示10的指數 例:1.11e-1 = 0.111
- 複數 虛部用j或J表示
字串型別str
- 表示字串
- 單引號
- 雙引號
- 三個連續的單引號或雙引號
- 單引號和雙引號的交替使用
- 轉義字元 反斜槓和後面跟著的一個或多個字元
- 不同系統對換行操作的不同表示
- windows:\n
- Linux:\r\n
- 字串的格式化
- 字串格式化的兩種方式
- 利用百分號
- 利用format函式
- 利用百分號格式化
- 在字串中,利用%表示一個特殊的含義,表示對字元進行格式化
- %d:此處應放入一個整數
- %s:此處應放入一個字串
- 例如:
- print(“I am %d years old”%18) -->I am 18 years old
- print(“I am %s,I am %d years old”%(“zhangsan”, 18)) -->I am zhangsan,I am 18 years old
- format格式化字串
- 在使用上和百分號格式化相似,用{}和:替代%,後面用format帶引數完成
- 例如:
- str = “I am {0} years old”.format(18) -->I am 18 years old
- str = “I am {0},I am {1} years old”.format(“zhangsan”, 18) -->I am zhangsan,I am 18 years old
- 字串格式化的兩種方式
列表list
-
一組由順序的資料的組合
-
建立列表
l = [] l = [100] l = [1, 2, 3] l = list()
-
列表常用操作
- 訪問
- 使用下標操作(索引)
- 列表的位置是從0開始
- 分片操作
- 對列表進行任意一段的擷取
- l[開始位置:結束位置]和l[開始位置:結束位置:步數]
- 擷取範圍包含開始下標的值不包含結束下標的值
- 正數下標從左往右從0開始到結束 負數下標從開始(負數)到-1結束
- 正常情況下分片開始下標小於結束下標,如果結束下標要大於開始下標則步數一定為負數(可用此進行列表顛倒)
- 切片可超標
- 分片操作是生成一個新的list
- 內建函式id,負責顯示一個變數或者資料的唯一確定編號
- 訪問
-
del: 刪除命令
del l[2]
-
- 運算使兩個列表相連線 * 運算使n個列表相連線
-
列表內涵: list content
-
通過簡單方法創作列表
l = l[0, 1, 2] ll = [i for i in l] ll = [i*2 for i in l if i != 0]
-
-
關於列表的常用函式
-
len 求列表長度
-
max 求列表中的最大值
-
min 求列表中的最小值
-
list 將其他格式資料轉換成list
-
append 插入一個於末尾
-
insert 指定位置插入
- insert(index, data) index位置 data資料
-
pop 取出列表最後一個元素
-
remove 刪除列表中指定值的元素
- 如果被刪除的值沒在列表中則報錯
- 即,刪除列表指定的值操作應用try…excepty語句,或進行先行判定
-
clear 清空
-
reverse 翻轉列表內容
-
extend 將一個列表拼接在後一個上
a = [1, 2] b = [3, 4] a.extend(b) a --> [1, 2, 3, 4]
-
count 查詢列表中指定值或元素的個數
-
copy 拷貝,淺拷貝
- 淺拷貝只拷貝一層,內部巢狀的列表依然和原列表內對應的列表指向同一個地址
-
元組tuple
-
元組可以看成是一個不可更改的list
-
元組建立
t = () t = (1, ) t = 1, t = (1, 2, 3) l = [1, 2, 3, 4] t = tuple(l)
-
元組的特性
- 是序列表,有序
- 元組資料值可以訪問,不可修改
- 元組資料可以是任意型別
- 基本具有list出可修改外的特性和操作,比如索引,分片,序列相加,相乘,成員資格操作等
-
-
- 運算與列表同理
-
-
關於元組的函式
- len max min 與列表相似
- tuple 轉化或建立元組
- 其餘與列表基本相似
-
兩個變數交換值
- a, b = b, a
字典Dictionary
-
字典是一種組合資料,沒有順序的組合資料,資料以鍵值對形式出現
-
字典的建立
d = {} d = dict() d = {"one":1, "two":2, "three":3} d = dict({"one":1, "two":2, "three":3}) d = dict(one=1, two=2, three=3) d = dict( [("one",1), ("two",2), ("three",3)])
-
字典的特徵
- 字典是序列型別,但是是無序序列,所以沒有分片和索引
- 字典中的資料每個都有鍵值對組成,即kv對
- key: 必須是可雜湊的值,比如int,string,float,tuple, 但是,list,set,dict 不行
- value: 任何值
-
訪問資料
- 用 key 訪問
-
成員檢測
- for i in d, i 為 key ,d為字典
- for i in d.keys()
- for i in d.values()
- for k, v in d.items() k, v分別為鍵和值
-
字典生成式
- dd = {k:v for k, v in d.items()}
-
字典相關函式
-
通用函式: len max min dict
-
str(字典) 返回字典字串格式
-
clear 清空字典
-
items 返回字典的鍵值對組成的元組格式
-
keys 返回字典的鍵組成的一個可迭代結構
-
values 返回字典的值組成的一個可迭代結構
-
get 根據指定鍵返回相應的值,可設定預設值
- d.get(鍵, 預設值) 當沒有相應的鍵值對的時候則會返回預設值
-
fromkeys 使用指定的序列作為鍵,使用一個值作為字典的所有鍵的值
l = ["one", "two", "three"] #注意fromkeys兩個引數的型別 #注意fromkeys的呼叫主體 d = dict.fromkeys(l, "num")
-
集合set
-
一堆確定的無序的唯一的資料,集合中每一個數據成為一個元素
-
集合的定義
s = set() s = {1, 2, 3} #大括號內必須有值,否則是dict型別
-
集合的特徵
- 集合內資料無序,即無法使用索引和分片
- 集合內部資料元素具有唯一性,可以用來排除重複資料
- 集合內的資料,str, int, float, tuple,冰凍集合等,即內部只能放置可雜湊資料
-
集合的函式
- len,max,min: 基本一致
- set 生成一個集合
- add 向集合內新增元素
- clear 清空
- copy 拷貝
- remove 移除指定的值,如不存在報錯
- discard 移除集合中指定的值,如不存在不報錯
- pop 隨機刪除一個元素
-
集合函式
- intersection: 交集
- difference:差集(可用-號運算)
- union: 並集子
- issubset: 檢查一個集合是否為另一個集
- issuperset: 檢查一個集合是否為另一個超集
-
frozen set:冰凍集合
- 冰凍和就是不可以進行任何修改的集合
- frozenset是一種特殊集合