日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python学习笔记(三) Python基础

發布時間:2024/4/30 python 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python学习笔记(三) Python基础 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

(二)python基礎

python基礎

  • 自然語言與編程語言有所不同 ,自然語言可以在不同的情景下有不同的含義或解釋 , 但這是編程語言是堅決杜絕的 。
  • 編程語言應有的性能要求有:一致性 、 無二義性 、 簡潔性 、局部性 、 線性 。
  • python語言也不列外 。
  • python的 語法比較簡單 , 采用縮進的方式 。 如:

    a=100; if a>=0:print(a) else:print(-a) 1. 以#開頭的是注釋 2. 每一行都是一個語句 2. 當語句以:結尾時 , 縮進的語句視為一整個代碼塊(縮進有利有弊 1. 好處是強迫你寫出格式化美觀的代碼 , 但是在python中并沒有規定縮進是幾個空格還是tab , 一般約定俗成堅持使用四個空格的縮進 。2. 強迫你縮進更少的代碼 , 這樣你回吧傾向于更長的代碼拆分為若干個函數 ,提高代碼復用性3. 壞處就是 , 當你粘貼代碼的時候必須要重新檢查縮進是否正確 , 此時IDE也很難像格式化java代碼一樣格式化Python代碼 ) 4. Python程序時大小寫敏感的語言
  • 一、數據類型和變量 、常量

  • 基本數據類型:
  • 整數:
  • 在python中可以處理任意大小的整數 ,包括負數 , 在python語言中的表示方法和數學上的寫法一模一樣
  • 浮點數
  • 浮點數就是小數 , 之所以叫浮點數是因為當用 科學計數法表示一個小數小數點的位置不是固定的 ,而是浮動的 , 在Python中很大或很小的浮點數最好使用科學計數法表示 。
  • 整數和浮點數在計算機中存儲的方式是不同的 。整數在計算機中存儲是永遠是精確的 , 而浮點數只有很少一部分能精確存儲 。
  • 字符串
  • 字符串是以單引號或雙引號引起來的任意文本
  • 布爾值
  • 一個布爾值只有True 、 False兩種值 , 在python中可以直接用True 、 False表示布爾值(注意大寫) , 也可以通過布爾運算計算出來 。
  • 布爾值也可以用 and 、 not 、 or 運算
  • 空值
  • 空值是Python中一個特殊的值 , 用None表示 , Nono不能理解為0 , 因為0是有意義的 , 而None是一個特殊的空值 。
  • 變量:
  • 變量名只能由字母 、 數字 、 下劃線組成 , 且不能用數字開頭
  • 在Python中 = 是復制語句 , 可以把任意數據類型復制給變量 ,同一個變量可以反復復制 , 而且可以使不同類型的變量 。(這種變量類型本身不確定的語言稱之為動態語言 )
  • 當執行 a=’abc’ 時 , Python解釋器干了兩件事:
  • 在內存中創建了一個‘abc’的字符串
  • 在內存中創建了一個名為a的變量 , 并把它指向‘abc’
  • 常量:
  • 常量就是不能變的變量 , 一般來說常量全部用大寫的變量名表示 , 如數學常數π在Python中使用PI表示 。
  • 但事實上常量仍然是一個變量 , Python根本沒有任何機制保證PI不會被改變
  • 二、 字符串和編碼

  • 編碼 略
  • 字符串

  • 對于單個字符的編碼 , Python提供了ord()函數獲取字符的整數表示 , chr()函數把編碼轉換為對應的字符
  • python的字符串類型是str , 在內存中以Unicode表示 , 一個字符對應若干個字節 , 如果要在網絡上進行傳輸 , 或者保存在磁盤上 , 就需要把str保存為以字節為單位的bytes 。
  • python中bytes類型的數據用帶b前綴的單引號或雙引號表示

    x=b'abc'
  • 要注意bytes類型和str類型的數據 , b’abc’ 和’abc’雖然內容一致 , 但是bytes的數據每個字符只占一個字節 。 :
  • encode() : 可以使用encode()方法把str類型的字符串通過指定編碼進行轉換 。當指定的編碼無法表示對應的字符時會報錯 。
  • decode() : 當python代碼從磁盤讀取數據時 , 讀取到的是字節流, 如果想要獲取中文數據 , 需要對字節流使用decode()進行解碼操作 。當需要忽略字節流中錯誤的字節時 , 可以添加參數errors=‘ignore’
  • len(str):查看字符串包含多少個字符注意不是字節而是字符
  • len(bytes): 獲取字符串字節個數
  • 在開發中如果需要中文與bytes轉換時 , 應該堅持使用utf-8 , py源代碼本身也是一個文本文件 , 當源代碼中包好中文時保存python源代碼應該制定編碼為utf-8(windows下默認gbk , linux下默認utf-8) 。為了在python源碼執行時解釋器解釋正確 , 因該在文件中開頭處加上 # -- coding:utf-8 -- 告訴解釋器解釋代碼時使用 utf-8編碼 。
  • 格式化字符串: 如何輸出類似“親愛的xxx , 你xx月的話費是xxxx!”的字符串 , xxx中的內容都是根據變量變化的 , 所以python提供了簡便的格式化字符的方式 。 在需要變量的位置放入占位符 , 在有參數時自動調用參數中對應的內容 。常見的占位符:

    占位符替換內容
    %d整數
    %f浮點數
    %s字符串
    %x十六進制數

    其中格式化整數和浮點式還可以指定是否補0和整數與小數的位數

  • 當字符串中包含%時 , %需要轉義 ,用%%表示% 。
  • format() : 另一種格式化字符串的方法 , 他會將傳入的字符串依次的替換字符串內的占位符
  • 三 、 list和tuple

  • list: 列表list是python內置的一種數據類型 。 list是一種有序的集合 , 可以隨時添加和刪除其中的元素 。

  • 可以用索引來訪問list中的元素 。 當索引為正整數時 , 索引從0開始 。當索引為負整數時, 索引從-1開始 。 當索引超出list的長度時 , 會報錯索引越界 。
  • list是一個可變的有序列表
  • 添加元素到末尾
  • 添加元素到指定位置
  • 獲取并刪除末尾元素
  • 獲取并刪除指定位置元素
  • list中的元素數據類型可以不同
  • tuple: 另一種序列表叫元祖 。 tuple與list非常相似 。 但是tuple一旦初始化就不能修改 。只能獲取其中的元素而不能刪除或修改 。

  • 因為tuple是不可變的 , 所以代碼更加安全 , 在能用tuple時盡量使用tuple 。 但是tuple由于是不可變的 ,所以在定義tuple時 , 其中的所有元素就應該確定下來
  • list用[]來表示 , tuple用()表示 。 tuple中即使只有一個元素時 , 也必須加上逗號 ,避免與計算時的()混淆 。
  • 四 、 條件判斷

  • 之所以可以做很多自動化任務 , 就是因為他可以自動根據情景做條件判斷 。
  • 根據python的縮進規則 , 相同的連續的縮進視為同一個代碼塊 。

    # -*- coding:utf-8 -*- # 使用input獲取到的內容都為Str類型 需要轉換后才能使用運算符運算 age =int(input("請輸入你的年齡:")) if age>18 :print("你是成年人!") elif age>15 :print("你是青少年!") else: print("你是兒童!")input("輸入任意字符退出!")
  • python中if判斷天劍還可以簡寫 , 直接判斷自動推斷數據類型 , 然后自動判斷整數或浮點數是否為0 , 字符串是否為空 ,list是否為空 。 如果是則運算結果為Ture , 否則為False 。
  • 五 、 循環

  • python中提供 兩種循環: for-in 和while循環 。

  • for循環 :

    # -*- conding : utf-8 -*- #python中循環#循環輸出名字 names = ['韓梅梅' , '李雷雷' , '小明明'] for name in names :print(name)#循環輸出有序數字 list = [1,2,3,4,5,6,7,8,9] for l in list :print(l) # 但是如果想要輸出1~10000的有序數字 , 難道需要提前定義1~10000的list么list2=range(10001) # range()函數用于生成0到指定數字的有序list for l in list2:print(l)
  • while循環:

    #while 循環 # 求0到100的和sum = 0 n = 100 while n>0 :sum =sum +nn = n - 1 print("0到100的整數和為:" ,sum)
  • break 與 continue
  • 在循環中可以使用break提前結束循環 , 一般需要配合if使用 。
  • 在循環中可以使用continue結束本輪循環 , 之后繼續進行下一輪循環 。
  • 六 、 dict和set

  • dict : python中內置了dict的支持 , dict全程dictionary , 在其他語言中也稱為map , 使用鍵值對存儲 , 有著極快的查找速度 。 (原因: dict有自己的索引表 , 不會隨著元素的增多而導致查詢速度變慢)
  • 在dict中 一個key只能對應一個value ,在key一樣的情況下 后進的value會把之前的value覆蓋。
  • 在修改value時如果value不存在 , 則會報錯 。為了避免key不存在的錯誤 , 可以事先通過in判斷key在dict中是否存在 。 也可以通過get()函數判斷key是否存在 ,如果不存在則返回none 或返回自己制定的缺省值。 (在python的交互環境中測試時 如果結果為None , 則不會有任何顯示 。 )
  • dict和list相比:
  • dict可以存儲鍵值對格式的數據 。
  • dict的查詢速度非常快 , 不會隨元素增多而變慢
  • dict占用的內存空間較大 , 內存浪費多
  • dict總結: dict可以 =用在需要鈣素查詢多的地方 , 在python代碼中幾乎無處不在 ,需要注意的是dict中元素的key必須是不可變對象 。 這是因為dict需要根據key來計算value的存儲位置 , 如果每計算的位置都不一樣那就完全混亂了 。 在python中字符串 、 整數都是不可變的 , 因此可以放心的用作key 。
  • set : set中存儲的元素格式與list類似, 但是存儲的元素的位置和存儲的順序無關, 且set內存儲的元素是不可以重復的 。

  • add() : 通過add()函數將元素添加到set中 。
  • remove() : 通過remove()函數將元素從set 中移除 。
  • 在數學的概念上 set是一個無序不重復的元素的集合 , 所以可以對set進行交集、 并集運算 。

  • set總結: set和dict 的唯一區別就是dict存儲的元素是鍵值對形式的 ,而set只存儲了key , set和dict中的key都是不可重復的 , 存儲順序相對于存入順序來說都是無序的 , 且set和dict的原理是一樣的 , 同樣不可以存儲可變元素 , 因為無法判斷兩個元素是否相等 , 也就無法保證set中不會有重復元素 。(在python中str和整數是不可變元素 )

  • 總結

    以上是生活随笔為你收集整理的Python学习笔记(三) Python基础的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。