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

来源:https://www.cnblogs.com/yyyyfly1/archive/2022/04/02/16089624.html
-Advertisement-
Play Games

博客推行版本更新,成果積累制度,已經寫過的博客還會再次更新,不斷地琢磨,高質量高數量都是要追求的,工匠精神是學習必不可少的精神。因此,大家有何建議歡迎在評論區踴躍發言,你們的支持是我最大的動力,你們敢投,我就敢肝 ...


變數

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 程式中,類中的方法既可以調用本類中的方法,也可以調用全局函數來實現相關功能。
在黑夜裡夢想著光,心中覆蓋悲傷,在悲傷里忍受孤獨,空守一絲溫暖。 我的淚水是無底深海,對你的愛已無言,相信無盡的力量,那是真愛永在。 我的信仰是無底深海,澎湃著心中火焰,燃燒無盡的力量,那是忠誠永在
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 背景 在配置中心增加許可權功能 目前配置中心已經包含了單點登錄功能,可以通過統一頁面進行登錄,登錄完會將用戶寫入用戶表 RBAC的用戶、角色、許可權表CRUD、授權等都已經完成 希望不用用戶再次登錄,就可以使用SpringSecurity的許可權控制 Spring Security Spring Secu ...
  • 場景:針對於分散式併發環境,易出現編碼生成重覆問題 方案特點:串列操作可避免阻塞加鎖,處理效率更高 具體解決方案 ...
  • 怎麼能不懷念呢?到現在依稀記得高考時的自己,輾轉失眠、挑燈夜戰、奮筆勤書。那時候拼命的自己真的很好,好想懷念高考,加爬一下自己19年的高考數據吧。 對於像作者一樣已經工作的“上班族”來說,6月7號到9號三天無疑是興奮到飛起的,終於迎來了令人愉悅的端午假期: 然而有那麼一群人,將在端午節日之際迎來人生 ...
  • 前言 以往的人臉識別主要是包括人臉圖像採集、人臉識別預處理、身份確認、身份查找等技術和系統。現在人臉識別已經慢慢延伸到了ADAS中的駕駛員檢測、行人跟蹤、甚至到了動態物體的跟蹤。 由此可以看出,人臉識別系統已經由簡單的圖像處理髮展到了視頻實時處理。而且演算法已經由以前的Adaboots、PCA等傳統的 ...
  • 1 基礎知識 單點登錄機制(SSO)允許用戶登錄應用程式一次,並訪問所有相關的系統,而不需要單獨登錄它們。 由於 SSO,用戶只需登錄一次即可使用服務,並自動登錄到所有相關應用程式。SSO 消除了單獨登錄它們的需要。此外,用戶不需要存儲或記住多個憑據。 單點登錄僅與身份驗證過程相關。它的任務是驗證用 ...
  • 昨天,在發佈了《Spring官宣承認網傳大漏洞,並提供解決方案》之後。群里就有幾個小伙伴問了這樣的問題:**我們的Spring版本比較老,該怎麼辦?**這是一個好問題,所以DD今天單獨拿出來說說。 這次的RCE漏洞宣佈之後,官方給出的主要解決方案是升級版本,但只有Spring 5.2、5.3和Spr ...
  • 一、概要 1、來源 積木報表版本號:1.4.2 2、異常現象 導出Excel失敗 3、異常棧: com.googlecode.aviator.exception.CompileExpressionErrorException: Blank expression at com.googlecode.a ...
  • 前言 怎麼樣使用Python提高自己的工作效率,今天就給大家分享這個吧。我們經常用pandas讀入讀寫excel文件,經常會遇到一個excel文件里存在多個sheet文件,這個時候,就需要一次性讀取多個sheet的數據並做相應的數據分析或數據處理,最後再寫入新的excel文件(同樣是多個sheet) ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...