1. 程式人生 > 其它 >3.4python學習筆記

3.4python學習筆記

基本資料型別補充-字典( dict)

#字典:dict
顧名思義就是給儲存的資料加上一個詞,以便我們對資料的查詢
 """
 字典是一種對映型別,字典用 { } 標識。
 它是一個無序的鍵(key): 值(value) 的集合。
 """

tinydict = {'name': 'runoob','code':1, 'site': 'www.runoob.com'}
print (tinydict)          # 輸出完整的字典
print (tinydict['name']   # 輸出'name'鍵對應的值
print (tinydict['code'])  # 輸出'code'鍵對應的值
#字典內裡儲存各種型別,比如列表
tinydict = {'name': 'runoob','code':[1,2,3,4]} 
現在想要取出數字3
print(tinydict['code'][2])

集合set

集合(set)是由一個或數個形態各異的大小整體組成的,構成集合的事物或物件稱作元素或是成員。
基本功能是進行成員關係測試和刪除重複元素。
可以使用大括號 { } 或者 set() 函式建立集合,注意:建立一個空集合必須用 set() 而不是 { },因為 { } 是用來建立一個空字典
sites = {'Google', 'Taobao', 'Runoob', 'Facebook', 'Zhihu', 'Baidu'}
print(sites)   # 輸出集合,重複的元素被自動去掉

元組tuple

跟列表幾乎一致 只不過使用的是小括號
元組一般儲存一些只能看不能改的資料
"""
小括號括起來 記憶體可以存放多個元素 元素與元素之間逗號隔開 元素可以是任意資料型別
"""
tuple = ( 'abcd', 786 , 2.23, 'runoob', 70.2  )
tinytuple = (123, 'runoob')
print (tuple)            # 輸出完整元組
print (tuple[0])         # 輸出元組的第一個元素
#元組的元素是不能修改的
tuple[0]=11 #會報錯

布林值bool

只有兩個狀態,主要用於邏輯判斷
	True
    False
"""
布林值預設為False的資料
   0 None 空字串 空列表 空字典...
其他情況布林值都是True
""" 

使用者互動

1、使用者互動,使用者輸入
  使用者輸出命令是input。
  設定一個變數並輸出。
    name = input("name:")
2.輸出內部資料
  print(name)
另外一種編寫方式,先寫需要輸出的東西,末尾跟print之後按TAB鍵

格式化輸出

# 輸出一個整數
age = 18
print("我%d歲了!" % age)
# 輸出多個數據(字串,整數)
在 print() 函式中,由引號包圍的是格式化字串,它相當於一個字串模板,可以放置一些轉換說明符(佔位符)。
本例的格式化字串中包含一個%d說明符,它最終會被後面的 age 變數的值所替代。中間的%是一個分隔符,它前面是格式化字串,後面是要輸出的表示式。
當然,格式化字串中也可以包含多個轉換說明符,這個時候也得提供多個表示式,用以替換對應的轉換說明符;多個表示式必須使用小括號( )包圍起來。請看下面的例子:
name = "zhangqiang"
age = 18
url = 183
print("%s已經%d歲了,他的身高是%s。" % (name, age, url))
# 指定最小輸出寬度
使用下面的格式指定最小輸出寬度(至少佔用多少個字元的位置):
  %10d 表示輸出的整數寬度至少為 10;
  %20s 表示輸出的字串寬度至少為 20。
n = 1234567
print("n(10):%10d." % n)
print("n(5):%5d." % n)
#結果
n(10):   1234567.
n(5):1234567.

運算子

乘(*)   除(/)  整除(//)   取餘(%)   等於(==)
#例子:
a = 2 * 3
a = 10 / 2
a = 10 // 3
a = 10 % 3
a==1
#增量賦值
a += 1(a=a+1)
a -= 2(a=a-2)
a *= 2(a=a*2)
a /= 2(a=a/2)
# 鏈式賦值
x = y = z = 100
# 交叉賦值	
 m = 10
 n = 99
 m, n = n, m
 print(m, n) # 這時m-99,n=10

    
#解壓賦值
	name_list = ['jason', 'kevin', 'tony', 'jerry']
    # name1 = name_list[0]
    # name2 = name_list[1]
    # name3 = name_list[2]
    # name4 = name_list[3]
    # 解壓賦值(重要)
    # name1, name2, name3, name4 = name_list
    # name1, name2 = name_list
    # name1, name2, name3, name4, name5 = name_list
    """
    1.正常情況下 左右兩邊的變數名和值個數要相等
    2.也可以打破個數限制
    """
    l1 = [11, 22, 33, 44, 55, 66, 77, 88, 99]
    a, b, *_ = l1
    print(a, b, _)  # 11 22 [33, 44, 55, 66, 77, 88, 99]
    a, *_, b = l1
    print(a, b, _)  # 11 99 [22, 33, 44, 55, 66, 77, 88]
    """
單獨的下劃線作為變數名 意思是為了符合語法 但是指向的值用不到的情況
    """

邏輯運算子

# 與 或 非 (and,or,not)
一般用於邏輯判斷
and	與
	連線多個條件必須都滿足 結果才是True
    2 > 1 and 1 != 1 and True and 3 > 2
or	或
	連線多個條件只要有一個滿足 結果就是True
    2 > 1 or 1 != 1 or True or 3 > 2
not	非
	將條件翻轉 True變為False False變為True
 	not True