基本輸出
語法結構: print(輸出內容)
print()函數完整的語法格出: print (value,...,sep='',end='\n',file=None)
只有字符串可以用+連接
基本輸入
語法結構: x=input('提示文字’)
注意事項: 無論輸入的數據是什么 x 的數據類型都是字符串類型
示例:
name = input("Enter your name: ")#單行注釋示例
print('我的姓名是:'+name)
fp=open('text.txt','w')#打開文件
print('人生苦短,我用Python',file=fp)#輸出內容到文件
fp.close()#關閉文件
a=100
b=50
print(90)
print(a)
print(a*b)
print(a,b,'a+b')
print(chr(65))
print('hello','world',sep='啊',end='//')
print('amazing')
age=input("Enter your age:")
print('我的年齡是:'+age)
print(a,b,sep='',end='')
print('c')
?
?
注:輸出內容到文件中,如果是中文字符,可能會顯示亂碼,只要更改這個.txt文件的編碼格式為 GBK 就可以了(在 Windows 系統中,CMD 默認使用 GBK 編碼,若 Python 腳本以 UTF-8 輸出中文,CMD 會顯示亂碼)
print('北京歡迎您!!')
print("北京歡迎您!!")
print("'北京歡迎您!!'")
print('''北京歡迎您''')
在Python中,單雙引號是等價的。?
?可以將單雙引號交替使用來避免轉義
保留字(關鍵字)
Python 語言中被賦予特定意義的單詞,它們在語言內部有固定用途,不能將保留字作為變量名或函數名。Python 版本更新可能會添加或刪除保留字,可以通過代碼來查看當前版本的保留字列表
import keyword
print(keyword.kwlist) # 輸出當前 Python 版本的所有保留字
截至 Python 3.10,共有 35 個保留字:
False await else import pass
None break except in raise
True class finally is return
and continue for lambda try
as def from nonlocal while
assert del global not with
async elif if or yield
!!嚴格區分大小寫
標識符
標識符是程序員在程序中為變量、函數、類、模塊等自定義的名稱。
命名規則:
(1)只能由字母、數字和下劃線(_)組成。例如 my_variable、count1 是合法的,而 my-var 是不合法的,因為包含了 -。
(2)不能以數字開頭。像 1num 就不是合法的標識符,num1 則是合法的。
(3)不能是 Python 的保留字。比如不能將變量命名為 if、for 等。
(4)區分大小寫。MyVar 和 myvar 是兩個不同的標識符。
命名習慣:
(1)變量和函數:通常使用小寫字母和下劃線組合的方式,如 student_name、calculate_sum。
(2)類:采用駝峰命名法,即每個單詞的首字母大寫,如 StudentInfo、PersonClass。
(3)常量:一般用全大寫字母和下劃線組合,如 MAX_VALUE、PI。
基本數據類型
int(整型)
不限長度,支持任意大小的整數。
x = 100
y = -5
z = 1_000_000 # 下劃線分隔大數字
float(雙精度浮點型)
表示小數,支持科學計數法。
x = 3.14
y = 1.23e6 # 等同于 1.23 * 10^6
?**和C/C++不同的是,C/C++的 float 為單精度浮點值,double 為雙精度浮點值。在 Python 中不會專門區別單雙精度,全部按照雙精度來處理。
內置函數 round():用于對數字進行四舍五入操作。
語法
round(number, ndigits)
number:必填參數,表示要進行四舍五入的數字,可以是整數、浮點數等數值類型。
ndigits:可選參數,表示要保留的小數位數。如果不提供該參數,round() 函數會將數字四舍五入到最接近的整數。
1. 不指定保留小數位數,四舍五入到整數
num1 = 3.14159
result1 = round(num1)
print(result1)num2 = 2.99
result2 = round(num2)
print(result2)
?round(3.14159) 會將 3.14159 四舍五入到最接近的整數,結果為 3;round(2.99) 四舍五入后結果為 3。
2. 指定保留小數位數
num3 = 3.14159
result3 = round(num3, 2)
print(result3)num4 = 5.6789
result4 = round(num4, 1)
print(result4)
round(3.14159, 2) 表示將 3.14159 四舍五入到保留兩位小數,結果是 3.14;round(5.6789, 1) 會把 5.6789 四舍五入到保留一位小數,結果為 5.7。?
?3. 特殊情況
當舍去部分的最高位恰好為 5,且 5 后面沒有其他數字或全為 0 時,如果保留部分的末位數字是偶數,則直接舍去 5(不進位)。如果保留部分的末位數字是奇數,則進位(末位加 1)。
print(round(2.5)) # 結果:2(保留部分末位是2,偶數,舍去5)
print(round(3.5)) # 結果:4(保留部分末位是3,奇數,進位)print(round(2.35, 1)) # 結果:2.4(保留部分末位是3,奇數,進位)
print(round(2.45, 1)) # 結果:2.4(保留部分末位是4,偶數,舍去5)
complex(復數型)
實部和虛部組成,虛部用 j 表示。
x = 3 + 4j
print(x.real) # 輸出: 3.0
print(x.imag) # 輸出: 4.0
bool(布爾型)
只有兩個值?True?和?False,用于邏輯判斷。
True?= 1,False = 0
布爾值為 False 的情況:
(1)False 或者?None
(2)數值中的 0,包含 0,0.0,虛數 0
(3)空序列,包含空字符串、空元組、空列表、空字典、空集合
o=True
print(o)
print(o+10)
q=False
print(q)
print(q+10)#非零的字符串布爾值為True
print(bool('北京歡迎你'))
print(bool(''))
str(字符串型)
表示文本,用單引號、雙引號或三引號包裹。
x = "Hello"
y = 'World'
z = """多行字符串"""
inform='''
你好
世界
'''
print(inform)
**在 Python 中,沒有獨立的字符(Character)型,而是將單個字符視為長度為 1 的字符串(str 型)。
常見用法:
對字符串中某個子串或區間的檢索稱為切片
切片的語法結構:字符串或字符串變量?[N:M](從n開始到m結束但是不包含m)
字符串索引從左到右的取值范圍:0 到 n-1;
字符串索引從右到左的取值范圍:-1到 n;
常用的字符串操作: ?? ?
(1)x+y 將字符串x與y連接起來 ?? ?
(2)x*n或n*x 復制n次字符串x ?? ?
(3)x in s 如果x是s的子串,結果為True,否則結果為False
#字符串索引及切片操作
s='helloworld'
print(s[0],s[-10])
print('北京歡迎你'[3])
print('北京歡迎你'[-2])
print(s[2:7])#正向遞增
print(s[-8:-3])#反向遞減
print(s[:5])#默認從0開始
print(s[5:])#默認切片到結尾#常用的字符串操作
x='2005'
y='小明出生'
z='2'
print(x+y)
print(x*10)
print(x in y,z in x)
數據類型之間的轉換
函數 | 描述說明 |
---|---|
int(x) | 將 x 轉換為整數類型 |
float(x) | 將 x 轉換為浮點數類型 |
str(x) | 將 x 轉成字符串 |
chr(x) | 將整數 x 轉換為一個字符 |
ord(x) | 將一個字符 x 轉換為其對應的整數值 |
hex(x) | 將一個整數 x 轉換為一個十六進制字符串 |
oct(x) | 將一個整數 x 轉換為一個八進制字符串 |
bin(x) | 將一個整數 x 轉換為一個二進制字符串 |
?**辨析 str(x) 和 chr(x) :
函數 | str(x) | chr(x) |
---|---|---|
功能 | 將任意對象轉換為字符串表示形式 | 將?整數?轉換為對應字符 |
參數類型 | 任意類型(整數、列表、自定義對象等) | 必須是整數(范圍:0 ~ 1,114,111) |
返回值 | 對象的字符串形式(保留結構) | 長度為 1 的字符串(單個字符) |
典型場景 | 字符串拼接、文件寫入、打印調試信息 | 生成特殊字符(如表情符號、非 ASCII 字符) |
(1)處理整數?
str(65) # '65'(直接轉為數字的文本形式)
chr(65) # 'A'(Unicode 碼點 65 對應字符 'A')
?(2)處理容器類型
str([1, 2]) # '[1, 2]'(保留列表格式的字符串)
chr([1, 2]) # 報錯!chr() 只接受整數
?(3)生成特殊字符
chr(128512) # 😀(笑臉表情)
chr(0x4E2D) # 中(Unicode 碼點 20013)
容器數據類型
list(列表)
可變、有序的元素集合,支持任意數據類型。
x = [1, "apple", True]
x.append(3.14) # 添加元素
tuple(元組)
不可變、有序的元素集合。
x = (1, "apple", True)
# x[0] = 2 # 錯誤:元組不可修改
range(范圍)
不可變的整數序列,通常用于循環。
x = range(5) # 生成 0, 1, 2, 3, 4
dict(字典)
無序的鍵值對集合,鍵必須唯一且不可變。
d = {"name": "Alice", "age": 30} # 鍵值對用冒號分隔
d = dict(name="Alice", age=30) # 另一種創建方式
print(x["name"]) # 輸出: Alice
set(集合)
無序、唯一元素的集合,支持數學集合運算。
s = {1, 2, 3} # 直接用花括號
s = set([1, 2, 3]) # 通過列表創建
s = set() # 創建空集合(不能用 {},否則是字典)
x.add(4) # 添加元素
1、數據去重:
lst = [1, 2, 2, 3, 3, 3]
unique_items = set(lst) # {1, 2, 3}
2、數學集合運算
s1 = {1, 2, 3}
s2 = {3, 4, 5}
print(s1 & s2) # 交集:{3}
print(s1 | s2) # 并集:{1, 2, 3, 4, 5}
print(s1 - s2) # 差集:{1, 2}
轉義字符
轉義字符 | 描述 | 示例(打印結果) |
---|---|---|
\\ | 反斜杠本身 | print('a\\b') ?→?a\b |
\' | 單引號 | print('I\'m') ?→?I'm |
\" | 雙引號 | print("She said: \"Hi\"") ?→?She said: "Hi" |
\n | 換行符(新行) | print('a\nb') ?→a b |
\t | 制表符(Tab) | print('Name\tAge') ?→?Name Age |
\r | 回車符(覆蓋當前行) | print('Hello\rWorld') ?→?World (Hello ?被覆蓋) |
\b | 退格符(Backspace) | print('abc\bd') ?→?abd (刪除?c ) |
print('老師說:\"好好學習,天天向上\"')
print('老師說:"好好學習,天天向上"')#加r/R可以使轉義字符失效
print(r'老師說:\"好好學習,天天向上\"')
print(R'老師說:\"好好學習,天天向上\"')
算術運算符
運算符 | 描述說明 | 示例 | 結果 |
---|---|---|---|
+ | 加法 | 1+1 | 2 |
- | 減法 | 1-1 | 0 |
* | 乘法 | 2*3 | 6 |
/ | 除法 | 5/2 | 2.5 |
// | 整除 | 5//2 | 2 |
% | 取余 | 10%3 | 1 |
** | 冪運算 | 2**4 | 16 |
和 C/C++ 的除法計算不同,?C/C++ 的除法運算會直接舍去小數部分(相當于 Python 中的整除)
賦值運算符?
運算符 | 描述說明 | 示例 | 展開形式 |
---|---|---|---|
= | 簡單的賦值運算 | x=y | x=y |
+= | 加賦值 | x+=y | x=x+y |
-= | 減賦值 | x-=y | x=x-y |
*= | 乘賦值 | x*=y | x=x*y |
/= | 除賦值 | x/=y | x=x/y |
%= | 取余賦值 | x%=y | x=x%y |
**= | 冪賦值 | x**=y | x=x**y |
//= | 整除賦值 | x//=y | x=x//y |
比較運算符
運算符 | 描述說明 | 示例 | 結果 |
---|---|---|---|
> | 大于 | 98>90 | True |
< | 小于 | 98<90 | False |
== | 等于 | 98==90 | False |
!= | 不等于 | 98!=90 | True |
>= | 大于或等于 | 98>=98 | True |
<= | 小于或等于 | 98<=98 | True |
邏輯運算符
運算符 | 描述說明 | 用法 | 結合方向 |
---|---|---|---|
and | 邏輯與 | 表達式 1 and 表達式 2 | 從左到右 |
or | 邏輯或 | 表達式 1 or 表達式 2 | 從左到右 |
not | 邏輯非 | not 表達式 | 從右到左 |
表達式 1 | 表達式 2 | 表達式 1 and 表達式 2 | 表達式 1 or 表達式 2 | not 表達式 1 |
---|---|---|---|---|
True | True | True | True | False |
True | False | False | True | False |
False | False | False | False | True |
False | True | False | True | True |
優先級從高到低依次為非與或:not?>?and?>?or?
位運算符
把數字看作二進制數來進行計算。
按位與(&)、按位或(|)、按位異或(^)//不同為 1 、按位取反(~)
左移位(<<)//左邊高位舍棄,右邊低位補0、右移位(>>)//右邊地位舍棄,左邊高位補0
【左乘右除:向左移位是乘法操作,向右移位是除法操作】
運算符的優先級
運算符 | 描述說明 |
---|---|
** | 冪運算 |
~、+、- | 取反、正號、負號 |
*、/、%、// | 算術運算符 |
+、- | 算術運算符 |
<<、>> | 位運算符中的左移位和右移位 |
& | 位運算符中的按位與 |
^ | 位運算符中的異或 |
| | 位運算符中的按位或 |
<、<=、>、>=、!=、== | 比較運算符 |
= | 賦值運算符 |
今天的分享就到這里啦~~
謝謝你的觀看!!