Python導論、數據類型、運算、I/O
Python導論
Python是一門腳本語言,其擴展名為.py。腳本語言是被逐句解釋執(zhí)行的,此過程依賴于解釋器。Python的解釋器有CPython、Pypy等。
程序構成
Python程序由模塊、語句、表達式、對象組成。
-
模塊:每個
.py源代碼文件即為模塊,系統自帶的模塊為系統模塊,用戶編寫的模塊為用戶模塊。模塊由若干語句構成。 -
語句:分為簡單語句和復合語句。注意Python語句嚴格強調縮進,否則會導致語法錯誤。
- 簡單語句:一般地,每條簡單語句獨占一行。若一行內有多條語句,則其之間使用
;分隔。包括表達式、賦值、pass(空語句)、del、return、break、continue、import、global等。 - 導入模塊(
import)語句:import [module]或from [module] import [name]。前者導入后使用模塊名.成員名調用,后者導入后使用成員名調用。 - 復合語句:有多行代碼組成的語句,包括
if、while、for、def、try、with、class等。由頭部語句與構造體語句塊組成,其中:表示復合語句中語句塊的開始。構造體語句塊相對于頭部語句塊有縮進。 - 注釋:分為注釋語句與注釋塊,解釋時跳過此語句/塊。
#開頭的語句為注釋語句,被'''包圍的塊為注釋塊。
- 簡單語句:一般地,每條簡單語句獨占一行。若一行內有多條語句,則其之間使用
-
對象:Python中萬物皆對象,對象通過標識、類型、值進行標識。
- 標識:唯一地標識對象,
id([name])返回對象標識,CPython中表示對象的內存地址。 - 類型:對象的數據類型,
type([name])返回對象的數據類型。 - 值:對象的實際值,
print([name])返回對象的實際值。
==判斷兩個對象的值是否相同,is判斷兩個對象的標識是否相同(是否指向同一個對象)。 - 標識:唯一地標識對象,
數據類型
| 類型 | 描述 |
|---|---|
| 數字 不可變對象 |
整數(int) 浮點數(float)(即小數) 布爾 (bool):False(0)為假,True(非0)為真 復數 (complex):如4+3j(以j結尾表示復數) |
字符串 (str,' '/" ")不可變對象 |
由任意數量的字符組成 |
元組 (tuple,( ))不可變對象 |
不可變的序列,可隨機訪問 序列中元素可為任意數據類型 |
列表 (list,[ ])可變對象 |
可變的序列,可隨機訪問 序列中元素可為任意數據類型 相當于其他語言的數組 |
集合 (set,{ })可變對象 |
不重復的無序序列,不能隨機訪問 序列中元素必須為不可變對象,且可被哈希 |
字典 (dict,{ : })可變對象 |
不重復的鍵值對(Key->Value)序列,必須只訪問存在的鍵 若存在多個重復鍵,則只保留最后一個 鍵必須為不可變對象,且可被哈希 |
賦值
Python是動態(tài)語言,變量無需顯式聲明,通過賦值可自動確定數據類型。
- 賦值語句:
標識符=對象,=為賦值運算符,用于將標識符指向某個對象(引用該對象)。 - Python支持鏈式賦值語句:
標識符1=標識符2=對象,對象從右到左依次傳遞。 - 使用
del刪除標識符:del 標識符 - 序列解包賦值:Python可將序列解包為對應相同個數的變量,如
a,b=b,a。若想解包部分值,可使用特殊變量_(相當于其他語言中的ignore:_,b=1,2)。
運算
算術運算
-
四則運算:
+,-,*,/(小數),//(整除) -
取模:
%(注意Python是取模不是取余) -
乘方:
**/math.pow/pow -
自然底數:
math.exp -
對數:
math.log(不指定底數則為\(\ln\))/math.log10(\(\lg\))/math.log2 -
三角及反三角函數:
math.sin/math.cos/math.tan/math.asin/math.acos/math.atan
邏輯運算
- 非:
not - 與:
and - 或:
or
I/O
輸入(input函數)
-
構造:
input(["提示"])([]內表示可選參數) -
作用:從
stdin獲取輸入,返回所輸入的字符串(str),可將字符串轉為需要的數據類型,如a=int(input())。 -
若要輸入帶有提示,則向
input傳遞提示字符串參數。 -
輸入的字符串可使用字符串的分割方法(
str.split()),進而傳遞給多個標識符。
如a,b=map(int,input().split([sep=None]))(map表示批量作用,split默認以空格分割)
輸出(print函數)
- 構造:
print(obj[,sep=' ',end='\n',file=stdout]) obj:所要輸出的對象sep:若輸出多個對象,指定對象間的分隔符(默認為空格)end:輸出行尾結束符(默認為\n)file:指定輸出到的文件(默認為stdout)
格式化輸出
格式化輸出有f-string、str.format()、%格式化三種方法,在此僅介紹f-string方法。
print(f"{對象名:格式說明}")
| 示例 | 說明 |
|---|---|
{value:10} |
寬度10,默認右對齊,空格填充 |
{value:<10} |
寬度10,左對齊 |
{value:^10} |
寬度10,居中對齊 |
{value:0>10} |
寬度10,右對齊,0填充 |
{value:.2f} |
浮點數,小數點后保留2位 |
{value:,.2f} |
加千分位符,保留2位 |
{value:.0%} |
百分比格式,四舍五入到整數百分比 |

浙公網安備 33010602011771號