變數
print("-------------輸出語句-------------");
message="Hello Python world";
print(message);
print("-------------首字母大寫-------------");
name="ada lovelace";
print(name.title());
print("-------------大小寫-------------");
print(name.upper());
print(name.lower());
print("-------------拼接字串-------------");
first_name = "ada"
last_name = "lovelace"
full_name = first_name + " " + last_name
print(full_name);
print("-------------新增空白-------------");
print("\tPython");
print("Languages:\nPython\nC\nJavaScript");
print("-------------刪除空白-------------");
print("Hello ".rstrip());
print("-------------運算-------------");
print(2+3);
print(3-2);
print(2*3);
print(3/2);
print(3**2);
print(3**3);
print(10**6);
print(0.1+0.1);
print(0.2+0.2);
print("------------註釋-------------");
# 測試註釋
-------------輸出語句-------------
Hello Python world
-------------首字母大寫-------------
Ada Lovelace
-------------大小寫-------------
ADA LOVELACE
ada lovelace
-------------拼接字串-------------
ada lovelace
-------------新增空白-------------
Python
Languages:
Python
C
JavaScript
-------------刪除空白-------------
Hello
-------------運算-------------
5
1
6
1.5
9
27
1000000
0.2
0.4
------------註釋-------------
Process finished with exit code 0
- 執行檔案hello_world.py時,末尾的.py指出這是一個Python程式,因此編輯器將使用Python直譯器來執行它
- 變數名只能包含字母、數字和下劃線。變數名可以字母或下劃線打頭,但不能以數字打頭,例如,可將變數命名為message_1,但不能將其命名為1_message。
- 變數名不能包含空格,但可使用下劃線來分隔其中的單詞。例如,變數名greeting_message可行,但變數名greeting message會引發錯誤。
- 不要將Python關鍵字和函式名用作變數名,即不要使用Python保留用於特殊用途的單詞,
- 變數名應既簡短又具有描述性。
- 慎用小寫字母l和大寫字母O,因為它們可能被人錯看成數字1和0
- 在Python中,註釋用井號( # )標識。井號後面的內容都會被Python直譯器忽略
列表
print("-------------列表-------------");
bicycles = ['trek', 'cannondale', 'redline', 'specialized'];
print(bicycles);
print("-------------訪問列表元素-------------");
print(bicycles[0]);
print("-------------修改列表元素-------------");
bicycles[0]='ducati';
print(bicycles);
print("-------------新增列表元素-------------");
bicycles.append('test');
print(bicycles);
print("-------------插入列表元素-------------");
bicycles.insert(0,'test2');
print(bicycles);
print("-------------刪除列表元素-------------");
del bicycles[0];
print(bicycles);
print(bicycles.pop());
print(bicycles);
print("-------------排序列表元素-------------");
bicycles.sort();
print(bicycles);
print("-------------倒敘列印列表元素-------------");
print(bicycles.reverse());
print("-------------列表長度-------------");
print(len(bicycles));
print("-------------數值列表------------");
numbers=list(range(1,6));
print(numbers);
-------------列表-------------
['trek', 'cannondale', 'redline', 'specialized']
-------------訪問列表元素-------------
trek
-------------修改列表元素-------------
['ducati', 'cannondale', 'redline', 'specialized']
-------------新增列表元素-------------
['ducati', 'cannondale', 'redline', 'specialized', 'test']
-------------插入列表元素-------------
['test2', 'ducati', 'cannondale', 'redline', 'specialized', 'test']
-------------刪除列表元素-------------
['ducati', 'cannondale', 'redline', 'specialized', 'test']
test
['ducati', 'cannondale', 'redline', 'specialized']
Process finished with exit code 0
- 列表由一系列按特定順序排列的元素組成
- 列表是有序集合,因此要訪問列表的任何元素,只需將該元素的位置或索引告訴Python即可
- Python方法 sort() 讓你能夠較為輕鬆地對列表進行排序。
- 要保留列表元素原來的排列順序,同時以特定的順序呈現它們,可使用函式 sorted() 。函式sorted() 讓你能夠按特定順序顯示列表元素,同時不影響它們在列表中的原始排列順序。
- 要反轉列表元素的排列順序,可使用方法 reverse()
- 使用函式 len() 可快速獲悉列表的長度
- Python根據縮排來判斷程式碼行與前一個程式碼行的關係。
選擇結構
print("-------------檢查是否相等-------------");
car='bmw';
print(car=='bmw');
print(car=='audi');
print(car=='BMW');
print(car.upper()=='BMW');
age=18;
print(age==18);
print(age>=18);
print(age<=18);
print(age>18);
print(age<18);
age_0 = 22;
age_1 = 18;
print(age_0 >= 21 and age_1 >= 21);
print(age_0 >= 21 or age_1 >= 21);
print("-------------if語句-------------");
age = 19
if age >= 18:
print("You are old enough to vote!");
age=17
if age>=18:
print("You are old enough to vote!");
else:
print("Sorry you are too young");
age = 12
if age < 4:
print("Your admission cost is $0.")
elif age < 18:
print("Your admission cost is $5.")
else:
print("Your admission cost is $10.")
age = 12
if age < 4:
price = 0
elif age < 18:
price = 5
elif age < 65:
price = 10
elif age >= 65:
price = 5
print("Your admission cost is $" + str(price) + ".")
-------------檢查是否相等-------------
True
False
False
True
True
True
True
False
False
False
True
-------------if語句-------------
You are old enough to vote!
Sorry you are too young
Your admission cost is $5.
Your admission cost is $5.
Process finished with exit code 0
- 在Python中檢查是否相等時區分大小寫
- 要判斷兩個值是否不等,可結合使用驚歎號和等號( != )
- 要檢查是否兩個條件都為 True ,可使用關鍵字 and 將兩個條件測試合而為一
- 關鍵字 or 也能夠讓你檢查多個條件,但只要至少有一個條件滿足,就能通過整個測試。
- 在 if 語句中,縮排的作用與 for 迴圈中相同。如果測試通過了,將執行 if 語句後面所有縮排的程式碼行,否則將忽略它們。
- 經常需要檢查超過兩個的情形,為此可使用Python提供的 if-elif-else 結構
字典
print("-------------一個簡單的字典-------------");
alien_0 = {'color': 'green', 'points': 5}
print(alien_0['color'])
print(alien_0['points'])
print("-------------訪問字典中的值------------");
alien_0={'color':'green'};
print(alien_0['color']);
print("-------------先建立一個空字典------------");
alien_0 = {}
alien_0['color'] = 'green'
alien_0['points'] = 5
print(alien_0)
print("-------------修改字典中的值------------");
alien_0={'color':'green'}
print("The alien is " + alien_0['color'] + ".")
alien_0['color'] = 'yellow'
print("The alien is now " + alien_0['color'] + ".")
print("-------------刪除鍵值對------------");
alien_0 = {'color': 'green', 'points': 5}
print(alien_0);
del alien_0['points']
print(alien_0);
print("-------------遍歷字典------------");
user_0 = {
'username': 'efermi',
'first': 'enrico',
'last': 'fermi',
}
for key,value in user_0.items():
print("\nKey:"+key)
print("Value:"+value)
-------------一個簡單的字典-------------
green
5
-------------訪問字典中的值------------
green
-------------先建立一個空字典------------
{'color': 'green', 'points': 5}
-------------修改字典中的值------------
The alien is green.
The alien is now yellow.
-------------刪除鍵值對------------
{'color': 'green', 'points': 5}
{'color': 'green'}
-------------遍歷字典------------
Key:username
Value:efermi
Key:first
Value:enrico
Key:last
Value:fermi
Process finished with exit code 0
- 字典是一系列鍵 — 值對。每個鍵都與一個值相關聯,你可以使用鍵來訪問與之相關聯的值。與鍵相關聯的值可以是數字、字串、列表乃至字典。事實上,可將任何Python物件用作字典中的值。
- 要獲取與鍵相關聯的值,可依次指定字典名和放在方括號內的鍵
- 字典是一種動態結構,可隨時在其中新增鍵 — 值對。要新增鍵 — 值對,可依次指定字典名、用方括號括起的鍵和相關聯的值。
- 對於字典中不再需要的資訊,可使用 del 語句將相應的鍵 — 值對徹底刪除。
- 字典儲存的是一個物件(遊戲中的一個外星人)的多種資訊,但你也可以使用字典來儲存眾多物件的同一種資訊。
迴圈結構
print("-------------函式input()的工作原理-------------");
message = input("Tell me something, and I will repeat it back to you: ")
print(message)
print("-------------編寫清晰的程式-------------");
name=input("Please enter your name:");
print("Hello,"+name+"!");
print("-------------求模運算子-------------");
print(4%3);
print("-------------while迴圈-------------");
current_number = 1
while current_number <= 5:
print(current_number)
current_number += 1
print("-------------讓使用者選擇何時退出-------------");
prompt = "\nTell me something, and I will repeat it back to you:"
prompt += "\nEnter 'quit' to end the program. "
message = ""
while message != 'quit':
message = input(prompt)
print(message)
print("-------------break語句-------------");
prompt = "\nPlease enter the name of a city you have visited:"
prompt += "\n(Enter 'quit' when you are finished.) "
while True:
city = input(prompt)
if city == 'quit':
break
else:
print("I'd love to go to " + city.title() + "!")
-------------函式input()的工作原理-------------
Tell me something, and I will repeat it back to you: Hello World
Hello World
-------------編寫清晰的程式-------------
Please enter your name:Alice
Hello,Alice!
-------------求模運算子-------------
1
-------------while迴圈-------------
1
2
3
4
5
-------------讓使用者選擇何時退出-------------
Tell me something, and I will repeat it back to you:
Enter 'quit' to end the program. Hello World
Hello World
Tell me something, and I will repeat it back to you:
Enter 'quit' to end the program. quit
quit
-------------break語句-------------
Please enter the name of a city you have visited:
(Enter 'quit' when you are finished.) ShangHai
I'd love to go to Shanghai!
Please enter the name of a city you have visited:
(Enter 'quit' when you are finished.) quit
Process finished with exit code 0
- 函式 input() 讓程式暫停執行,等待使用者輸入一些文字。獲取使用者輸入後,Python將其儲存在一個變數中,以方便你使用。
- 函式 input() 接受一個引數:即要向使用者顯示的提示或說明,讓使用者知道該如何做。
- 每當你使用函式 input() 時,都應指定清晰而易於明白的提示,準確地指出你希望使用者提供什麼樣的資訊——指出使用者該輸入任何資訊的提示都行
- 使用函式 input() 時,Python將使用者輸入解讀為字串
函式
print("-------------函式-------------");
def greet_user():
print("Hello World")
print("-------------區分線-------------");
greet_user();
print("-------------呼叫函式-------------");
def tpl_sum( T ): #定義函式tpl_sum()
result = 0 #定義result的初始值為0
for i in T: #遍歷T中的每一個元素i
result += i #計算各個元素i的和
return result #函式tpl_sum()最終返回計算的和
print("(1,2,3,4)元組中元素的和為:",tpl_sum((1,2, 3,4))) #使用函式tpl_sum()計算元組內元素的和
print("[3,4,5,6]列表中元素的和為:",tpl_sum([3,4, 5,6])) #使用函式tpl_sum()計算列表內元素的和
print("[2.7,2,5.8]列表中元素的和為:",tpl_sum([2.7, 2,5.8])) #使用函式tpl_sum()計算列表內元素的和
print("[1,2,2.4]列表中元素的和為:",tpl_sum([1,2,2.4]))
#使用函式tpl_sum()計算列表內元素的和
-------------函式-------------
-------------區分線-------------
Hello World
-------------呼叫函式-------------
(1,2,3,4)元組中元素的和為: 10
[3,4,5,6]列表中元素的和為: 18
[2.7,2,5.8]列表中元素的和為: 10.5
[1,2,2.4]列表中元素的和為: 5.4
Process finished with exit code 0
- 這個示例演示了最簡單的函式結構
- 呼叫函式就是使用函式,在 Python 程式中,當定義一個函式後,就相當於給了函式一個名稱,指定了函式裡包含的引數和程式碼塊結構。完成這個函式的基本結構定義工作後,就可以通過呼叫的方式來執行這個函式,也就是使用這個函式。
- 在 Python 程式中,使用關鍵字 def 可以定義一個函式,定義函式的語法格式如下所示。
def<函式名>(引數列表):
<函式語句>
return<返回值>
在上述格式中,引數列表和返回值不是必需的,return 後也可以不跟返回值,甚至連 return 也沒有。如果 return 後沒有返回值,並且沒有 return 語句,這樣的函式都會返回 None 值。有些函式可能既不需要傳遞引數,也沒有返回值。
注意:當函式沒有引數時,包含引數的圓括號也必須寫上,圓括號後也必須有“:”。
在 Python 程式中,完整的函式是由函式名、引數以及函式實現語句(函式體)組成的。在函式宣告中,也要使用縮排以表示語句屬於函式體。如果函式有返回值,那麼需要在函式中使用 return 語句返回計算結果。
根據前面的學習,可以總結出定義 Python 函式的語法規則,具體說明如下所示。
- 函式程式碼塊以 def 關鍵字開頭,後接函式識別符號名稱和圓括號()。
- 任何傳入引數和自變數必須放在圓括號中間,圓括號之間可以用於定義引數。
- 函式的第一行語句可以選擇性地使用文件字串——用於存放函式說明。
- 函式內容以冒號起始,並且縮排。
- return [表示式] 結束函式,選擇性地返回一個值給呼叫方。不帶表示式的 return 相當於返回 None。
類
print("-------------類-------------");
class MyClass: #定義類MyClass
"這是一個類."
myclass = MyClass() #例項化類MyClass
print('輸出類的說明:') #顯示文字資訊
print(myclass.__doc__) #顯示屬性值
print('顯示類幫助資訊:')
help(myclass)
print("-------------類物件-------------");
class MyClass: #定義類MyClass
"""一個簡單的類例項"""
i = 12345 #設定變數i的初始值
def f(self): #定義類方法f()
return 'hello world' #顯示文字
x = MyClass() #例項化類
#下面兩行程式碼分別訪問類的屬性和方法
print("類MyClass中的屬性i為:", x.i)
print("類MyClass中的方法f輸出為:", x.f())
print("-------------構造方法-------------");
class Dog():
"""小狗狗"""
def __init__(self, name, age):
"""初始化屬性name和age."""
self.name = name
self.age = age
def wang(self):
"""模擬狗狗汪汪叫."""
print(self.name.title() + " 汪汪")
def shen(self):
"""模擬狗狗伸舌頭."""
print(self.name.title() + " 伸舌頭")
print("-------------呼叫方法-------------");
def diao(x,y):
return (abs(x),abs(y))
class Ant:
def __init__(self,x=0,y=0):
self.x = x
self.y = y
self.d_point()
def yi(self,x,y):
x,y = diao(x,y)
self.e_point(x,y)
self.d_point()
def e_point(self,x,y):
self.x += x
self.y += y
def d_point(self):
print("親,當前的位置是:(%d,%d)" % (self.x,self.y))
ant_a = Ant()
ant_a.yi(2,7)
ant_a.yi(-5,6)
-------------類-------------
輸出類的說明:
這是一個類.
顯示類幫助資訊:
Help on MyClass in module __main__ object:
class MyClass(builtins.object)
| 這是一個類.
|
| Data descriptors defined here:
|
| __dict__
| dictionary for instance variables (if defined)
|
| __weakref__
| list of weak references to the object (if defined)
-------------類物件-------------
類MyClass中的屬性i為: 12345
類MyClass中的方法f輸出為: hello world
-------------構造方法-------------
-------------呼叫方法-------------
親,當前的位置是:(0,0)
親,當前的位置是:(2,7)
親,當前的位置是:(7,13)
Process finished with exit code 0
- 把具有相同屬性和方法的物件歸為一個類
- 在 Python 程式中,類只有例項化後才能夠使用。類的例項化與函式呼叫類似,只要使用類名加小括號的形式就可以例項化一個類。
- 方法呼叫就是呼叫建立的方法,在 Python 程式中,類中的方法既可以呼叫本類中的方法,也可以呼叫全域性函式來實現相關功能。