Python學習之路day2

來源:互聯網
上載者:User

標籤:enter   為什麼   輸入   str   ;;   format   唯讀   and   pop   

Python學習之路day2

一: 字串的格式化輸出

name = "abc"name2 = 123name3 = 22name4 = "abc\n\t123"abc = ‘‘‘   name : %s  name2 : %d  name3 : %f  name4 : %r  name5 : %s‘‘‘%(name,name2,name3,name4,name4)print(abc)

   結果為:

      

  如上例,總結如下位

    %s :  輸入字串

    %d : 只能輸出數字,否則會報錯

    %f : 顯示浮點數

    %r : 按原格式輸出

 

二:運算

    a = 60    #0 0 1 1 1 1 0 0
    b = 13    #0 0 0 0 1 1 0 1

   1:與運算,兩個數位二進位值,必須全為 1 ,則結果才為1

      a & b = 0 0 0 0 1 1 0 0 = 12 

   2:或運算,兩個數位二進位值,只要有一個為1 ,則結果為1

      a / b = 0 0 1 1 1 1 0 1 = 49

   3: 異或運算,兩個數位二進位值,上下對比不同則為1

      # a ^ b =  0 0  1  1 0 0 0 1 = 49

 

三 :  for 迴圈

   迴圈的主要目的是,為了減少重複代碼

   如例一:迴圈代碼4次

    1 age = ‘abc123‘    2      3 for i in range(4):    4      print("迴圈:", i )

    結果:

        

  例二:迴圈十次,只顯示後6次

1 for i in range(10):2     if i<5:3         continue #不往下走了,直接進入下一次loop4     print("loop:", i )

    結果:

      

 

 四: while 迴圈

  1:死迴圈,會一直迴圈

1 count = 02 3 while True:4     print("開始啦...",count)5     count +=1

  2:while 限制次數迴圈,猜年齡:

age = 18count = 0while count < 3:    input_age = int(input("輸入您的年齡:"))    if  input_age == age:        print("猜對了!")        break    elif input_age < age:        print("猜小了")    else:        print("猜大了!")    count += 1  # 每次loop 計數器+1else:    print("猜錯3次了,退出.")

  

五:三元運算

  就是將 多行列印的條件顯示成一行:

    例一:

a = 1b = 2if a > b:    c = a+belse:    c =  a-b

    可以縮減為一行如下

c = a+b if a>b else a-b

  格式為:

    result  =  1  if  條件  else  2

      如果條件為真:result = 值1
      如果條件為假:result = 值2

六:字串其他用法

print(name.capitalize()),首字母大寫print(name.casefold()),全變小寫print(name.center(10,‘-‘)),湊足10個字元不夠的按照 “-” 表示,如果不寫預設以空格分割,字串置中。print(name.encodswith()),列印真或假print(name.expandtabs)),加大字串的空間print(name.find("lib")),找尋值,找到早了回複值,找不到回複 -1print(name.format()),與%s類似(照了相片看相片)print(name.isdigit()),判斷是否是一個數字============================print("ad".isalpha()),只包含字母的,回複 真print("a2d".isalnum()),只包含字母和數組的組合,回複真print("2".isdecimal)  ,值中有小數則返回 trueage = "22"print(age.isdecimal())print("2".isdigit()),只包含整正數print("al_ex".isdentifier()) # 是不是合法的變數名print("al_ex".isupper())print("2".islower())print("2".isumeric())print(float("3.1"),判斷是否是浮點數,不是就報錯print("3.1".isspase()),判斷是否是空格print(",".join("alex")), 結果: a,l,e,x //*判斷決定分割print("alex".ljust(50,‘-‘)),從左開始顯示字串,不足的用 “ - ”,print("alex".rjust(50,‘-‘)),從右開始顯示字串,不足的用 “ - ”,=================== print("alex".translate(trantab)), print("alex".partition("1")), print("alex".replace("ex","123")), 結果:al123 //* 替換字元

  

 

七:元組

  元組其實跟列表差不多,也是存一組數,只不是它一旦建立,便不能再修改,所以又叫唯讀列表

    文法:names = ("alex","jack","eric")

 

八:字典

       1:字典的作用,為什麼要有字典:由於列表查詢值時,需要知道索引值,或者要知道子列表中的所有值,查詢時非常不方便,所以取值與查詢非常不方便,所以出現了字典,來彌補列表的不足

 

       2:字典的文法,以及特點:

              Variable = { key,value }  # 字典

              Variable = [ 值1,值2,值3 ]  # 列表

              Variable = (值1,值2,值3)  # 元組

 

              1:在字典的key 中,key值必須時唯一的,否則在查詢值時,會出現錯誤,

              2:字典中的key值,是無序的,key對應的值是不變的,除非人為的對其進行修改

 

       3:字典的增刪改查:

names = {    "stu1101":{"name":"Alex","age":"22","hobbie":"girl"},    "stu1102":"Jack",    "stu1103":"rain"}

  

1): 查

print(names["stu1101"]["hobbie"])

print(names.get("stu1104","abc123"))  #查詢stu1104值是否存在,存在就返回他尋找的value值,不存在就返回abc123是自己定義的,不定義就返回None。

(1):查詢字典中的所有key值

       print(names.keys())

 

(2):查詢字典中的所有value值

       print(names. values())

 

       2): 增加

              names["stu1104"] = ["zsy",18,"ABC123"]

 

       3): 改

              names["stu1104"]=‘new_value_1‘  #如果要替換值,替換後他會將key對應的 value值全部替換掉,無法修改key對應的值中的其中一個值

      

4):刪除

(1):print(names.pop("stu1101","abc123"))

         # 刪除stu1101的值,如果值存在就返回他的刪除的value值,不存在就返回abc123,abc123是自己定義的,如果不定義,要刪除的值還不存在,就會報錯,所以必須加上回顯的值

          (2):# del names["stu1103"]

 

4:字典的其他動作

       1):fromkeys(變數,value值)   # 將列表改為字典

//* 注釋:

1:dict是資料類型,只能使用dict才能調用fromkeys()

2:顯示 jack 與 eric 對應的value的值是一個記憶體id ,所以,可以判斷,他們指向的,value 值 是一個,所以如果對其中一個進行修改其他的也會跟著改,8-4-1。所以,如果不想出現此情況可以對 value值進行修改,8-4-2:

圖8-4-1

圖8-4-2

 

       2):items():將字典列印成列表

 

       用途一般是用來迴圈列印字典資訊的:但是效率不高

 

 

3):setdefault(N,M):尋找N,如果N存在,回示N的value , 圖8-4-3

如果N不存在,則添加N,M。(N為key,M為value) 圖8-4-4

 

圖8-4-3

 

圖8-4-4

 

4):update():合并兩個列表,如果兩個列表有相同的值,則使用新加入的值 

 

5):copy():複製一個字典:佔用一個單獨的記憶體空間:

       (1):淺 copy

 

//*注釋:1:copy是單獨複製出來了一塊記憶體位址,所以兩個最外層的字典記憶體ID不同

2:第二層的字典ID相同的意義是因為,stu1101對應的value不是直接在整個字典中的,他是 stu1101指向了一個記憶體的ID,兩個字典的二層字典,同時指向了一個ID,所以才出現上面的情況

例1:可以使用copy的這個共性,實現兩個賬戶同時對一個庫的使用,就如同,銀行卡的子母銀行卡

 

(2):深copy,完全 copy 連子字典都重新定義

 

            例二:

      

 

 

 

Python學習之路day2

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.