2020年8月13日 星期四

[編輯中]Python筆記

Colaboratory

python的執行

在command line 中直接輸入python test.py,就可以執行test.py這支程式,或者可以只輸入python進入測試模式,直接執行一行行python程式碼。

第一個Python程式如下:

print("Hello")

就這樣一行,沒了,直接就可以執行,不像C、C++還要寫一大堆起始函式有的沒的。


基本規則

Python程式碼的行尾不需要寫任何標點符號。

單行註解可用井字號#,如:

#這是單行註解

使⽤tab鍵做為縮排區塊的依據

多行註解可用三個連續的雙引號""",例如:

"""

這是多行註解一

這是多行註解二

"""

Python單引號、雙引號和三雙引號的區別

如: s1 = “hello,world” 如果要寫成多行,那麼就要使用\ (“連行符”)

如:s2 = “hello,\ 

                   world” 

如果你用3個雙引號的話,就可以直接寫了,

如:s3 = “””hello, 

world,  

hahaha.”””,

那麼s3實際上就是”hello,\nworld,\nhahaha.”, 注意“\n”,所以,如果你的字串裡\n很多,你又不想在字串中用\n的話,那麼就可以使用3個雙引號。而且使用3個雙引號還可以在字串中增加註釋,如:

s3 = “””hello, #hoho, this is hello, 在3個雙引號的字串內可以有註釋哦 

world, #hoho, this is world 

hahaha.””” 

這就是3個雙引號和1個雙引號表示字串的區別了,3個雙引號與1個單引號的區別也是和這個一樣的,當字串需要加入引號時,可採用單引號與雙引號互相巢狀使用例如:

print ‘test “‘”test “‘”‘ –>> test “test”

            “test ‘”‘test “‘”   –>> test ‘test’

當我用單引號來表示一個字串時,如果要表示 Let’s Go 這個字串,必須這樣: s4 = ‘Let\’s go’,注意沒有,字串中有一個’,而字串又是用’來表示,所以這個時候就要使用轉義符\ (\,轉義符應該知道吧), 如果你的字串中有一大堆的轉義符,看起來肯定不舒服,python也很好的解決了這個問題,

如:s5 = “Let’s go” 

這時,我們看,python知道你是用 ” 來表示字串,所以python就把字串中的那個單引號 ‘ , 當成普通的字元處理了,是不是很簡單。對於雙引號,也是一樣的,下面舉個例子

s6 = ‘I realy like “python”!’這就是單引號和雙引號都可以表示字串的原因了。

變數宣告

變數不需要宣告變數型態,Python會自行判斷該變數屬於哪種變數型態( runtime時才會進⾏binding),例如:

A = 10

B = "this is string"


同行多變數宣告,用逗號分隔,例如:

A = 10 , B= " this is apple"

變數多重設定

– Ex: orange, apple = 2, 5

變數可以更換型態

a = 5

a = "aaa"

全域變數可直接宣告在function之外,或在function內使用global 關鍵字

REF

基本輸出

用print 變數名稱或值來進行基本輸出,輸出後會自動斷行,例如:

B = "this is apple"

C = "orange"

print (B,", but I want",C)

執行後輸出:this is apple , but I want orange

print("A","B","C","D",sep="|")

執行結果: A|B|C|D

引用外部檔案

用關鍵字import來引用外部檔案,該語法需寫在程式碼之開頭。

import 外部檔案名稱

例如:import file1


引用外部檔案時,若嫌外部檔案名稱太長,可使用關鍵字as,自訂名稱取代外部檔案名稱。

關鍵字 from 可以只引入外部檔案中部份定義的類別,不需要引入所有檔案內容。

例如:

from bs4 import BeautifulSoup as bs

從bs4(外部檔案)引入BeautifulSoup (類別)並重新命名為bs


運算子

a is b #判斷兩個變數的id是否相同,比的是記憶體位址

a == b #判斷兩個變數的值是否相同

yield 是在函式中回傳值但不結束函式,而return是在函式中回傳值並結束函式。以往在C/C++中想要在函式中回傳多個值,必需用回傳指標或陣列指標的方式;但在Pathon中可以透過yeild在函式中回傳多次,最後在函式外部接收這些值的物件再利用next方法依次取得回傳值。

物件

Python 中所有東⻄都是物件 (object) ,這是說 Python 裡的資料 (data) 都是物件。凡是物件都有:

• (id) 號碼

• (type) 型態

• (value) 數值

物件的值可以是可變的 (mutable) ,或是不可變的(immutable) ,通常這是說複合資料型態 (compound data type) 的元素 (element) 是否可以替換,例如序對 (tuple) 及字串是不可變的,⽽串列 (list) 或字典 (dictionary) 是可變的。


迴圈

for Var in iterable object :
    執行內容

自可迭代物件(iterable object)中取出一個項目,代入至Var中,直到可迭代物件中的項目盡皆取出。

while Condition :|
    執行內容


REF

https://docs.python.org/zh-tw/3/tutorial/index.html

Python 教學

沒有留言:

張貼留言