python語法簡單知識點總結
最近把python的語法過了一遍,並且簡單記錄了python主要語法,記錄下來以供查閱。簡單的變數內容就不綴述了。
列表
names =[‘a’ , ‘b’, ‘c’, ‘d’]
print(names)
訪問列表元素
索引:0開始,最後一個-1print(names[0])
修改列表元素
修改names[1] = ‘e’
表尾新增names.append(‘d’)
插入names.insert(0,’d’)
根據索引刪除del names[0]
刪除names.pop() names.pop(0)
根據值刪除names.remove(‘a’)
列表排序
sort() 永久排序
names.sort() (按照字母順序)
names.sort(reverse = True)
sorted 臨時排序
names.reverse() 反轉列表
len(names) 確定長度遍歷列表(注意縮排和冒號)
for name in names:
print(name)
- 建立數值列表
range() //列印數值1.2.3.4
for value in range(1,5):
print(value)
list() //生成數值列表
Numbers = list(range(1,5))
可以用第三個引數指出步長
處理數字列表函式
min() max() sum()列表解析
squares = [value**2 for value in range(1,11)]
- 切片(指定第一個元素和最後一個元素的索引)
print(names[0:3])
print(names[-3:0])
遍歷切片:
for name in names[0:3]:
print(name)
newnames = names[:]
- 元組(不可更改)
T_names=(‘a’,’b’,’c’,’d’)
if語句
- 可以省略else程式碼塊
- 測試多個條件時僅使用多個if並列(測試通過繼續)
- 和迴圈for使用,檢查列表特殊元素(for if)
- 檢查列表是否為空(if for)
字典
alien = {‘color’:’green’,’point’:5}
print(alien[‘color ’])
- 訪問字典
- 新增鍵值對
alien[‘position’] = 0
- 修改、刪除
del alien[‘position’]
- 遍歷字典
遍歷所有的鍵值對:
for key,value in alien:
遍歷所有的鍵:
for key in alien.keys():
for key in alien:
按順序遍歷字典中所有的鍵
for key in sorted(alien.keys()):
遍歷所有的值
for value in alien.values():
(剔除重複項):
for value in set(alien.values()):
- 巢狀:列表和字典的互為巢狀
使用者輸入和while迴圈
- input() 接受一個引數,顯示以提示使用者(輸入內容解釋為字串py2中raw_input()同上)
- int() 獲取數值輸入
number = int (number)
- while迴圈
函式
1.定義函式
def greet_user(name):
print(“hello”+name)
greet_user(‘Alice’)
- 禁止修改列表
將列表的副本傳遞給函式function_name(list_name[:])
- 傳遞任意數量的實參
*name :建立了name空元組,將接收到的所有值封裝進去
**info :建立info空字典 - 將函式儲存到模組中
模組 pizza.py
匯入整個模組: import pizza
pizza.make_pizza() //函式呼叫
匯入模組中的特定函式
from module_name import function_name
as 函式/模組指名
函式名稱:小寫字母+下劃線
類(首字母大寫)
- 建立類和例項
class Dog(object)
def __init__(self, name, age):
self.name = name
self.age = age
def introduce(self):
print(self.name)
my_dog = Dog(‘white’, ‘5’) (init()返回的self儲存在my_dog中)
my_dog.introduce()
特殊方法:init() 形參self必不可少,並且是第一個
2. 繼承(用init()初始化父類的屬性)
class Mdog(Dog):
def __init__(self, name, age):
super(Mdog, self).__init__(name, age)
dog = Mdog('black', '5')
dog.introduce()
子類新增屬性:init()方法下新增 子類名.屬性名=
子類新增方法
方法重寫(定義方法名相同的方法)
3. 將例項用作屬性
檔案與異常
1.讀取檔案
with open(‘1.txt’) as f: //1.txt在py檔案目錄 其他用絕對路徑
contents = f.read()
print(contents.rstrip())
- 逐行讀取
with open(‘1.txt’) as f:
for line in f:
print(line)
- 建立包含檔案各行內容的列表
readline() 從檔案中讀取每一行
with open(‘1.txt’) as f: //預設讀取的是字串
lines = f.readline() // lines是一個列表
- 寫檔案
with open(‘1.txt’,’w’) as f:
f.write(‘hello’)
‘w’ 清空原檔案
‘a’ 附加
str() 和 int()
- 異常處理
try:
語句
except 異常名:
語句
else:
語句
分析文字
split() 以空格為分隔符將字串分拆為多個部分,並存儲到列表中儲存資料 json模組
json.dump() 儲存
import json
numbers = [1, 2, 3]
with open('1.json', 'w') as f:
json.dump(numbers, f)
json.load() 讀取
import json
with open('1.json') as f:
numbers = json.load(f)
print(numbers)
八、測試程式碼
模組:unittest
1.測試函式
import unittest
import name_function
class NameTastCase(unittest.TestCase):
def test_full_name(self):
formatted_name = name_function.full_name('jony', 'peter')
self.assertEqual(formatted_name, 'Jony Peter')
unittest.main()