1. 程式人生 > >Python學習筆記3:Python基礎

Python學習筆記3:Python基礎

1、語句和語法
(1)註釋(#)
(2)繼續( \)
存在兩種例外情況,一個語句不使用反斜線也可以跨行:

  • 在使用閉合操作符(小括號,中括號,花括號)時單一語句可跨多行;
  • 使用三引號包括下的字串也可跨多行。

(3)縮排相同的多個語句構成程式碼組(:)

if(w==1) and (s==0):
    w+=1;
    s+=2;

(4)程式碼組由不同的縮排分隔
縮排4個空格寬度,避免使用製表符。
“懸掛else”(dangling_else)

if(a==b)
    print "a";
    print "b";

(5)同一行書寫多個語句,用分號(;)分隔

import
sys;
x='foo';sys.stdout.write(x+'\n')

(6)模組
每一Python指令碼檔案都可看成一個模組。
模組以磁碟檔案的形式存在。

2、變數賦值
(1)賦值操作符(=)
Python物件是通過引用傳遞的。所以在賦值時,不管這個物件是新建立的,還是一個已經存在的,都是將該物件的引用(並不是值)賦值給變數。
y=(x=x+1)不合法的用法,因為Python不像C那樣,賦值語句被當成一個有返回值的表示式。
(2)增量賦值
+= -= = /= %= *= <<= >>= &= ^= |=
增量賦值的意義:第一個物件僅被處理一次。
若第一個物件是可變物件會被就地修改。(無需拷貝引用)
若第一個物件是不可變物件,那麼和A=A+B一樣分配一個新物件。
不支援++x或–x等。
(3)多重賦值


x=y=z=1
(4)多元賦值
x,y,z=1,2,’a string’
或者(x,y,z)=(1,2,’a string’)

3、識別符號
(1)關鍵字(保留字)
Keyword模組:包含關鍵字列表和iskeyword()函式。
(2)“內建”(built-in)識別符號集合
看成適用在任何一級Python程式碼的全域性變數,雖不是關鍵字,但應看成“系統保留字”,不作它用。built-in是__builtins__模組的成員,在程式開始或在互動直譯器中給出>>>提示之前,由直譯器自動匯入。
Python大小寫敏感。
Python不支援過載識別符號。
(3)專用下劃線識別符號


_xxx 不用’from import module import *’匯入
xxx 系統定義名字
_xxx 類中的私有變數名

4、基本風格指南
註釋
文件__doc__特別變數
縮排
識別符號名稱
Pythonic:以Python的方式去編寫程式碼,組織邏輯和物件行為。
模組結構和風格

>>>#(1)起始行(Unix)
>>>#(2)模組文件(文件字串)
>>>#(3)模組匯入
>>>#(4)變數定義(全域性變數)
>>>#(5)類定義
>>>#(6)函式定義
>>>#(7)主程式

主模組會被直接執行,或由使用者通過命令執行,或作為批處理執行,或由Unix cron任務定時執行,或通過Web伺服器呼叫,或通過GUI執行。
絕大部分模組都是用來被別人呼叫的模組。
匯入當前模組,所需的模組是在模組匯入時匯入的,每個模組僅匯入一次;此時函式內部的模組匯入程式碼不會執行,只有函式在執行時,才會匯入。模組被匯入時,class定義會執行,函式定義會執行。
只有真正需要執行的程式碼在模組中沒有縮排,幾乎所有的功能程式碼都在函式當中。通常只有主程式模組中有大量的頂級可執行程式碼,所有其它被匯入的模組都只應該有很少的頂級執行程式碼,所有功能程式碼都應該封裝在函式或類的當中。
unittest模組,有時被稱為PyUnit,是一個測試框架。

5、記憶體管理
Python中,無須事先宣告變數,但變數同樣只有被建立和賦值後才能被使用。
Python中,變數型別也無需宣告。因為變數型別和佔用記憶體是在執行時確定的。
引用計數
一個內部跟蹤變數,稱為一個引用計數器。每個物件各有多少個引用,簡稱引用計數。
建立物件並將引用賦值給變數,引用計數設定為1。
當物件引用被賦值給其他變數時,或作為引數傳遞給函式、方法或類例項時,或被賦值為一個窗體物件的成員時,該物件的一個新的引用或稱作別名被建立,引用計數加1。
當物件引用被銷燬時,引用計數會減少:引用離開其作用範圍時,或者當變數賦值給另一個物件的引用時,或者使用del語句刪除一個變數,或者當一個物件被移除一個視窗物件時。
引用計數變為0,導致物件“無法訪問”或“無法抵達”。
✪注意:任何追蹤或除錯程式會給一個物件增加一個額外引用,這會推遲該物件被回收的時間。
直譯器跟蹤物件的引用計數,垃圾收集器負責釋放記憶體。
Python垃圾收集器實際上是一個引用計數器和一個迴圈垃圾收集器。
將一個經常用到的模組屬性替換為一個本地引用。
因為模組是全域性變數,而使用區域性變數會提高查詢速度。因為在全域性查詢之前,會先查詢本地變數。

6、相關模組和開發工具

  • 《Python風格指南》
  • 《Python快速參考指南》
  • 《Python常見問答》

偵錯程式:pdb
記錄器:logging
效能測試器:cProfile,profile(過時),hosthot(過時)

相關推薦

Python學習筆記3Python基礎

1、語句和語法 (1)註釋(#) (2)繼續( \) 存在兩種例外情況,一個語句不使用反斜線也可以跨行: 在使用閉合操作符(小括號,中括號,花括號)時單一語句可跨多行; 使用三引號包括下的字串

Python學習筆記3簡單文件操作

name n) popu 元素 close nes pla () eof # -*- coding: cp936 -*- # 1 打開文件 # open(fileName, mode) # 參數:fileName文件名稱 # mode打開方式 # w

Python學習筆記3多線程的示例一

set range int lse color cos star als read 基於python3.6,使用threading模塊實現: 1 import threading 2 import time 3 4 def run(n): 5 prin

Python學習筆記Python基礎

Python語法採用縮排形式,有以下幾點需要注意: 註釋以#開頭; 當語句以冒號:結尾時,縮排的語句視為程式碼塊; 始終堅持4個空格的縮排; 大小寫敏感; 1. 資料型別和變數 1.1 資料型別 1.1.1 整數 在程式中的寫法和數學中的寫法一樣

nanopi NEO2 學習筆記 3python安裝第三方GPIO

編譯 spa 修改 neo spi 分享 install 是個 選擇 如果我要用python控制NEO2的各種引腳,i2c 或 spi ,RPi.GPIO模塊是個非常好的選擇 這個第三方模塊是來自樹莓派的,好像友善之臂的工程師稍作修改移植到了NEO2上,就放在 /root/

Python學習筆記3字典方法

Python字典方法 字典初體驗 建立空字典 dict2 = {} >>> type(dict2) <class 'dict'> 建立字典 >>> dict1 = {1:'one',2:'two',3:'three'} >>> dict1

Python學習筆記01Python解釋器

3.6 str 2.6 python安裝 blog 時間比較 info ima style 資料參考:廖雪峰的官方網站https://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac927076

Python學習筆記13Python面向物件程式設計

1、引言 (1)類和例項:類是物件的定義,例項是“真正的實物”。 定義類:類名通常大寫字母打頭。 class MyNewObjectType(bases): 'define MyNewObjectType class' class_su

Python學習筆記Python中列表元素轉為數字

numbers = ['1', '5', '10', '8']; 方法一: numbers = [ int(x) for x in numbers ] 方法二: umbers = list(map(int, numbers))

Python學習筆記4Python物件

1、Python物件 所有Python物件都擁有三個特性:身份(只讀,id())、型別(只讀,type())和值。 Python型別也是物件。物件的值是否可更改被稱為物件的可改變性(mutabili

Python學習筆記3】變數型別數字+字串+元組+列表

11.函式庫引用math,random,turtle。 需要:                  import 庫名 庫名.函式名(變數值) 或者需要:           from庫名import函式名,或者是:from庫名import* 函式名(變數值) 12.

Python學習筆記3——三大結構順序,分支,迴圈3

順序   自上而下,依次執行 分支   分支的基本語法     if 條件表示式:       語句1       語句2       語句3       ......   條件表示式就是計算結果必須為布林值的表示式   表示式後面的冒號不能少   

python爬蟲學習筆記3bs4及BeautifulSoup庫學習

Beuatiful Soup bs類對應一個HTML/xml文件的全部內容 from bs4 import BeautifulSoup import bs4 soup=BeautifulSoup('<p>data</p>','ht

python學習筆記2字符串

nbsp 大小 alpha .com format 大小寫 fin 判斷大小 key python學習筆記2:字符串 總結:字符串是不可變變量,不能通過下標修改其值    字符串的方法都不會改變字符串原來的值,而是新生成一個字符串 一、3種寫法——單引號,雙引號,三引號  

Python學習筆記文件處理

alt 筆記 lin 系統 顯式 當前位置 open 刷新 大小 一:打開文件 open(name,mode,[bufferSize]) name:文件路徑 mode:文件打開方式 二:文件讀取 read()方法:可以一次讀取文件的全部內容,Python把內容讀到

python學習筆記9正則表達式

使用 引入 常用 常用的正則表達式 需要 style pan 表達式 span 一、簡介   正則表達式就是用來查找字符串的;用來匹配一些比較復雜的字符串。   使用正確表達式需要引入re模塊 (regular定期的有規律的)    二、匹配字符串的方法

python學習筆記8異常處理

mage 可能 str 裏的 tro 信息 學習筆記 異常信息 常見 一、異常處理   在程序運行過程中,總會遇到各種各樣的錯誤。   程序一出錯就停止運行了,那我們不能讓程序停止運行吧,這時候就需要捕捉異常了,通過捕捉到的異常,我們再去做對應的處理。   如下,寫段代碼,

python學習筆記9面向對象編程,類

數據 相同屬性 技術 -o 必須 是把 oop ack 繼承 一、面向對象編程   面向對象--Object Oriented Programming,簡稱oop,是一種程序設計思想。   還有另一種程序設計思想——面向過程編程。面向過程的思想是把一個項目、一件事情按照一定

Head First Python 學習筆記-Chapter3文件讀取和異常處理

獲取 for循環 文件 處理 pyhton find ont ren app 第三章中主要介紹了簡單的文件讀取和簡單的異常處理操作。 首先建立文件文件夾:HeadFirstPython\chapter3,在Head First Pythong官方站

Python學習筆記字符串常用操作,字典,三級菜單實例

rip .get isalnum 變量名 cde tro 分割 字母 isdigit 字符串常用操作 7月19日,7月20日 ,7月22日,7月29日,8月29日,2月29日 首字母大寫:a_str.capitalize() 統計字符串個數:a_str.count(“x”)