程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

3.1python基礎01

編輯:Python

一、python入門

1.1Python環境搭建

1.2 注釋

  • Python 單行注釋
    Python 使用井號#作為單行注釋的符號
  • Python 多行注釋
    Python 使用三個連續的單引號’''或者三個連續的雙引號"""注釋多行內容

1.3 python標識符命名規范

簡單地理解,標識符就是一個名字,就好像我們每個人都有屬於自己的名字,它的主要作用就是作為變量、函數、類、模塊以及其他對象的名稱。

  • 命令規則

    • 標識符是由字符(A~Z 和 a~z)、下劃線和數字組成,但第一個字符不能是數字。
    • 標識符不能和 Python 中的保留字相同
    • Python中的標識符中,不能包含空格、@、% 以及 $ 等特殊字符
    • 除非特定場景需要,應避免使用以下劃線開頭的標識符。
      • 以單下劃線開頭的標識符(如 _width),表示不能直接訪問的類屬性,其無法通過 from…import* 的方式導入;
      • 以雙下劃線開頭的標識符(如__add)表示類的私有成員;
      • 以雙下劃線作為開頭和結尾的標識符(如 __ini__),是專用標識符
    • 應盡量避免使用漢字作為標識符
  • 標識符的命名,除了要遵守以上這幾條規則外,不同場景中的標識符,其名稱也有一定的規范可循

    • 當標識符用作模塊名時,應盡量短小,並且全部使用小寫字母,可以使用下劃線分割多個字母,例如 game_mian、game_register 等。
    • 當標識符用作包的名稱時,應盡量短小,也全部使用小寫字母,不推薦使用下劃線,例如 com.mr、com.mr.book 等。
    • 當標識符用作類名時,應采用單詞首字母大寫的形式。例如,定義一個圖書類,可以命名為 Book。
    • 模塊內部的類名,可以采用 “下劃線+首字母大寫” 的形式,如 _Book;
    • 函數名、類中的屬性名和方法名,應全部使用小寫字母,多個單詞之間可以用下劃線分割;
    • 常量命名應全部使用大寫字母,單詞之間可以用下劃線分割;

1.4 Python關鍵字(保留字)

保留字是 Python 語言中一些已經被賦予特定意義的單詞,這就要求開發者在開發程序時,不能用這些保留字作為標識符給變量、函數、類、模板以及其他對象命名。

>>> import keyword
>>> keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

1.5 Python內置函數

Python 解釋器自帶的函數叫做內置函數,這些函數可以直接使用,不需要導入某個模塊。

>>> dir(__builtins__)

二、python變量類型和運算符

2.1 變量的定義和使用

a,b=1,2

2.1.1 Python是弱類型的語言

弱類型語言有兩個特點:

  • 變量無須聲明就可以直接賦值,對一個不存在的變量賦值就相當於定義了一個新變量。
  • 變量的數據類型可以隨時改變,比如,同一個變量可以一會兒被賦值為整數,一會兒被賦值為字符串。

2.2數值類型

Python中數有四種數值類型:整數、長整數、浮點數和復數。

  • 整型, 如 1, -1, 0

  • 長整型,是比較大的整數,如 234234243324

  • 浮點型,如 1.23、3E-2

  • 復數,如 1 + 2j、 1.1 + 2.2j

在 Python 中查看類型,使用 type() 內置函數。

>>> type(2)
int
>>> type("2")
str

2.2.1十六進制、八進制和二進制

  • 十六進制:在 Pthon 中使用 0x 開頭的“數字”表示十六進制的數。對於 9 以後的數字,沒有對應的阿拉伯數字。則使用 a 表示 10 , b 表示 11 ,依次類推,最後 f 表示 15。 在十六進制表達中不區分“字母”的大小寫

  • 八進制:在 Python 中使用 0o 開頭的數字表示八進制, 注意 0 後面是英文字母 o

  • 二進制:0b 開關的表達式表示二進制。在二進制表達式中,只能使用數字 0 與 1

hex1 = 0x45
hex2 = 0x4Af
print("hex1Value: ", hex1)
print("hex2Value: ", hex2)
hex1Value: 69
hex2Value: 1199

2.2.2Python 數值類型轉換

  • int(x) 將 x 轉換為一個整數。

  • float(x) 將 x 轉換到一個浮點數。

  • complex(x) 將 x 轉換到一個復數,實數部分為 x ,虛數部分為 0 。

>>> a = 3.1415926
>>> int(a)
3
##轉換為復數表達式。
>>> complex(a)
(3.1415926+0j)

2.2.3數值和表達式

‘/’除法運算的結果為小數,即浮點數

#無論操作數是整數還是浮點數,結果總都是浮點數
>>> 4.0 / 2
2.0
>>> 1 / 1
1.0

如果你想丟棄小數部分,即執行整除運算,可使用雙斜槓 // 。

#無論操作數是整數還是浮點數,得到的商不保留浮點數的尾數
>>>4//2
2
>>>5.0//2
2.0

求余(求模)運算符,x % y的結果為x除以y的余數

>>> 10 % 3
1
>>> 2.75 % 0.5
0.25
>>> 10 % -3
-2
>>> 10 // -3
-4

乘方(求冪)運算符。 請注意,乘方運算符的優先級比求負(單目減)高,因此 -32 等價於 -(32) 。如果你要計算的是 (-3)**2 ,必須使用括號進行明確。

>>> -3 ** 2
-9
>>> (-3) ** 2
9

2.3Python字符串

2.3.1字符串連接和復制


#在操作兩 個整型或浮點型值時, + 是相加操作符。但是,在用於兩個字符串時,它將字符串 連接起來,成為“字符串連接”操作符。
>>> 'Alice' + 'Bob'
'AliceBob'
#如果你對一個字符串和一個整型值使用加操作符,Python就不知道如何處理
>>> 'Alice' + 42
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-5-4e9a9e71481a> in <module>
----> 1 'Alice' + 42
TypeError: can only concatenate str (not "int") to str
##在用於兩個整型或浮點型值時,* 操作符表示乘法。 但* 操作符用於一個字符串 值和一個整型值時, 它變成了“字符串復制”操作符。
>>> 'Alice' * 5
'AliceAliceAliceAliceAlice'

2.3.2Python 訪問字符串中的值

>>> var2 = "Runoob"
>>> print ("var2[1:5]: ", var2[1:5])
var2[1:5]: unoo
#in 關鍵字的用法類似於操作系統,用於判斷一個某個元素是否在一個列表或字符串中。
>>> if( "H" in a) :
>>> print("H 在變量 a 中")
>>> else :
>>> print("H 不在變量 a 中")
H 在變量 a 中
#not 關鍵字用於取反
>>> if( "M" not in a) :
>>> print("M 不在變量 a 中")
>>> else :
>>> print("M 在變量 a 中")
M 不在變量 a 中

2.3.3Python字符串格式化

用法是將一個值插入到一個有字符串格式符 %s 的字符串中。

>>> "我叫%s,今年%d歲!" % ('小明', 10)
'我叫小明,今年10歲!'

Python 字符串格式化符號:

  • %s : 格式化字符串 ;

  • %d : 格式化整數 ;

  • %f : 格式化浮點數字,可指定小數點後的精度 ;

指定小數精度
%m.nf
%.nf
m 表示最小寬度,n 表示輸出精度,.是必須存在的。
f = 3.141592653
# 最小寬度為8,小數點後保留3位
print("%8.3f" % f)
# 最小寬度為8,小數點後保留3位,左邊補0
print("%08.3f" % f)
# 最小寬度為8,小數點後保留3位,左邊補0,帶符號
print("%+08.3f" % f)

2.3.4單引號字符串以及對引號轉義

單引號和雙引號,大多數情況完全相同

'Let's go!'
報錯
#反斜槓( \ )對引號進行轉義
'Let\'s go!'

2.3.5 Python原始字符串

轉義字符有時候會帶來一些麻煩,例如我要表示一個包含 Windows 路徑D:\Program Files\Python 3.8\python.exe這樣的字符串,在 Python 程序中直接這樣寫肯定是不行的,不管是普通字符串還是長字符串。因為\的特殊性,我們需要對字符串中的每個\都進行轉義,也就是寫成D:\Program Files\Python 3.8\python.exe這種形式才行。

在普通字符串或者長字符串的開頭加上r前綴,就變成了原始字符串,具體格式為:

str1 = r'原始字符串內容'
str2 = r"""原始字符串內容""
rstr = r'D:\Program Files\Python 3.8\python.exe'
print(rstr)

2.3.6 Unicode 字符串

https://www.liaoxuefeng.com/wiki/1016959663602400/1017075323632896

Python 程序代碼中可能存在若干種語言文字的標識符和字符串用於顯示、輸出或注釋。為了存儲和顯示這些不同的語言文字,不同的國家和組織制定了若干種字符集標准。常見的字符集有 ASCII 字符集、簡體中文 GB2312 字符集、繁體中文 Big5 字符集、簡體中文 GB18030 字符集、Unicode 字符集等。

  • ASCII(American Standard Code for Information Interchange,美國信息交換標准代碼)是由美國國家標准學會(American National Standard Institute,ANSI)制定的基於拉丁字母的一套電腦編碼系統,ASCII 字符集是現今最通用的單字節編碼系統,等同於國際標准 ISO/IEC 646。
  • GB2312和GB18030字符集是由中國制定的漢字編碼字符集
  • Big5字符集是繁體中文社區中最常用的電腦漢字字符集標准
  • Unicode 是計算機科學領域裡的一項業界標准,包括字符集、編碼方案等。Unicode 是為了解決傳統的字符編碼方案的局限而產生的,它為每種語言中的每個字符設定了統一且唯一的二進制編碼,以滿足跨語言、跨平台進行文本轉換、處理的要求。

在Python3中,所有的字符串都是Unicode字符串,在 Unicode 中有很多方式將數字 23383 表示成程序中的數據,包括 UTF-8、UTF-16、UTF-32

在計算機內存中,統一使用Unicode編碼,當需要保存到硬盤或者需要傳輸的時候,就轉換為UTF-8編碼。

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-D05wg0Cx-1656062146825)(https://boostnote.io/api/teams/dlm1ZMj21/files/0971c779c2cf97bc40e136e29a66b04b029eb5ef84f40cae80904530464c4d1c-image.png)]

2.3.7 Python三引號

Python 三引號允許一個字符串跨多行,字符串中可以包含換行符、制表符以及其他特殊字符

>>> para_str = """這是一個多行字符串的實例 >>> 多行字符串可以使用制表符 >>> TAB ( \t )。 >>> 也可以使用換行符 [ \n ]。 >>> """
>>> print (para_str)

2.4 Python bytes類型及用法

bytes 是 Python 3.x 新增的類型,在 Python 2.x 中是不存在的。

如果采用合適的字符集,字符串可以轉換成字節串;反過來,字節串也可以恢復成對應的字符串。

#利用字符串的encode()方法編碼成bytes,默認使用utf-8字符集
a= “學習”.encode(‘utf-8’)
#調用 bytes 對象的 decode() 方法將其解碼成字符串
st= a.decode(‘utf-8’)

2.5 Python bool布爾類型

  • True 和 False 是 Python 中的關鍵字,當作為 Python 代碼輸入時,一定要注意字母的大小寫,否則解釋器會報錯。
  • bool 類型就是用於代表某個事情的真(對)或假(錯),如果這個事情是正確的,用 True(或 1)代表;如果這個事情是錯誤的,用 False(或 0)代表。

2.6 運算符

2.6.1 Python賦值運算符

#連續賦值
A=B=C=100
#擴展後的賦值運算符
x += y #類似於x = x + y
x -= y #類似於x = x - y

= 和 == 是兩個不同的運算符,= 用來賦值,而 == 用來判斷兩邊的值是否相等

2.6.2 Python三目運算符(三元運算符)

exp1 if contion else exp2

condition 是判斷條件,exp1 和 exp2 是兩個表達式。如果 condition 成立(結果為真),就執行 exp1,並把 exp1 的結果作為整個表達式的結果;如果 condition 不成立(結果為假),就執行 exp2,並把 exp2 的結果作為整個表達式的結果。

2.6.3Python 運算符優先級

運算符說明Python運算符優先級結合性小括號( )19無索引運算符x[i] 或 x[i1: i2 [:i3]]18左屬性訪問x.attribute17左乘方**16右按位取反~15右符號運算符+(正號)、-(負號)14右乘除*、/、//、%13左加減+、-12左位移>>、<<11左按位與&10右按位異或^9左按位或|8左比較運算符==、!=、>、>=、<、<=7左is 運算符is、is not6左in 運算符in、not in5左邏輯非not4右邏輯與and3左邏輯或or2左逗號運算符exp1, exp21左
4+4<<2
#類似於(4+4) << 2
  • Python 運算符結合性

100 / 25 * 16,/和*的優先級相同,應該先執行哪一個呢?

所謂結合性,就是當一個表達式中出現多個優先級相同的運算符時,先執行哪個運算符:先執行左邊的叫左結合性,先執行右邊的叫右結合性。


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved