【Python】Python基礎知識【第一版】

yyyyfly發表於2022-04-01

變數

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
  1. 執行檔案hello_world.py時,末尾的.py指出這是一個Python程式,因此編輯器將使用Python直譯器來執行它
  2. 變數名只能包含字母、數字和下劃線。變數名可以字母或下劃線打頭,但不能以數字打頭,例如,可將變數命名為message_1,但不能將其命名為1_message。
  3. 變數名不能包含空格,但可使用下劃線來分隔其中的單詞。例如,變數名greeting_message可行,但變數名greeting message會引發錯誤。
  4. 不要將Python關鍵字和函式名用作變數名,即不要使用Python保留用於特殊用途的單詞,
  5. 變數名應既簡短又具有描述性。
  6. 慎用小寫字母l和大寫字母O,因為它們可能被人錯看成數字1和0
  7. 在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
  1. 列表由一系列按特定順序排列的元素組成
  2. 列表是有序集合,因此要訪問列表的任何元素,只需將該元素的位置或索引告訴Python即可
  3. Python方法 sort() 讓你能夠較為輕鬆地對列表進行排序。
  4. 要保留列表元素原來的排列順序,同時以特定的順序呈現它們,可使用函式 sorted() 。函式sorted() 讓你能夠按特定順序顯示列表元素,同時不影響它們在列表中的原始排列順序。
  5. 要反轉列表元素的排列順序,可使用方法 reverse()
  6. 使用函式 len() 可快速獲悉列表的長度
  7. 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
  1. 在Python中檢查是否相等時區分大小寫
  2. 要判斷兩個值是否不等,可結合使用驚歎號和等號( != )
  3. 要檢查是否兩個條件都為 True ,可使用關鍵字 and 將兩個條件測試合而為一
  4. 關鍵字 or 也能夠讓你檢查多個條件,但只要至少有一個條件滿足,就能通過整個測試。
  5. 在 if 語句中,縮排的作用與 for 迴圈中相同。如果測試通過了,將執行 if 語句後面所有縮排的程式碼行,否則將忽略它們。
  6. 經常需要檢查超過兩個的情形,為此可使用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
  1. 字典是一系列鍵 — 值對。每個鍵都與一個值相關聯,你可以使用鍵來訪問與之相關聯的值。與鍵相關聯的值可以是數字、字串、列表乃至字典。事實上,可將任何Python物件用作字典中的值。
  2. 要獲取與鍵相關聯的值,可依次指定字典名和放在方括號內的鍵
  3. 字典是一種動態結構,可隨時在其中新增鍵 — 值對。要新增鍵 — 值對,可依次指定字典名、用方括號括起的鍵和相關聯的值。
  4. 對於字典中不再需要的資訊,可使用 del 語句將相應的鍵 — 值對徹底刪除。
  5. 字典儲存的是一個物件(遊戲中的一個外星人)的多種資訊,但你也可以使用字典來儲存眾多物件的同一種資訊。

迴圈結構

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
  1. 函式 input() 讓程式暫停執行,等待使用者輸入一些文字。獲取使用者輸入後,Python將其儲存在一個變數中,以方便你使用。
  2. 函式 input() 接受一個引數:即要向使用者顯示的提示或說明,讓使用者知道該如何做。
  3. 每當你使用函式 input() 時,都應指定清晰而易於明白的提示,準確地指出你希望使用者提供什麼樣的資訊——指出使用者該輸入任何資訊的提示都行
  4. 使用函式 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
  1. 這個示例演示了最簡單的函式結構
  2. 呼叫函式就是使用函式,在 Python 程式中,當定義一個函式後,就相當於給了函式一個名稱,指定了函式裡包含的引數和程式碼塊結構。完成這個函式的基本結構定義工作後,就可以通過呼叫的方式來執行這個函式,也就是使用這個函式。
  3. 在 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
  1. 把具有相同屬性和方法的物件歸為一個類
  2. 在 Python 程式中,類只有例項化後才能夠使用。類的例項化與函式呼叫類似,只要使用類名加小括號的形式就可以例項化一個類。
  3. 方法呼叫就是呼叫建立的方法,在 Python 程式中,類中的方法既可以呼叫本類中的方法,也可以呼叫全域性函式來實現相關功能。

相關文章