[Python注釋]
[Python變數]
[Python運算子]
[Python輸入輸出]
* [輸入函式]
* [輸出函式(3.x)]
* [格式化輸出]
[分支]
[回圈]
### Python注釋
#### 單行注釋
```
# 這是一個單行注釋
print("test")
```
#### 多行注釋
```
'''
這里就是python的多行注釋方式
可以直接分行進行注釋操作
本質上是字串
'''
import this
print("hello world")
```
#### 特殊注釋
* `#!/usr/bin/python3`
指定解釋器的版本
* `#encoding=utf-8`
`python 2.x`解決中文文本亂碼
### Python變數
#### 變數使用
使用之前不用宣告;做引數傳遞時,所有的變數都是**傳遞參考**
#### 定義變數
```
# arg = val
a = 1
# arg1, arg2 = 1, 2
a, b = 1, 2
# arg1 = arg2 = val
a = b = 3
```
#### 使用變數的好處
節省空間,便于修改,可讀性強
#### 使用變數注意事項
* 一個變數只能參考一個數值
* 命名規范
* 數字、字母、下劃線
* 見名知義
* 駝峰命名
* 只能使用非關鍵字
* 區分大小寫
* 使用變數之前一定要賦值
### Python資料型別簡介
#### 常用資料型別
* Numbers(數值型別)
* Bool(布爾型別)
* String(字串)
* List(串列)
* Set(集合)
* Tuple(元組)
* Dictory(字典)
* NoneType(空型別)
#### 型別轉換
```
num = "6"
print(4 + int(num)) # 10
print(str(4) + num) # 46
```
### Python運算子
#### 算術運算子
```
# + 加法運算子
print(1 + 2) # 3
print("1" + "2") # 12
print([1, 2] + [3, 4]) # [1, 2, 3, 4]
# - 減法運算子
print(1 - 2) # -1
# * 乘法運算子
print(2 * 3) # 6
# ** 冪運算子
m, n = 2, 3
print(m ** n) # 2*2*2/8
# / 除法運算子
print(5 / 2) # 2.5
# // 整除運算
print(5 // 2) # 2
print(5.0 // 2) # 2.0
print(5.99 // 2) # 2.0
# % 求模運算
print(5 % 2) # 1
```
#### 復合運算子
```
num = 2
num = num + 3
# 與下面這種方式等價,且效率更高
num += 3
```
#### 比較運算子
```
# 布爾型別是一種單獨的型別
res = 10 != 2
print(res) #True
# a, b指向同一塊記憶體
a = 1
b = 1
print(a == b) #True
print(a is b) #True
#a, b指向不同的記憶體
a = [1, 2]
b = [1, 2]
print(a == b) #True
print(a is b) #False
#可以使用id(arg)來查看變數所在的記憶體區域
# 鏈式比較
print(1 <= 2 < 4) # True
# 邏輯運算
print(1 <= 2 and 2 < 4) #True
print(True or False) #True
print(not False) #True
# 擴展的True和False
# 0和空表示假
# bool(0), bool(""), bool([])
print(0 and True) # 0
print(1 or False) # 1
print(True and 0) # 0
print(1 and 3) # 3
```
#### in運算子
```
li = [1, 2, 3, 4]
print(1 in li) # True
print("x" not in li) # True
str = "aabbccd"
print("ab" in str) # True
print("aabc" not in str) # True
```
### Python輸入輸出
#### 輸入函式
使用內建(不用匯入其他的包)的函式**input()**, `python2.x`和`python3.x`中有些不同
* **python2.x**
* raw_input(): 將用戶輸入的所有內容都當作**字串**來處理
* input(): 將用戶輸入的內容當作代碼進行處理(可以理解為使用了`raw_input()`和`eval()`函式)
* **python3.x**
* input(): 和`2.x`版本的raw_input()函式相同,
#### 輸出函式
**完整函式**:print(values, sep, end, file, flush)
* **values**:需要輸出的值,有多個值使用`,`進行分隔
* **sep**:分隔符,默認使用**空格**進行分隔
* **end**:輸出完畢后添加的字符,默認是`\n`
* **file**:默認是顯示幕,也可以指定檔案
* **flush**:重繪緩沖區,進行立刻輸出,默認`false`
```
#輸出一個值
print(123)
#輸出一個變數
val = 123
print(val)
#輸出多個變數
name, year = rity, 1997
print(name, year) #rity 1997
#格式化輸出
print("my name is %s, age is %d" % (name, age))
print("my name is {0}, age is {1}".format(name, age))
#輸出到檔案中
f = open("test.txt", "w")
print("xxxxxx", file = f)
#輸出不自動換行
print("123", end="-") # 123-
#使用分隔符
print(1, 2, 3, sep="+") # 1+2+3
```
#### 格式化輸出
##### %[(name)][flags][width][.precision]typecode
* **[ ]**:可以省略
* **(name)**:根據指定的名稱(key),找到對應的值
```
name, age = "rity", 18
print("name is %(name)s, age is %(age)d"%({"name": name, "age": age})
```
* **width**:輸出內容占用的寬度,默認右對齊
```
num = 123
print("%10d" % num) # 123
```
* **flags**:填充或對齊方式
```
#為空表示右對齊(同上)
#-表示左對齊
print("%10d" % num) #123
#0表示使用0填充
min, sec = 5, 8
print("%02d:%02d" % (min, sec)) # 05:08
```
* **.precision**:精度設定,用于`%f`
```
price = 1.239
print("%.2f" % price) # 1.24(四舍五入)
```
### Python分支判斷
```
# 單分支判斷
age = 17
if age >= 18:
print("You are an adult")
print("end")
# 雙分支判斷
if age >= 18:
print("You are an adult")
else:
print("You are not an adult")
print("end")
# 多分支判斷
score = 59
if 90 <= score <= 100:
print("A")
elif 80 <= score:
print("B")
elif 60 <= score:
print("C")
else:
print("D")
# 常用的三目運算
a, b = 1, 3
x = 2 if a > 2 else 4 # x=4
y = 3 if b < 5 else 2 # y=3
```
### Python回圈
```
# while回圈,看重回圈的條件
num = 0
while num < 4:
print(num)
num += 1
#for回圈,多用于遍歷
li = [1, 2, 3, 4]
for x in li:
print(x) # 1 2 3 4
# 使用range()函式進行計數迭代
for i in range(1, 10): #[1, 10)
if i % 2: #奇數
print("%d: 奇數" % i)
else:
print("%d: 偶數" % i)
# pass陳述句,用來占位,沒有實際邏輯
if True:
# todo
else:
pass
```
推薦一下我建的python學習交流扣扣qun:850973621,群里有免費的視頻教程,開發工具、
電子書籍、專案原始碼分享,一起交流學習,一起進步!
作者:MetaT1an
鏈接:https://www.jianshu.com/p/739626ce8b67
來源:簡書
著作權歸作者所有,商業轉載請聯系作者獲得授權,非商業轉載請注明出處,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/232296.html
標籤:Python
上一篇:重新認識HTTP3xx重定向機制
下一篇:python實戰筆記(二)
