Python(2):基礎語法總結
文章目錄
資料型別
兩種基本型別
python中由兩種基本型別,要麼是字串,要麼是數字
數字[整數&浮點數]
(1)、python中使用表示乘方,比如33 = 333 , 3**2 = 3*3
print(3**2.5) 【3^2.5=15.588457268119896】 print(3**3) 【3^3 = 27】
(2)、Python3中,常規除法/,整除//
print(3/2) 【1.5】
print(3//2) 【1】
字串
- 使用""和’'表示字串
- 使用""“long string”""或者’’‘long string’’'表示一個跨越多行的長字串
- 使用+拼接字串
字串方法
- string.title() —>將每個單詞的首字母改成大寫,以空格為間隔
- upper():將單詞的所有字母改成大寫
lower():將單詞的所有字母改成小寫- message = " hello world " .lstrip().rstrip():刪除左邊空格,刪除右邊空格,同時使用刪除兩邊空格
這些方法只能應用於字串,不能用於數字
優秀優秀,python中字串居然可以做乘法[±/不能,只能*]
print(“hello”*20) 把hello列印20遍
型別轉換
type()、int()等是python的內建函式
- type():檢視變數的資料型別
- int() 轉換為int形式,上下取整,比如12.99–>12
- float() 轉換為float形式, 提供的引數不能是"abce"之類的
- str() 轉換為str形式
比如:將數字轉換為字串形式:string = str(num)
列表&字典
列表[元組&切片]
列表由一系列按照特定排序的元素組成,類似陣列,但是和陣列不同的是,列表中可以存放任何東西 【大概是因為python是一種弱型別的語言】
1、列表是動態的,隨時可以呼叫append、pop等方法增刪元素。
0表示第一個元素,-1表示最後一個元素
(1).獲取列表的長度
- len(names)
(2)新增元素
- append(newvalue):在元素的末尾新增一個空間,並且儲存新的元素
- insert(index, newvalue):在索引index處新增一個空間並且儲存新值,index後面的空間全部後移一位
(3)刪除元素
- del name[index]:刪除索引index處的空間以及元素
- popValue = pop(index):刪除索引index處的空間以及元素,並且返回這個被刪除的元素【和其他語言不同的是,pop(index)可以指定刪除哪一個元素】
- remove(value):通過指定元素值將這個元素以及對應的空間刪除,只會刪除從列表中找到的第一個值,如果這個值在列表中出現了多次,可以通過迴圈來判斷是否刪除了所有這樣的值
(4)修改元素
- nane[index] = newValue
2、排序
- sort方法:永久性的對列表進行排序,如果想要反轉排序:names.sort(reverse=True)
- sorted(names):臨時建立一個列表排序,不改變原來列表的順序。反轉:sorted(names, reverse=True)
- names.reverse():永久反轉列表排列順序
3、生成列表
- range(min, max):按照順序生成一系列數字:從min開始,步長為1,直到<max。min可以省略,預設從0開始
- range(min, max, bu):按照順序生成一系列數字:從min開始,步長為bu,直到<max
- range(max, min, -bu):按照順序生成一系列數字:從max開始,步長為-bu,直到>min
- list(range(min, max)):將range(min, max)的結果轉換成列表
- max, min, sun:計算數字列表的最大值、最小值和總和
- 列表解析:square = [value**2 for value in range(1, 11)]
- print(range(1, 5)):結果是range(1, 5),因為在python3中,range()函式不會提供一個數字列表,而是提供一個"可迭代"的東西,可以使用迴圈來遍歷它
for i in range(10, 1, -3):
print(i)
字串可以看成是一個字元列表
for i in "Hi this":
print(i)
4、切片
- 切片---->使用列表的一部分
- names[first:last]:獲取索引在[first, last)裡面的所有元素
5、元祖
(1)列表適合儲存在程式執行期間可能變化的資料集。列表是可以修改的,不可以改變的列表叫做元組
- 列表:liebiao = [1, 3, 3]
- 元祖:yuanzu = (1, 2, 3)
(2)不要在元組中使用切片,雖然不會報錯,但是結果不是你想要得
(3)可以通過yuanzu[index]獲取值,但是不能通過yuanzu[index] = newValue修改響應index的值。如果想要修改元祖的值,請重新定義元祖yuanzu = (1, 2, 3, 5)
字典
python中字典是一系列鍵值對,相當於其他語言中的map
ali = {“color”:“green”, “point”:5}
- ali[“color”]:字典是通過鍵名來訪問響應值的,字典中沒有索引這個概念。我們必須確保每個鍵是唯一的。
修改值
- ali[“color”]=“red”
新增鍵值對
- ali[“newkey”]=newvalue 這樣的方法來新增鍵值對【字典是動態的】
刪除鍵值對
- del ali[“oldkey”]:oldkey必須已經存在字典中,否則會報錯
檢視
- ali.items():返回一個鍵值對列表
- ali.keys():返回一個鍵列表
- ali.value():返回一個值列表
遍歷
*遍歷字典,返回鍵值對:for k, v in ali.items():
- 遍歷字典中的所有值:for k in ali.values():
- 遍歷字典中的所有鍵:for k in ali.keys():
排序輸出:python不關心鍵值對的儲存順序,如果想要順序輸出,必須:
- sorted(ali)和sorted(ali.keys)作用相同,都是臨時對鍵進行排列。
去除重複值
- 字典中key不可以重複,但是值是可以重複的,如果想要去除重複值,請用set(ali.keys())
- 字典中可以巢狀字典
- 字典的值可以是列表,也就是說:可以一個鍵對映多個值
其他
- 變數名
1、 慎用l和o字母
2、 建議使用小寫的python變數名
3、 python中使用_代替空格給變數取名
- 註釋
添加註釋的方法 : #註釋
- 使用者輸入
1、 input():讓程式暫停,等待使用者輸入一些文字字串,python會將使用者輸入的值儲存在一個臨時變數中,可以將這個臨時變數儲存在一個變數中以供日後使用:message = input(“please input your name:”)
2、 int():用來輸入數字
age = input("input your age:")
print(int(age))
- 檢視記憶體地址:id(obj)
i = 5
print(id(i))
i = 5+1
print(id(i)) //和其他語言不一樣,每次改變i的值,i的記憶體都會變【有一種解釋,叫做貼標籤:Python中所有常量都是由自己的記憶體自己的,這裡由一個標籤叫做i,先前i貼在常量5上面,然後又把i取下來,貼到6上面】---->靠,強烈不適,違反直覺
參考:學習Python程式設計:從入門到實踐