1. 程式人生 > >python語法簡單知識點總結

python語法簡單知識點總結

 最近把python的語法過了一遍,並且簡單記錄了python主要語法,記錄下來以供查閱。簡單的變數內容就不綴述了。

列表

names =[‘a’ , ‘b’, ‘c’, ‘d’]
print(names)
  1. 訪問列表元素
    索引:0開始,最後一個-1 print(names[0])

  2. 修改列表元素
    修改names[1] = ‘e’
    表尾新增names.append(‘d’)
    插入 names.insert(0,’d’)
    根據索引刪除 del names[0]
    刪除 names.pop() names.pop(0)
    根據值刪除 names.remove(‘a’)

  3. 列表排序
    sort() 永久排序
    names.sort() (按照字母順序)
    names.sort(reverse = True)
    sorted 臨時排序
    names.reverse() 反轉列表
    len(names) 確定長度

  4. 遍歷列表(注意縮排和冒號)

for name in names:
    print(name)
  1. 建立數值列表
    range() //列印數值1.2.3.4
for value in range(1,5):
      print(value)  

list() //生成數值列表
Numbers = list(range(1,5)) 可以用第三個引數指出步長

  1. 處理數字列表函式
    min() max() sum()

  2. 列表解析

squares = [value**2 for value in range(1,11)]
  1. 切片(指定第一個元素和最後一個元素的索引)
print(names[0:3])
print(names[-3:0])

遍歷切片:

for name in names[0:3]:
    print(name)
newnames = names[:]
  1. 元組(不可更改)
T_names=(‘a’,’b’,’c’,’d’)

if語句

  1. 可以省略else程式碼塊
  2. 測試多個條件時僅使用多個if並列(測試通過繼續)
  3. 和迴圈for使用,檢查列表特殊元素(for if)
  4. 檢查列表是否為空(if for)

字典

alien = {‘color’:’green’,’point’:5}
print(alien[‘color
’])
  1. 訪問字典
  2. 新增鍵值對
alien[‘position’] = 0
  1. 修改、刪除
del alien[‘position’]
  1. 遍歷字典
    遍歷所有的鍵值對:
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()):
  1. 巢狀:列表和字典的互為巢狀

使用者輸入和while迴圈

  1. input() 接受一個引數,顯示以提示使用者(輸入內容解釋為字串py2中raw_input()同上)
  2. int() 獲取數值輸入
number = int (number)
  1. while迴圈

函式

1.定義函式

 def greet_user(name):
      print(“hello”+name)
greet_user(‘Alice’)
  1. 禁止修改列表
    將列表的副本傳遞給函式 function_name(list_name[:])
  2. 傳遞任意數量的實參
    *name :建立了name空元組,將接收到的所有值封裝進去
    **info :建立info空字典
  3. 將函式儲存到模組中
    模組 pizza.py
    匯入整個模組: import pizza
    pizza.make_pizza() //函式呼叫
    匯入模組中的特定函式
from module_name import function_name

as 函式/模組指名
函式名稱:小寫字母+下劃線

類(首字母大寫)

  1. 建立類和例項
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())
  1. 逐行讀取
 with open(‘1.txt’) as f:
       for line in f:
           print(line)
  1. 建立包含檔案各行內容的列表
readline() 從檔案中讀取每一行
 with open(‘1.txt’) as f:    //預設讀取的是字串
      lines = f.readline()   //  lines是一個列表
  1. 寫檔案
 with open(‘1.txt’,’w’) as f:
       f.write(‘hello’)

‘w’ 清空原檔案
‘a’ 附加
str() 和 int()

  1. 異常處理
try:
  語句
except 異常名:
  語句
else:
  語句
  1. 分析文字
    split() 以空格為分隔符將字串分拆為多個部分,並存儲到列表中

  2. 儲存資料 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()