目前分類:python (10)

瀏覽方式: 標題列表 簡短摘要

python教學與範例:

 

python基礎教學與範例1 基礎語法

python基礎教學與範例2 多元素容器

python基礎教學與範例3 字串

python基礎教學與範例4 if判斷式與邏輯運算子

python基礎教學與範例5 迴圈

python基礎教學與範例6 函式

python基礎教學與範例7 類別

python基礎教學與範例8 引用外部檔案

python基礎教學與範例9 數學運算

 

 

 

按此前往程式語言教學目錄

文章標籤

埃伯 發表在 痞客邦 留言(1) 人氣()

 

9. 基礎數學運算:

要進行基礎數學運算,必須要在開頭引入數學函式庫,以利用python內建的數學函式來進行運算。具體作法,即是在開頭寫下這一行:

Import math

(1) 指對數:

math.pow(a,b):回傳ab次方之值。

math.sqrt(a):回傳a的開根號之值。

math.exp(a):回傳expa次方之值。

math.log(a):回傳以exp為底數、a為真數的對數之值。

math.log(a,b):回傳以b為底數、a為真數的對數之值。

(2) 三角函數:

math.cos(a):回傳cos(a)之值。其中a的單位為徑度。

math.sin(a):回傳sin(a)之值。其中a的單位為徑度。

math.tan(a):回傳tan(a)之值。其中a的單位為徑度。

(3) 四捨五入與進位:

round(a):回傳a之小數經四捨五入後之值。

math.floor(a):回傳a之小數無條件捨去後之值。

math.ceil(a):回傳a之小數無條件進位後之值。

(4) 絕對值:

math.fabs(a):回傳a之絕對值。

 

 

上一篇: 引用外部檔案

回python教學 總目錄

 

文章標籤

埃伯 發表在 痞客邦 留言(0) 人氣()

8. 引用外部檔案:

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

(1) 其基本寫法為:

import 外部檔案名稱

要注意,外部檔案名稱不含檔案之副檔名。

若要引用外部檔案中的變數,在程式碼中不可直接寫下變數名稱,應寫成:

外部檔案名稱.變數名稱

同樣的,要引用外部檔案中的函式,也應寫成:

外部檔案名稱.函式名稱(參數一, 參數二, 參數三)

範例如,設有一個檔案名為mei.py,其內容程式碼為:

name="weiwei"

age=18

def introduction():

    print "hi everyone, I'm",name,",",age,"years ago!"

而今有另一個檔案名為pytt.py,其引用了mei.py,而其程式碼如下:

import mei

mei.introduction()

而在執行pytt.py之後,會顯示出:

hi everyone, I'm weiwei , 18 years ago!

引用外部檔案時,若嫌外部檔案名稱太長,可使用關鍵字as,自訂名稱取代外部檔案名稱。如在pytt.py中,其內容改為:

import mei as m

m.introduction()

而在執行pytt.py之後,一樣會顯示出:

hi everyone, I'm weiwei , 18 years ago!

(2) 從檔案中引用變數或函式:

from 外部檔案名稱 import 函式名或變數名

要注意,外部檔案名稱不含檔案之副檔名。

在這種寫法中,若要引用外部檔案中的變數或函式,在程式碼中可直接寫下變數或函式名稱。

範例如,設有一個檔案名為mei.py,其內容程式碼為:

name="weiwei"

age=18

def introduction():

    print "hi everyone, I'm",name,",",age,"years ago!"

而今有另一個檔案名為pytt.py,其引用了mei.py,而其程式碼如下:

from mei import introduction

introduction()

而在執行pytt.py之後,會顯示出:

hi everyone, I'm weiwei , 18 years ago!

 

 

上一篇: 類別

下一篇: 數學運算

回python教學 總目錄

文章標籤

埃伯 發表在 痞客邦 留言(0) 人氣()

 

7. 類別

(1) 宣告:

python的類別宣告式,是使用「建構式」來宣告類別成員,而建構式的名稱必須是 __init__,其中用self關鍵字代表類別本身。類別宣告法如下:

class 類別名稱:

    def __init__(self, 參數一, 參數二, 參數三…):

              self.類別成員一 = 參數一

              self.類別成員二 = 參數二

              self.類別成員三 = 參數三

        …

def 成員函式名稱(self, 參數一, 參數二, 參數三…):

              #成員函式內容

其中,參數一參數二參數三的名稱和類別成員一類別成員二類別成員三的名稱都由程式設計者自行命名。也要注意,無論是建構式還是自訂的成員函式,其最前面的參數一定要有、且必為self。而在函式內容中,也一律以self.類別成員來存取類別成員。

(2) 類別物件的建立:

要建立類別物件,必須先宣告類別,之後再寫:

物件名稱 = 類別名稱(參數一, 參數二, 參數三…)

其中,物件名稱是由程式設計者當下自訂,類別名稱則是某個先前已經宣告的類別之名稱。而(參數一, 參數二, 參數三…)的寫法必須要符合該類別之建構式寫法,不過不含self

(3) 類別物件成員的存取:

物件名稱.成員名稱 = 可以為該成員賦值、修改值,物件名稱.成員名稱可以回傳該成員目前的值。

(4) 類別物件成員函式的呼叫:

物件名稱.成員函式名稱(參數一, 參數二, 參數三…)

其中,(參數一, 參數二, 參數三…)的寫法必須要符合該類別宣告中,該成員函式宣告式的寫法,不過不含self

綜合範例如:

class mei:

    def __init__(self, name_, age_):

        self.name=name_

        self.age=age_

    def introduction(self):

        print "hi everyone, I'm",self.name,",",self.age,"years ago!"

 

M1 = mei("weiwei", 18)

M1.introduction()

if M1.name=="weiwei":

    M1.name="nunu"

M1.introduction()

執行後顯示:

hi everyone, I'm weiwei , 18 years ago!

hi everyone, I'm nunu , 18 years ago!

 

 

上一篇: 函式

下一篇: 引用外部檔案

回python教學 總目錄

文章標籤

埃伯 發表在 痞客邦 留言(0) 人氣()

 

6. 函式

(1) Python的函式使用def關鍵字來宣告,且不需要像C++一樣在宣告時寫下回傳值的資料型態,而函式內容的程式碼也不需要像C++一樣用大括號包起來。其語法為:

def 函式名稱(參數一, 參數二, 參數三…):

          #函式內容

    return 回傳值  # 函式不一定要設有回傳值,視程式設計者需要而定

要注意,在Python中,分辨各個層次不是以大括號,而是用縮排(縮排通常是用按一次<tab>鍵的方式)。以上的#函式內容def兩行之間相差一個<tab>鍵。

如以下函式,判斷a是否為奇數:

def is_odd(a):

          if a%2==1:

                   return True

          else:

                   return False

 

(2) 函式的輸入參數,其數目可以是不定的,這使得函式的設計變得更有彈性。此種設計需使用到*符號,如以下範例,是用來寫出一個多項式(polynomial)的形式:

def show_polynomial(*pars):

    r=""

    for i in range(0, len(pars), 1):

        if i==0:

            r+=str(pars[i])

        else:

            r+=str(pars[i])+"*x^"+str(i)

        if (i!=len(pars)-1):

            r+="+"

    return  r

 

s=show_polynomial(1,2,3)

print(s)

 

執行後顯示:

1+2*x^1+3*x^2

(3) python中函式可回傳多個變數,且這些變數的資料型態可以互不相同。這些變數以一個稱為Tuple的形式來包裝。如以下範例,是在描述一個數字的特性:

def get_num_info(a):

    s=""

    if (a%2==1):

        s="奇數"

    else:

        s="偶數"

 

    n=1

    b=a

    while(b>10):

        b=b/10

        n=n+1

 

    is_negative=True

    if(a<0):

        is_negative=True

    else:

        is_negative=False

 

    return (s,n,is_negative)   #(s,n,is_negative)就是所謂的Tuple形式

 

a,b,c = get_num_info(13)   # a,b,c為回傳的Tuple內容,abc的名稱可以自訂

print(a)

print(str(b)+"位數")

print("是負數嗎?"+str(c))

 

執行後顯示該數字的特性:

奇數

2位數

是負數嗎?False

 

(4) python當中,函式可以被當作物件看待,因此一個函式也能被當作另一個函式的輸入參數。如以下範例,有三個數學多項式函式:function1function2function3,而compare函式則是用來比較任意二多項式函式在某個點x上,其函數值誰大誰小:

def function1(a):

    return 2*a*a-9*a+10

 

def funtion2(a):

    return 3*a+6

 

def function3(a):

    return a*a*a-10*a

 

def compare(f1,f2,a):

    print ("at",a,":")

    print ("f1=",f1(a),", f2=",f2(a))

    if f1(a)>f2(a):

        print("f1>f2")

    elif f1(a)<f2(a):

        print("f1<f2")

    elif f1(a) == f2(a):

        print("f1=f2")

 

compare (function1, function3, 5)

 

執行後顯示:

at 5 :

f1= 15 , f2= 75

f1<f2

 

上一篇: 迴圈

下一篇: 類別

回python教學 總目錄

文章標籤

埃伯 發表在 痞客邦 留言(0) 人氣()

5. 迴圈:

利用forinrange等關鍵字,其寫法如下:

(1) 利用自變數的遞增或遞減來控制迴圈的執行:

for 自變數 in range(值一, 值二, 值三):

          #欲執行的程式碼

通常,自變數只是個變數名稱或符號,值一值二值三則是數字。

第一行表示先將自變數之值設成值一,若自變數之值小於值二則執行一次欲執行的程式碼,執行完後自變數會增加,增加的大小為值三。然後一直重複執行欲執行的程式碼,直到自變數之值不小於值二為止。注意,括號之後還有一個冒號 : 。範例如:

for i in range(1,10,1):

    print i

執行後顯示如下:

1

2

3

4

5

6

7

8

9

又如:

for i in range(1,10,2):

    print i

執行後顯示如下:

1

3

5

7

9

(2) 直接利用清單成員,在清單內控制迴圈的執行:

for 自變數 in 多元素容器:

          #欲執行的程式碼

通常,自變數只是個變數名稱或符號,但卻代表多元素容器內的元素。此寫法會自動將自變數設為多元素容器內最前面的元素(即是序數為0的元素),來執行欲執行的程式碼,然後將自變數由前到後、逐一設為多元素容器內的元素。範例如:

A=[11,12,13,14,15]

for i in A:

    print i

執行後顯示:

11

12

13

14

15

 

 

上一篇: if判斷式與邏輯運算子

下一篇: 函式

回python教學 總目錄

文章標籤

埃伯 發表在 痞客邦 留言(0) 人氣()

4. if判斷式與邏輯運算子:

(1) if判斷式寫法:

If 條件一:

          #程式碼一

elif 條件二:

          #程式碼二

elif 條件三:

          #程式碼三

else:

          #後備程式碼

先看條件一是否成立,若成立就會執行程式碼一;若不成立就看條件二是否成立,成立就執行程式碼二;這個寫法可以類推到條件三條件四等等,若所有條件都不成立,就會執行後備程式碼。要注意的是,ifelifelse和其底下的程式碼是用縮排做區隔,也就是說兩行之間相差一個<tab>。另外,各條件之後還有一個冒號 : 也不能忽略。範例如下:

a=10

b=12

c=15

if a>15:

    print "a larger than 15!"

elif a> 5:

    print "a larger than 5!"

else:

print "a is too small!"

執行後顯示:a larger than 5!

(2) 邏輯運算子(andornot)

條件一 and 條件二 取兩條件之交集。

條件一 or 條件二 取兩條件之聯集。

not 條件 取該條件之反集。

範例如:

a=10

b=12

c=15

if a>5 and b<100:

    print "status 1"

if a>5 or c<5:

    print "status 2"

if not c<5:

    print "status 3"

執行後顯示:

status 1

status 2

status 3

上一篇: 字串

下一篇: 迴圈

回python教學 總目錄

文章標籤

埃伯 發表在 痞客邦 留言(0) 人氣()

3. 字串

(1) Python中,字串可用雙引號"或單引號'包覆。如:

s="fff"

print s

執行後顯示:fff

又如:

s='fff'

print s

執行後也顯示:fff

(2) len(字串),可回傳該字串的字元數目。

(3) [N],可回傳該字串中序數為N的字元。

(4) 字串的加法:直接用加法符號+即可。如範例:

A="aaa"

B="bbb"

C=A+B+"jjj"

print C

執行後顯示:aaabbbjjj

(5) 字串的常用內建函式:

字串變數名稱.split("某字元"),可回傳一個清單,該清單之元素是在該字串中以某字元為分割依據來分割後的結果,如範例:

s="a,b,c"

sA =  s.split(",")

print sA[0],"...",sA[1],"...",sA[2]

執行後顯示:a ... b ... c

 

 

上一篇: 多元素容器

下一篇: if判斷式與邏輯運算子

回python教學 總目錄

文章標籤

埃伯 發表在 痞客邦 留言(0) 人氣()

2. 多元素容器:

(1) list(清單)

清單可擁有多個元素,且其元素個數在清單宣告後仍可以改變。同一個清單中的元素,可以是不同的資料型態。

(1-1) 清單的宣告:

清單名稱 = []   #宣告空白的清單

清單名稱 = [值一, 值二, 值三…]   #宣告非空白的清單

(1-2) 用法:

清單名稱[N]:其中,N是序數,為一個非負整數。此方法可以回傳清單中第N個元素。

清單名稱.append(變數):可將該變數加入此清單的末尾成為其元素。

len(清單名稱):回傳一個整數。其值代表該清單的元素個數。

清單名稱.count():回傳一個整數,代表「該清單中有多少個元素的值與相同」。

(2) dictionary(字典)

字典的應用比清單更有彈性,不僅元素個數在清單宣告後仍可以改變、同一清單中的元素可以是不同資料型態,且可自訂元素的索引。同一清單中的索引亦可以是不同的資料型態。

(2-1) 其宣告方式為:

多行宣告:

字典名稱 = {}

字典名稱[索引一]=值一

字典名稱[索引二]=值二

單行宣告:

字典名稱 = {索引一:值一, 索引二:值二}

(2-2) 用法:

字典名稱[索引]:。此方法可以回傳清單中,該索引對應至的元素。

len(字典名稱):回傳一個整數。其值代表該字典的元素個數。

 

 

上一篇: 基礎語法

下一篇: 字串

回python教學 總目錄

文章標籤

埃伯 發表在 痞客邦 留言(0) 人氣()

PythonC++來說,在使用上更簡潔。Python比較類似javascript,不須宣告變數型態。

可在以下網址,下載python

https://www.python.org/downloads/

點選紅色框框內的按鈕即可。

一般在Linux系統上,都內建有Python編譯器。Python程式碼檔案之副檔名為py,在Linux中要編譯且同時執行Python程式碼,可用輸入以下指令:

python Python程式碼檔案名

如:

python mtcode.py

 

1. 基礎語法:

(1) 斷行:

Python程式碼的斷行,不需要像C++一樣,在行尾加個分號 ;Python程式碼的行尾不需要寫任何標點符號。

(2) 變數宣告:

(2-1) Python宣告變數時,不需要宣告其變數型態。Python會自行判斷該變數屬於哪種變數型態。如:

A = 10

B= " this is apple"

(2-2) Python支持「同行多變數宣告」,如:

A = 10 , B= " this is apple"

這和:

A = 10

B= " this is apple"

是同樣的效果。

(3) 註解:

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

# 註解ABCD

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

" " "

這是註解一

這是註解二

" " "

(4) 基本輸出:

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

B= " this is apple "

print B

執行後輸出:this is apple

此外,print方法也支持多變數連續輸出,如:

B= " this is apple "

C="orange"

print B, ", but I want",C

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

 

* 朋友們若是覺得本教學對您有幫助,請點擊網頁右下方"贊助連結商"下的廣告~

 

下一篇: 多元素容器

回python教學 總目錄

文章標籤

埃伯 發表在 痞客邦 留言(0) 人氣()