跳到主要內容

Python Study (7) – Statements


Introduction

Programming statements are used to expresse action or assign a variable in program.Each statement  has own syntax and purpose. We can combine these statements to achieve specific purpose.

Assignment Statements

Assingment statement is used to set reference of object or value stored in monery address by a variable name.

(1) normal assignment : fruit = “apple”

(2) sequence assignment:  a,b = 'Jack', 'John'

(3) List assignment :

(4) Augmented assignment:
     >>>a =1
     >>>a+=1

(5) Sequence assignment

  • Sequence one to one
>>>seq = [1, 2, 3, 4]
>>> a,b,c,d = seq
>>> a,b = seq  #seq have 4 elements, but assignemnt elements just have 2
Traceback (most recent call last):
  File "<pyshell#9>", line 1, in <module>
    a,b = seq
ValueError: too many values to unpack (expected 2)

>>> a,b,c,d = seq
>>>a
1
  • Sequence one and rest
>>>seq = [1, 2, 3, 4]
>>> e, *f = seq[0:3]    #e get first element, other element assign f
>>> e
1
>>> f
[2, 3]

>>> *g, h = seq[0:3]  #
>>> g
[1, 2]
>>> h
3

>>> i, *j, k = seq[0:4]
>>> i
1
>>> j
[2, 3]
>>> k
4

  • Boundary cases
>>>seq = [1, 2, 3, 4]
>>>

 

(6) Mulitple-target assignment
     There has many assignment variable.

>>> a = b =0
>>> b = b + 1
>>> a,b
(0, 1)

>>> a =b =[]
>>> b.append(10)
([10], [10])

>>> a=[]
>>> b= []
>>> a.append(21)
([],[42])




 

Control Statements

1.if/elif/else statment

  • Syntax

if expression :
      statement1
elif:
       statement2
else:
      statement3


  • Example
    (1) There are a fruit list , we check apple if it is in the list.
fruit = ["apple","banana"]
if "apple" in fruit:
    print("found it!)
else:
    print("don’t found it!")
--------------------------------------
found it !

       (2) Jack

grade = {"Jack":90, "Joe":60, "Bryant":50,  "Hacker":30}
if grade["Hacker"]>=90:
    print("perfect!")
elif grade["Hacker"]<=90 and grade["Hacker"] >=60 :
    print("great")
elif grade["Hacker"]<60:
    print("hard")

--------------------------------------
hard

2. for/else

  • Syntax

for var inm sequence:
    statment1

       (1) 

list1 = {1,2,3,4,5}
for a in list1 :
    print(a)

--------------------------------------
1
2
3
4
5

3.while/else

  • Syntax

while( expression):
     statment1

  • Exception

while True:
    inputNumebr = input("Enter a numebr:")
    if inputNumebr== "stop":break
        print(int(inputNumebr))
-----------------------------------------------------------------------------------------Enter a numebr:1234
1234
Enter a numebr:stop

Note : you input a number 


Handling Errors


In python when the programe is executed how to handle it and throw message to notify operator.

  • Syntax

try:
    statement01
except:
    statement02

  • Exception

while True:
    inputNumebr = input("Enter a numebr:")
    if inputNumebr== "stop":break
    try:
        print(int(inputNumebr))
    except:
        print("Please input a number!")
-----------------------------------------------------------------------------------------Enter a numebr:1234
1234
Enter a numebr:stop

Note : When  input is not a  number , it will enter into except section and    show “Please input a number”
 




 

 

留言

這個網誌中的熱門文章

GSON基礎教學

GSON 前言 JSON是很常見的資料交換格式,在JAVA領域常用處理JSON的函式庫:GSON、FastXML和JSON-B,本章節會以GSON為主,學習目標如下 JSON格式說明 GSON 套件函式 GSON: 物件轉換JSON字串 GSON: JSON字串轉換物件 JSON 格式說明 JSON全名為JavaScript Object Notation,它是一種輕量級的資料交換格式,會大為流行的理由,主要是他比傳統用xml更輕巧且容易處理, JSON表達方式物件會用大括弧{},陣列則是用中括號[]。 用JSON字串來表達Employee的物件內容,由JSON字串可以知道物件name、age、sex和salary屬性。 JSON表示員工資料方式: {“name”:”Jack Bryant”, “age”:18, “sex”:”M”,”salary”:3500.00} JSON陣列表示方式: 跟我們使用JAVA的陣列方式類似,內容值可以是數字’、文字、布林、陣列、物件、null等等。 範例: 字串: [“紅”、”橙”、”黃”、”綠”、”青”、”藍”、”紫”} 布林: [true, true, false, false, true, true] GSON 套件函式 Gson為google所發布的函式庫,主要將物件與json字串之間的轉換時方便使用。當我們將JAVA物件轉換成JSON字串稱為 序列化 ,JSON字串轉換至JAVA物件稱為 反序列化 。 GSON: 物件轉換JSON字串 有了JSON基本概念後,我們進入本章重點,首先我們需要建立員工類別(Employee),定義如下 物件 屬性 員工類別 Employee name 名字 age 年紀 sex 性別 salary 薪水 /** * name:員工類別 */ public class Employee implements Serializable { //constructor public Employee(String name, double salary){ this.name = name; this.sala...

PHP與Python搭配

今天介紹如何利用php網頁呼叫目錄下的python程式工作或是資料交換,本人整理的方法有兩種 使用system()、exec()、shell_exec()呼叫程式 (1) string system ( string return_var ] ) 參考網址 官網解釋system()用來執行外部命令,返回為印出的結果,passthru()跟system()類似但是它不會返回結果。 範例1. 利用system執行ls指定並顯示在網頁上,無法使用變數保留ls的結果 檔案名稱: psystem.php $jsondata= system("ls -al", $result); 結果: (2) exec() : string exec ( string output [, int &$return_var ]] ) 參考網址 範例2. 利用exec執行python程式並可以回傳json格式給前端網頁做處理並顯示。我們ptopy.php就是可以看到callpy()為執行py的函式,它執行完pyEx01.py會將結果給$jsondata變數,做後面json解析。 檔案名稱: ptopy.php function callpy() { $jsondata= exec("/usr/bin/python pyEx01.py"); return $jsondata ; } $jsondata= callpy(); echo $jsondata ; echo " " ; $obj = json_decode($jsondata) ; echo "name:".$obj-> { 'name'} .',' ; echo "id:".$obj-> { 'id'} ; 檔案名稱: pyEx01.py import sys ...

Python AI-問題集

Python AI-問題集 問題集 Jupyter Notebook執行ipywidgets會出現kernel死掉的錯誤發生(The kernel appears to have died) 解決方法 (1) 根據log檔來判斷問題: 例如:log訊息出現OMP: Error #15: Initializing libiomp5.dylib, but found libiomp5.dylib already initialized. (2) 根據問題關鍵字找出問題所在: 利用google查詢所遭遇到的問題,例如我把上面的問題上google查詢可以找到這篇的解法 https://blog.csdn.net/bingjianIT/article/details/86182096 (3)實作解法: 我實作下面解法後,就可以順利執行手寫辨識的程式. //在Python宣告時加入 import os os.environ["KMP_DUPLICATE_LIB_OK"]="TRUE" 參考 https://blog.csdn.net/bingjianIT/article/details/86182096