目錄
前言
print 輸出
變數中的資料型別
轉義字符
input輸入
注釋符
格式化輸出
運算子
條件判斷
回圈
random模塊
前言
Python 是一個高層次的結合了解釋性、編譯性、互動性和面向物件的腳本語言,Python 由 Guido van Rossum 于 1989 年底發明,第一個公開發行版發行于 1991 年,官方宣布,2020 年 1 月 1 日, 停止 Python 2 的更新,Python 2.7 被確定為最后一個 Python 2.x 版本,
所以接下來的都是基于python3.x進行的學習,最近公司不是很忙,所以想把之前學習的python好好整理一下發布到csdn來,特別提醒:python是世界上最好的語言 😁
python
-
Python 是一種解釋型語言: 這意味著開發程序中沒有了編譯這個環節,類似于PHP和Perl語言,
-
Python 是互動式語言: 這意味著,您可以在一個 Python 提示符 >>> 后直接執行代碼,
-
Python 是面向物件語言: 這意味著Python支持面向物件的風格或代碼封裝在物件的編程技術,
print 輸出
- python中單引號和雙引號使用完全相同
- python中有著嚴格的語法格式,注意該縮進的一定要縮進
- print輸出后默認會進行換行
1. 簡單輸出
print (“hello python”) 將資料輸出到螢屏,輸出字串要加引號(單引號和雙引號都可以)
print('xzc','df') ,起空格的作用
print ('xzc'+'df') +起字串拼接的作用
2. .center居中輸出
print('歡迎來到商店管理系統' .center(20,'—')) #字居中顯示總共占20個字符,不夠用-代替

變數中的資料型別
變數用來存盤資料,那么大家有沒有想過,我們應該讓變數占用多大空間,保存什么樣的資料呢?例如,我們要運送一臺電腦,大卡車和小轎車都可以完成,但是,如果使用大卡車運送一臺電腦,顯然有點小題大做,浪費了大卡車的空間,
同理,如果使用變數存盤資料時,為了更充分利用記憶體空間,我們可以為變數指定不同的資料型別,python中常見的資料型別如下

(1)布爾型別是特殊的整型,它的值只有兩個,分別是True和False,如果將布林值進行數值運算,True會被當作整型1,False會被當作整型0,
(2)字串被定義為一個字符集合,它被引號所包含,引號可以是單引號、雙引號或者三引號(三個連續的單引號或者雙引號),字串具有索引規則,第1個字符的索引是0,第2個字符的索引是1,以此類推,下面是字串的示例代碼:
string_one = 'Python'
string_two = "Python"
string_three = '''Python'''
其他的串列、元組、字典以后會說到,
我們可以使用 type(變數名稱) 來查看變數的資料型別
資料型別轉換
有時候資料型別之間需要進行轉換,轉換方式如下
int() 轉換為整數
float() 浮點數
str() 字串
轉義字符
python中使用 "\" 作為轉義字符,使得字符失去原來的意義,如下對雙引號進行轉義
print("23\"") #輸出 23"
其他的轉義字符如下
- \n :回車,相當于換行
- r"xx\xx":在字串前面添加一個r,表示原始字串不會發生轉義
print("hello\nnihao")
print(r"hello\"nihao")
print(r"hello\nnihao")

b函式:b就是bytes,二進制的意思,bytes主要是給計算機看的,string主要是給人看的
a = b"df"
b = b"xcc"
print(a + b)
print(type(b)) #列印資料型別
input輸入
有時候程式在運行中的時候需要我們手動輸入資料傳進去,這是就需要用到input方法,
name1 = input("請輸入你的名字:") #讀取準備輸入的資料(輸入)
name2 = input("請輸入她的名字:")
print('你們是:' + name1,name2)

輸入的資料型別默認為字串,即此時name1和name2的資料型別默認為字串型別,如果需要轉換為別的資料型別則需要進行型別轉換
注釋符
- # 單行注釋符
- python 中多行注釋使用三個單引號(''')或三個雙引號(""")

格式化輸出
有時候需要在一個很長的字串中添加一個變數,則需要用到格式化輸出法,介紹三種常用的格式化輸出方法
- %s
- format
- f"xxx{變數}xx"
1. %s
%s,s代表string字串的意思,就是說待會這里要放一個字串型別的變數,如果要放數字型別的變數的話就%d,以此類推,如下,用了float型別轉換保留了兩位小數
name = input("請輸入用戶名:")
age = 23
print("歡迎%s用戶登錄,他今年%d歲了" %(name,age)) #這里%d也可以直接用%s
#%0.2f 為浮點型并保留兩位小數,input輸入的資料為字串,所以需要先轉型別
weight = float(input('請輸入您的體重:'))
height = float(input('請輸入您的身高:'))
print('您的身高為了%0.2f, 體重為%0.2f' %(height,weight))

2. format
此方法的使用格式為
"xxxxxxxx{}xxx" .foramt(變數名)
name = 'xcc'
age =23
weight = 105
print('我的名字是{}我的年齡是{}我的體重是{}' .format(name,age,weight))
#保留兩位小數
print('我總共花了{:.2f}元錢!!' .format(3.1343434343443))

3. f"xxx{變數}x"
name = "帥哥"
age = 12
print(f"my name is {name},age is {age}")
![]()
運算子
舉個簡單的例子 4 +5 = 9 , 例子中,4 和 5 被稱為運算元,"+" 稱為運算子,
python支持以下型別的運算子
- 算術運算子
- 比較((關系)運算子
- 賦值運算子
- 邏輯運算子
- 位運算子
- 成員運算子
- 身份運算子
- 運算子優先級
1. 算術運算子
這比較簡單,如 + - * / %(取余)
2. 比較運算子
以下假設變數a為10,變數b為20:
| 運算子 | 描述 | 實體 |
|---|---|---|
| == | 等于 - 比較物件是否相等 | (a == b) 回傳 False, |
| != | 不等于 - 比較兩個物件是否不相等 | (a != b) 回傳 true. |
| > | 大于 - 回傳x是否大于y | (a > b) 回傳 False, |
| < | 小于 - 回傳x是否小于y,所有比較運算子回傳1表示真,回傳0表示假,這分別與特殊的變數True和False等價, | (a < b) 回傳 true, |
| >= | 大于等于 - 回傳x是否大于等于y, | (a >= b) 回傳 False, |
| <= | 小于等于 - 回傳x是否小于等于y, | (a <= b) 回傳 true, |
3. 賦值運算子
以下假設變數a為10,變數b為20:
| 運算子 | 描述 | 實體 |
|---|---|---|
| = | 簡單的賦值運算子 | c = a + b 將 a + b 的運算結果賦值為 c |
| += | 加法賦值運算子 | c += a 等效于 c = c + a |
| -= | 減法賦值運算子 | c -= a 等效于 c = c - a |
| *= | 乘法賦值運算子 | c *= a 等效于 c = c * a |
| /= | 除法賦值運算子 | c /= a 等效于 c = c / a |
| %= | 取模賦值運算子 | c %= a 等效于 c = c % a |
4. 邏輯運算子
以下假設變數 a 為 10, b為 20:
| 運算子 | 邏輯運算式 | 描述 | 實體 |
|---|---|---|---|
| and | x and y | 布爾"與" - 如果 x 為 False,x and y 回傳 False,否則它回傳 y 的計算值, | (a and b) 回傳 20, |
| or | x or y | 布爾"或" - 如果 x 是非 0,它回傳 x 的計算值,否則它回傳 y 的計算值, | (a or b) 回傳 10, |
| not | not x | 布爾"非" - 如果 x 為 True,回傳 False ,如果 x 為 False,它回傳 True, | not(a and b) 回傳 False |
#所有非0的數字都為true
a = 10
b = 20
c = (a and b)
print(c) #因為a為true所以輸出b的值,輸出 20
if a and b:
print('ok') #輸出ok
c = (a or b)
print(c) #如果a非0那么輸出a的值,輸出10
print(not(c)) #輸出false
c = (not(a and b))
print(c) #因為a and b值為20即為true,not(true)即為false輸出false
5. 成員運算子
除了以上的一些運算子之外,Python還支持成員運算子,測驗實體中包含了一系列的成員,包括字串,串列或元組
| 運算子 | 描述 | 實體 |
|---|---|---|
| in | 如果在指定的序列中找到值回傳 True,否則回傳 False, | x 在 y 序列中 , 如果 x 在 y 序列中回傳 True, |
| not in | 如果在指定的序列中沒有找到值回傳 True,否則回傳 False, | x 不在 y 序列中 , 如果 x 不在 y 序列中回傳 True, |
a = 10
list = [10, 2, 3, 4, 5 ]
#判斷數字是否在串列中
if a in list:
print('ok') #輸出ok
#判斷字符i是否存在于字串中
a = "china"
if 'i' in a:
print('ok') #輸出ok
if 'k' not in a:
print('ok') #輸出ok
條件判斷
if陳述句
- 條件判斷的內容,如果有值即為真,空值即為假
- 數字型別,如果為0表示假
- 條件判斷的幾種鏈接條件 and , or , not
- if True
- if False
if 條件:
成立
else:
不成立
if 條件:
成立
elif 條件:
成立
...
else:
不成立
回圈
Python 提供了 for 回圈和 while 回圈(在 Python 中沒有 do..while 回圈)
1. while陳述句
while 條件:
回圈陳述句
如,輸出10個xcc
i = 0
while i<10:
print("xcc") #括號中輸出的內容為什么要加引號?
#因為不加引號系統會識別為變數
i += 1 #python 中沒有 i++
- 號表示負號
結果如下

2. for陳述句
for回圈經常會用到
for i in range(a,b,步長值): #步長值默認為1可以不寫
運算式
- 區間是 【a,b),步長值默認為1可以不寫
- a和b沒有大小之分,步長值可以為負數
如下對字串“hello”輸出2次,并同時輸出i的值
for i in range(1,3):
print(i)
print("hello")

for回圈中不加range可以遍歷帶有索引值的資料,如下
- #字串
- for a in "python":
- print(a)
- 輸出:p y t h o n
- #串列
- for i in ['abc','cde']:
- print(i)
- 輸出:abc cde
- #數字
- for i in 10:
- print (i)
- 輸出:報錯 因為整數型別不包含索引值,不能一個一個輸出,將10加上引號變成字符型就可以
例子:輸出九九乘法表
for i in range(1,10):
for x in range(1,i+1):
print("{}*{}={}" .format(x,i,x*i),end=' ') #print默認輸出帶換行符,加上end=''則不進行換行
#print(f"{j}*{i}={i*j}",end=' ')
print(' ')
回圈控制陳述句
回圈控制陳述句可以更改陳述句執行的順序,Python支持以下回圈控制陳述句:
| 控制陳述句 | 描述 |
|---|---|
| break 陳述句 | 在陳述句塊執行程序中終止回圈,并且跳出整個回圈 |
| continue 陳述句 | 在陳述句塊執行程序中終止當前回圈,跳出該次回圈,執行下一次回圈, |
| pass 陳述句 | pass是空陳述句,是為了保持程式結構的完整性, |
例子,如果輸入的用戶名不是tom的話,程式會一直回圈,直到輸入的名字為tom的話程式就會跳出(終止)整個回圈
while True:
name = input("請輸入用戶名:")
if name == "tom":
print("歡迎")
break
else:
continue

random模塊
random模塊,可以在范圍內生成一個亂數
- random.randint(start,end) 范圍內生成亂數(包含頭尾)
- random.choice([x,x,x,x,....]) 指定數中隨機選取(可以是字串或者數字)
- import random 呼叫一個功能模塊
- print(dir(random)) 查看功能模塊中有哪些功能屬性
- print(help(random.randint)) 查看該功能的幫助資訊
石頭剪刀布例子:
#電腦隨機出石頭剪刀布,你出石頭剪刀布,三局兩勝
import random
list = ['石頭','剪刀','布']
i = 0
c = 0
p = 0
pingju = 0
while True:
computer = random.choice(list)
#判斷person輸入的是否正確不正確重新輸入
while True:
person = input('請輸入石頭剪刀布:')
if person not in list:
print("您輸入的不正確請重新輸入!")
continue
else:
break
if (computer == '石頭' and person == '剪刀') or (computer == '剪刀' and person == '布') or \
(computer == '布' and person == '石頭'):
print('電腦出的{},您出的{},您輸了' .format(computer,person))
c += 1
elif (computer == person):
print('你們都是出的{}' .format(computer))
pingju == 0
else:
print('電腦出的{},您出的{},您贏了了' .format(computer,person))
p += 1
i += 1
if i == 3:
if c >= 2:
print(f"三局兩勝計算機贏了,計算機贏了{j}次,你贏了{p}次,平局{h}次")
elif p >= 2:
print(f"三局兩勝你贏了,你贏了{p}次,計算機贏了{j}次,平局{h}次")
else:
print(f"平局,平局{h}次,你贏了{p}次,計算機贏了{j}次")
break
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/301051.html
標籤:python

