前言:
1、Python是一個高層次的結合了解釋性、編譯性、互動性和面向物件的腳本語言,
2、本文主要涉及Python基礎入門、流程控制(條件陳述句、回圈陳述句)、資料序列等知識,
一、Python簡介
1. 了解Python
Python是一種解釋型(這意味著開發程序中沒有了編譯這個環節)、面向物件(支持面向物件的風格或代碼封裝在物件的編程技術)、動態資料型別的互動式(可在命令列中通過Python提示符及直接代碼執行程式)高級程式設計語言,

2. Python介紹
Python是時下最流行、最火爆的編程語言,具體原因:
- 簡單、易學,適應人群廣泛

- 免費、開源
- 應用領域廣泛

備注:以下知名框架均是Python語言開發,
- Google開源機器學習框架:TensorFlow
- 開源社區主推學習框架:Scikit-learn
- 百度開源深度學習框架:Paddle
3. Python特點
- 易于學習:Python有相對較少的關鍵字,結構簡單,和一個明確定義的語法,學習起來更加簡單,
- 易于閱讀:Python代碼定義的更清晰,
- 易于維護:Python的成功在于它的源代碼是相當容易維護的,
- 一個廣泛的標準庫:Python的最大的優勢之一是豐富的庫,跨平臺的,在UNIX,Windows和Macintosh兼容很好,
- 互動模式:互動模式的支持,您可以從終端輸入執行代碼并獲得結果的語言,互動的測驗和除錯代碼片斷,
- 可移植:基于其開放源代碼的特性,Python已經被移植(也就是使其作業)到許多平臺,
- 可擴展:如果你需要一段運行很快的關鍵代碼,或者是想要撰寫一些不愿開放的演算法,你可以使用C或C++完成那部分程式,然后從你的Python程式中呼叫,
- 資料庫:Python提供所有主要的商業資料庫的介面,
- GUI編程:Python支持GUI可以創建和移植到許多系統呼叫,
- 可嵌入: 你可以將Python嵌入到C/C++程式,讓你的程式的用戶獲得"腳本化"的能力,
4. Python發展歷史
Python發展歷史:https://baike.baidu.com/item/Python/407313?fr=aladdin
5. Python版本
- Python 2.X
- Python 3.X
二、Python解釋器
1. 解釋器的作用
-
Python解釋器作用:運行檔案
-
Python解釋器種類
- CPython,C語言開發的解釋器[官方],應用廣泛的解釋器,
- IPython,基于CPython的一種互動式解釋器,
- 其他解釋器
- PyPy,基于Python語言開發的解釋器,
- Jython,運行在Java平臺的解釋器,直接把Python代碼編譯成Java位元組碼執行,
- IronPython,運行在微軟.Net平臺上的Python解釋器,可以直接把Python代碼編譯成.Net的位元組碼,
2. 解釋器的安裝
三、PyCharm安裝與使用
1. PyCharm的作用
PyCharm是一種Python IDE(集成開發環境),帶有一整套可以幫助用戶在使用Python語言開發時提高其效率的工具,內部集成的功能如下:
- Project管理
- 智能提示
- 語法高亮
- 代碼跳轉
- 除錯代碼
- 解釋代碼(解釋器)
- 框架和庫
- …
2. PyCharm安裝與使用
四、注釋
1. 注釋的作用
通過用自己熟悉的語言,在程式中對某些代碼進行標注說明,這就是注釋的作用,能夠大大增強程式的可讀性,
2. 注釋的分類及語法
注釋分為兩類:單行注釋 和 多行注釋,
- 單行注釋
只能注釋一行內容,語法如下:
# 注釋內容
- 多行注釋
可以注釋多行內容,一般用在注釋一段代碼的情況, 語法如下:
"""
第一行注釋
第二行注釋
第三行注釋
"""
'''
注釋1
注釋2
注釋3
'''
快捷鍵: ctrl + /
注意:解釋器不執行任何的注釋內容,
五、變數
1. 變數的作用
變數,簡單來說,其實就是計算機記憶體中的一塊儲存空間,用來存盤CPU需要使用的資料, 而這個儲存空間需要一個名字,這個名字的統稱就叫變數,

作用:
- 用來臨時保存資料
- 便于專案的后期升級維護
- 節約記憶體
2. 定義變數
變數名 = 值
變數名自定義,要滿足識別符號命名規則,
2.1 識別符號
識別符號命名規則是Python中定義各種名字的時候的統一規范,具體如下:
- 由數字、字母、下劃線組成
- 不能數字開頭
- 不能使用內置關鍵字
- 嚴格區分大小寫

2.2 命名習慣
- 見名知義,
- 大駝峰:即每個單詞首字母都大寫,例如:
MyName, - 小駝峰:第二個(含)以后的單詞首字母大寫,例如:
myName, - 下劃線:例如:
my_name,
2.3 使用變數
my_name = "張三"
print(my_name)
myAge = 23
print(myAge)
2.4 認識bug
所謂bug,就是程式中的錯誤,如果程式有錯誤,需要程式員排查問題,糾正錯誤,
2.5 Debug工具
Debug工具是PyCharm IDE中集成的用來除錯程式的工具,在這里程式員可以查看程式的執行細節和流程或者調解bug,
Debug工具使用步驟:
- 打斷點
- Debug除錯
六、資料型別
在 Python 里為了應對不同的業務需求,也把資料分為不同的型別,

檢測資料型別的方法:type(變數名或者數值)
a = 1
print(type(a)) # <class 'int'> -- 整型
b = 1.1
print(type(b)) # <class 'float'> -- 浮點型
c = True
print(type(c)) # <class 'bool'> -- 布爾型
d = "12345"
print(type(d)) # <class 'str'> -- 字串
e = [10, 20, 30]
print(type(e)) # <class 'list'> -- 串列
f = (10, 20, 30)
print(type(f)) # <class 'tuple'> -- 元組
h = {10, 20, 30}
print(type(h)) # <class 'set'> -- 集合
g = {"name": "張三", "age": 20}
print(type(g)) # <class 'dict'> -- 字典
思考:
1、 為什么Python會提出這么多種的資料型別?
有限的記憶體, 無限的變數, 合理的使用記憶體
2、 Python中,程式員定義變數需要關心變數的型別嗎?
- Python弱型別語言
- 程式員不需要關心變數的型別, 只需要把資料書寫正確即可,python會通過自動推到出您變數的型別,
七、輸出
作用:程式輸出內容給用戶,
print('hello Python')
age = 18
print(age)
# 需求:輸出“今年我的年齡是18歲”
1. 格式化輸出

- %06d,表示輸出的整數顯示位數,不足以0補全,超出當前位數則原樣輸出,
- %.2f,表示小數點后顯示的小數位數,
2. 內置函式format
format()用于字串格式化,功能非常強大,格式是str.format(),format函式可以接受不限個引數,位置可以不按順序,
3. f-格式化字串
f-string是格式化字串的一種很好的新方法,與其他格式化方式相比,它不僅更易讀,更簡潔,不易出錯,而且速度更快!格式為:f'{運算式}',
4. 體驗格式化字串
name = "張三"
age = 23
weight = 75.5
student_id = 1
# 我的名字是張三
print('我的名字是%s' % name)
# 我的學號是0001
print('我的學號是%04d' % student_id)
# 我的體重是75.50公斤
print('我的體重是%.2f公斤' % weight)
# 我的名字是張三,今年23歲了
print('我的名字是%s,今年%d歲了' % (name, age))
# 我的名字是張三,明年24歲了
print('我的名字是%s,明年%d歲了' % (name, age + 1))
# 我的名字是張三,明年24歲了
print('我的名字是{0}, 明年{1}歲了'.format(name, age+1))
# 我的名字是李思,今年18歲了
print('我的名字是{0}, 今年{1}歲了'.format("李思", 18))
# 我的名字是張三,明年24歲了
print(f'我的名字是{name}, 明年{age + 1}歲了')

5. 補充知識
字串輸出的本質其實就是拼接字串,那么我們都用%s完全也是可以的,很多時候,我們不用區分整型、浮點型等,直接用%s輸出就可以了,
print('我的名字是%s,今年%s歲了,我的體重是%s公斤' % (name, age ,weight))

6. 轉義字符
\n:換行,\t:制表符,一個tab鍵(4個空格)的距離,
7. 結束符
# print會默認換行輸出
print('輸出的內容', end="\n")
在Python中,print(), 默認自帶end="\n"這個換行結束符,所以導致每兩個print直接會換行展示,用戶可以按需求更改結束符
# 改變Python換行輸出
print('內容', end=" ")
print('內容', end="···")
八、輸入
在Python中,程式接收用戶輸入的資料的功能即是輸入,

1. 輸入的語法
input("提示資訊")
2. 輸入的特點
- 當程式執行到
input,等待用戶輸入,輸入完成之后才繼續向下執行, - 在Python中,
input接收用戶輸入后,一般存盤到變數,方便使用, - 在Python中,
input會把接收到的任意用戶輸入的資料都當做字串處理,
password = input('請輸入您的密碼:')
print(f'您輸入的密碼是{password}')
# <class 'str'>
print(type(password))

九、轉換資料型別
1. 轉換資料型別的作用
問:input()接收用戶輸入的資料都是字串型別,如果用戶輸入1,想得到整型該如何操作?
2. 轉換資料型別的函式

3. 體驗轉換資料型別
需求:input接收用戶輸入,用戶輸入“1”,將這個資料1轉換成整型,
# 1. 接收用戶輸入
num = input('請輸入您的幸運數字:')
# 2. 列印結果
print(f"您的幸運數字是{num}")
# 3. 檢測接收到的用戶輸入的資料型別 -- str型別
print(type(num))
# 4. 轉換資料型別為整型 -- int型別
print(type(int(num)))
十、運算子
1. 運算子的分類
- 算數運算子
- 賦值運算子
- 復合賦值運算子
- 比較運算子
- 邏輯運算子
2. 算數運算子

混合運算優先級順序:()高于 ** 高于 * / // % 高于 + -
3. 賦值運算子

1.單個變數賦值
num = 1
print(num)
2.多個變數賦值
num1, float1, str1 = 10, 0.5, 'hello world'
print(num1)
print(float1)
print(str1)
3.多變數賦相同值
a = b = 10
print(a)
print(b)
4. 復合賦值運算子

a = 100
a += 1
# 輸出101 a = a + 1,最終a = 100 + 1
print(a)
b = 2
b *= 3
# 輸出6 b = b * 3,最終b = 2 * 3
print(b)
c = 10
c += 1 + 2
# 輸出13, 先算運算子右側1 + 2 = 3, c += 3 , 推匯出c = 10 + 3
print(c)
5. 比較運算子
比較運算子也叫關系運算子, 通常用來判斷,

a = 7
b = 5
print(a == b) # False
print(a != b) # True
print(a < b) # False
print(a > b) # True
print(a <= b) # False
print(a >= b) # True
6. 邏輯運算子

a = 1
b = 2
c = 3
print((a < b) and (b < c)) # True
print((a > b) and (b < c)) # False
print((a > b) or (b < c)) # True
print(not (a > b)) # True
7. 補充知識
數字之間的邏輯運算
a = 0
b = 1
c = 2
# and運算子,只要有一個值為0,則結果為0,否則結果為最后一個非0數字
print(a and b) # 0
print(b and a) # 0
print(a and c) # 0
print(c and a) # 0
print(b and c) # 2
print(c and b) # 1
# or運算子,只有所有值為0結果才為0,否則結果為第一個非0數字
print(a or b) # 1
print(a or c) # 2
print(b or c) # 1
十一、條件陳述句
1. 了解條件陳述句
Python條件陳述句是通過一潭訓多條陳述句的執行結果(True或者False)來決定執行的代碼塊,
2. if語法
if 條件:
條件成立執行的代碼1
條件成立執行的代碼2
......
2.1 體驗if陳述句
if True:
print('條件成立執行的代碼1')
print('條件成立執行的代碼2')
# 下方的代碼沒有縮進到if陳述句塊,所以和if條件無關
print('我是無論條件是否成立都要執行的代碼')

2.2 簡單版:網吧上網
需求分析:如果用戶年齡大于等于18歲,即成年,輸出"已經成年,可以上網",
age = 20
if age >= 18:
print('已經成年,可以上網')
print('系統關閉')
2.3 進階版:網吧上網
新增需求:用戶可以輸出自己的年齡,然后系統進行判斷是否成年,成年則輸出"您的年齡是’用戶輸入的年齡’,已經成年,可以上網",
# input接受用戶輸入的資料是字串型別,條件是age和整型18做判斷,所以這里要int轉換資料型別
age = int(input('請輸入您的年齡:'))
if age >= 18:
print(f'您的年齡是{age},已經成年,可以上網')
print('系統關閉')
3. if…else…
作用:條件成立執行if下方的代碼; 條件不成立執行else下方的代碼,
if 條件:
條件成立執行的代碼1
條件成立執行的代碼2
......
else:
條件不成立執行的代碼1
條件不成立執行的代碼2
......
思考:網吧上網的實體,如果成年,允許上網,如果不成年呢?是不是應該回復用戶不能上網?
3.1 實用版:網吧上網
age = int(input('請輸入您的年齡:'))
if age >= 18:
print(f'您的年齡是{age},已經成年,可以上網')
else:
print(f'您的年齡是{age},未成年,請自行回家寫作業')
print('系統關閉')
注意:如果條件成立執行了某些代碼,那么其他的情況的代碼將不會執行,
4. 多重判斷
if 條件1:
條件1成立執行的代碼1
條件1成立執行的代碼2
......
elif 條件2:
條件2成立執行的代碼1
條件2成立執行的代碼2
......
......
else:
以上條件都不成立執行執行的代碼
多重判斷也可以和else配合使用,一般else放在整個if陳述句的最后,表示以上條件都不成立的時候執行的代碼,
思考:中國合法作業年齡為18-60歲,即如果年齡小于18的情況為童工,不合法;如果年齡在18-60歲之間為合法工齡;大于60歲為法定退休年齡,
4.1 實體:工齡判斷
age = int(input('請輸入您的年齡:'))
if age < 18:
print(f'您的年齡是{age},童工一枚')
elif (age >= 18) and (age <= 60):
print(f'您的年齡是{age},合法工齡')
elif age > 60:
print(f'您的年齡是{age},可以退休')
拓展:age >= 18 and age <= 60可以化簡為18 <= age <= 60,
5. if嵌套
if 條件1:
條件1成立執行的代碼
條件1成立執行的代碼
if 條件2:
條件2成立執行的代碼
條件2成立執行的代碼
注意:條件2的if也是出于條件1的縮進關系內部,
思考:坐公交:如果有錢可以上車,沒錢不能上車;上車后如果有空座,則可以坐下;如果沒空座,就要站著,怎么書寫程式?
5.1 實體:坐公交
- 判斷是否能上車
"""
1. 如果有錢,則可以上車
2. 上車后,如果有空座,可以坐下
上車后,如果沒有空座,則站著等空座位
如果沒錢,不能上車
"""
# 假設用 money = 1 表示有錢, money = 0表示沒有錢
money = 1
if money == 1:
print('土豪,不差錢,順利上車')
else:
print('沒錢,不能上車,追著公交車跑')
- 判斷是否能坐下
"""
1. 如果有錢,則可以上車
2. 上車后,如果有空座,可以坐下
上車后,如果沒有空座,則站著等空座位
如果沒錢,不能上車
"""
# 假設用 money = 1 表示有錢, money = 0表示沒有錢; seat = 1 表示有空座,seat = 0 表示沒有空座
money = 1
seat = 0
if money == 1:
print('土豪,不差錢,順利上車')
if seat == 1:
print('有空座,可以坐下')
else:
print('沒有空座,站等')
else:
print('沒錢,不能上車,追著公交車跑')
5.2 if嵌套執行流程

6. 應用:猜拳游戲
需求分析:
-
參與游戲的角色
- 玩家
- 手動出拳
- 電腦
- 隨機出拳
- 玩家
-
判斷輸贏
- 玩家獲勝

- 平局
- 玩家出拳 和 電腦出拳相同
- 電腦獲勝
隨機做法:
- 匯出random模塊
import 模塊名
- 使用random模塊中的隨機整數功能
random.randint(開始,結束)
6.1 初始版:猜拳游戲
"""
提示:0-石頭,1-剪刀,2-布
3. 出拳
玩家輸入出拳
電腦隨機出拳
4. 判斷輸贏
玩家獲勝
平局
電腦獲勝
"""
# 匯入random模塊
import random
# 計算電腦出拳的亂數字
computer = random.randint(0, 2)
print(computer)
player = int(input('請出拳:0-石頭,1-剪刀,2-布:'))
# 玩家勝利 p0:c1 或 p1:c2 或 p2:c0
if (player == 0 and computer == 1) or (player == 1 and computer == 2) or (player == 2 and computer == 0):
print('玩家獲勝')
# 平局:玩家 == 電腦
elif player == computer:
print('平局')
else:
print('電腦獲勝')
6.2 進階版:猜拳游戲
"""
石頭剪刀布游戲
玩家VS電腦
站在玩家的角度,分析勝利、失敗、平局
0-石頭,1-剪刀,2-布
"""
# 匯入亂數模塊
import random
import sys
print("-----歡迎來到人機對戰小游戲-----")
name = input("請輸入您的游戲名:")
while True:
stats = input("歡迎“%s”來到本游戲,開始游戲輸入Y,退出游戲輸入N,請您輸入:" % name)
if stats == "Y" or stats == "y":
print("游戲開始……")
print("石頭輸入0、剪刀輸入1、布輸入2")
break
elif stats == "N" or stats == "n":
print("游戲結束……")
sys.exit(0)
else:
print("請按照要求重新輸入!")
print("-------------加載中-------------")
def Game(user, comp):
if (user== 0 and comp== 1) or (user== 1 and comp== 2) or (user== 2 and comp== 0):
print("機器輸入%d,您贏了!" % comp)
elif user == comp:
print("機器輸入%d,平局了!" % comp)
else:
print("機器輸入%d,您輸了!" % comp)
res = input("重新游戲請輸入X,退出游戲按任意鍵")
if res == "X" or res == "x":
return
else:
sys.exit(0)
while True:
user = int(input("請您出拳,輸入相應數字!"))
if user == 0 or user == 1 or user == 2:
comp = random.randint(0, 2)
Game(user, comp)
else:
print("輸入數字有誤,請確認后,重新輸入!")
7. 三目運算子
三目運算子也叫三元運算子,
語法如下:
值1 if 條件 else 值2
快速體驗:
a = 1
b = 2
c = a if a > b else b
print(c)
十二、回圈簡介
1. 回圈的作用
讓代碼更高效的重復執行,
2. 回圈的分類
在Python中,回圈分為while和for兩種,最終實作效果相同,
3. while的語法
while 條件:
條件成立重復執行的代碼1
條件成立重復執行的代碼2
......
4. while回圈快速體驗
需求:復現重復執行10次print('Hello World'),
分析:初始值是0次,終點是10次,重復做的事情輸出“Hello World”,
# 回圈的計數器
i = 0
while i < 10:
print('Hello World')
i += 1
print('任務結束')
希望本文對你有所幫助~~如果對軟體測驗、介面測驗、自動化測驗、面試經驗交流感興趣可以加入我們,642830685,免費領取最新軟體測驗大廠面試資料和Python自動化、介面、框架搭建學習資料!技術大牛解惑答疑,同行一起交流,
未完待續~~~


轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/209888.html
標籤:其他
