1. 程式人生 > 其它 >Python基礎之二

Python基礎之二

一、運算子
1、算術運算
常用:加減乘除(+、-、*、/)
不常用:取整(//)、取餘[也叫取模](%)、冪次方運算(**)
2、賦值運算
賦值運算(=),如 num = 1,將1賦值給變數num
拓展:
加法賦值運算(+=)、減法賦值運算(-=)、乘法賦值運算(*=)、
除法賦值運算(/=)、取整賦值運算(//=)、取模賦值運算(%=)、
冪次方賦值運算(**=)
eg.
# 算術運算
print(23 // 5) # 取整運算
print(13 % 5) # 取餘/取模運算
print(2 ** 4) # 冪運算
print('-------分割符------')

# 賦值運算
num_1 = 2
print(num_1)
num_1 = num_1 + 3 # 加法賦值運算一般寫法
print(num_1)
num_2 = 2
num_2 += 3 # 簡寫,此寫法效果等同於num2=num2+3,其它運算類同
print(num_2)

3、比較運算
>、<、==、>=、<=、!=
在運算時返回布林值(True或False)
4、邏輯運算
與:and
或:or
非:!
在運算時返回布林值(True或False)
eg.
# 比較運算

num = 10
print(num > 5) # num大於5為真返回True
print(num != 10) # num不等於10為假,返回False
print('-------分割符--------')
# 邏輯運算
num_1 = 10
num_2 = 20
print(num_1 == 10 and num_2 == 10) # and的前後同時為真則輸出True,否則輸出False
print(num_1 != 10 or num_2 != 10)
# or的前後只要有一個為真則輸出True,兩個為假則輸出False,該句中num_2 != 10為真


二、字串
1、字串定義
單引號或雙引號、三單引號或三雙引號
(字串定義裡面如果有空格,也算是字串的一部分,要佔一個位置)
eg.
str_01 = 'Hello'
str_02 = 'World'
str_03 = '''人生苦短'''
str_04 = """我選Python"""
print(str_01, str_02, str_03, str_04)

2、字串特性
(1)不可修改
(2)有序的
3、字串訪問和切片
3.1通過索引進行訪問
索引從0開始(正序)
索引從-1開始(倒序)

3.2切片
語法:字串變數名[起始位索引:結束位索引:步長]
規則:左閉右開(左:起始位索引;右:結束位索引);如有空格也佔一個索引位置;
步長不寫預設為1,即正序切片,每個都取;起始位不寫預設從0開始(正序),
或從-1開始(倒序);結束位不寫預設取到字串的最大長度
步長:有兩重含義,正負符號表示切片順序,正序或者倒序切片;
數字代表切片間距。
eg.
variable = 'Python'
# 訪問
print(variable[2]) # 正序訪問第三個位置字母t(索引為2)
print(variable[-4]) # 倒序訪問(索引為-4,取值和正序相同)
# 正序和倒序雖然索引值不同,但是對應的位置是一致的,所以取值結果也一樣
print('-----分割符------')
# 切片
print(variable[:]) # 起始位索引不輸入預設為0,結束位索引不輸入預設取到結束,步長不輸入預設正序取值,步長值為1
print(variable[::-1]) # 步長為負數則倒序取值,步長值為1,所以是nohtyP
print(variable[::2]) # 正序取值,步長值為2,即每2位取一個值,結果是Pto
print(variable[1:-1:2]) # 正序取值,步長值為2,即每2位取一個值,起始位索引1即從字母y開始,結束位索引-1,
# 注意左閉右開,所以不包含字母n,也就是在ytho中取值,所以是yh,
# 該寫法等同於print(str[1:5:2])或者print(str[-5:-1:2])
print(variable[-2::-3]) # 倒序取值,步長值為3,起始位索引-2,結束位索引不輸入預設取到結束,
# 即在Pytho中倒序取值,每3位取一值,即oy
print(variable[:-5:-2]) # 倒序取值,步長值為2,起始位索引不輸入預設為倒序的第一位-1即從n
# 開始取值,結束位索引-5,左閉右開規則所以不包括結束位字母y,所以是從thon中倒序每2位取一值,即nh
print(variable[::-1][1:4:2]) # 拓展1,切片後再切片
print(variable[-3:1]) # 拓展2,取值為空,不報錯

4、字串運算
4.1、拼接:+
4.2、重複輸出:*
5、轉義
定義:有特殊含義的字元就叫轉義字元,如\n(換行符)、\t(空格符)
取消轉義:在\n或者\t前面多加一條\,則會把\n或者\t當做普通字元,
也可以在字串引號前面加一個r
eg.
# 字串運算和轉義
str_1 = 'Hello,'
str_2 = 'Python'
str_3 = 'Hello\nWorld' # \n換行
str_4 = 'Hello\\nWorld' # 把\n當做普通字元,等同於str_4 = r'Hello\nWorld'
str_5 = 'Hello\tWorld' # \t空格
str_6 = r'Hello\tWorld' # 把\t當做普通字元,等同於str_6 = 'Hello\\tWorld'
print(str_1 + str_2) # 拼接
print(str_1 * 3) # 重複輸出3次
print('------分割符------')
print(str_3)
print(str_4)
print(str_5)
print(str_6)

6、字串常用方法
方法引用:變數名.方法名()
6.1、大小寫轉換
upper() 全部轉為大寫
lower() 全部轉為小寫
capitalize() 將字串的首字母大寫
title() 將字串的每個單詞首字母大寫
swapcase() 大小寫互換
eg.
# 大小寫轉換
variable = 'tEsT hEllO,pYThOn'
print(variable.upper()) # 全部轉為大寫
print(variable.lower()) # 全部轉為小寫
print(variable.capitalize()) # 將字串(整體)的首字母大寫,其它統一轉為小寫
print(variable.title()) # 將字串的每個單詞首字母大寫,其它統一轉為小寫
print(variable.swapcase()) # 大小寫互換

6.2、統計和查詢
str.count(sub,start,end)
sub:需要統計的字元
start:統計的開始位索引
end:統計的結束位索引
如果start、end不傳值,預設在整個字串裡面去統計
返回:統計該字元在字串中出現的次數
str.find(sub,start,end)
sub:需要查詢的字元
start:查詢的開始位索引
end:查詢的結束位索引
如果start、end不傳值,預設在整個字串裡面去查詢
返回:在字串中查詢到的首個該字元所在位置的索引
str.rfind(sub,start,end)
sub:需要查詢的字元
start:查詢的開始位索引
end:查詢的結束位索引
如果start、end不傳值,預設在整個字串裡面去查詢
返回:在字串中查詢到的最後一個該字元所在位置的索引
eg.
# 統計和查詢
variable = 'Hello Python'
num_01 = variable.count('h') # 統計h在整個字串出現的次數,注意有區分大小寫
num_02 = variable.count('l', 0, 3) # 統計l在Hel中出現的次數,注意同樣遵循切片的左閉右開規則,另外切片用冒號分隔,這裡用逗號分隔
num_03 = variable.count('l', 0, 4) # 統計l在Hell中出現的次數,所以是2次
num_04 = variable.count('x') # 統計的字元不存在時,則返回次數0
a = variable.find('h') # 查詢字串中出現的第一個h所在位置的索引
b = variable.rfind('h') # 查詢字串中出現的最後一個h所在位置的索引,因為只有一個h,所以和第一個相同
c = variable.find('m') # 查詢的字元不存在時,則返回-1
d = variable.rfind('o', 3, 11) # 查詢起始位索引為3,結束位索引為11,根據左閉右開,即在lo Pytho中查詢最後一個o的索引,即索引為10
print(num_01)
print(num_02)
print(num_03)
print(num_04)
print('------分割符-------')
print(a)
print(b)
print(c)
print(d)