#
進行單行註釋# 這是單行註釋
複製代碼
''' '''
或 """ """
進行多行註釋''' 這裏是多行註釋 這裏是多行註釋 '''
""" 這裏是多行註釋 這裏是多行註釋 """
複製代碼
# encoding=utf-8
# coding-utf-8
# _*_coding:utf-8_*_
(推薦寫法)a = 10
b, c = 5, 2
d = e = 10
複製代碼
爲何產生變量:bash
注意事項:函數
數據類型: 對程序處理的數據, 進行的分類, 好比整數, 浮點數, 字符串等ui
爲何區分數據類型spa
數據類型的經常使用分類:3d
獲取數據的類型: type(數據)
, 例如: type(6), type("6")code
靜態類型: 變量類型一經定義, 就不可更改, 好比 a = 10, a的類型是Int, 不能改爲Str類型, 即只能引用Int類型數據, 不能引用其餘數據類型的數據orm
a = 10 # a的類型爲Int
a = "10" # 靜態類型不能引用其餘類型的數據, 報錯
複製代碼
a = 10 # a的類型爲Int
a = "10" # 的類型爲Str
複製代碼
a = "1"
b = a + 1 # 強類型, 報錯
複製代碼
11
a = "1"
b = a + 1 # 弱類型, 結果爲 b = "11"
複製代碼
Python是強類型的, 動態類型的語言對象
加: "+"
a = 1 + 2, 結果 a = 2
減: "-"
b = 5 - 3, 結果 b = 2
乘: "*"
c = 2 * 3, 結果 c = 6
冪: "**"
d = "3 ** 5", 結果 d = 243
除: "/"
e = 5 / 2, 結果: e = 2.5
整除: "//"
f = 5 // 2, 結果: f = 2
取餘: "%"
g = 5 % 2, 結果: g = 1
賦值: "="
h = 3, i = 5
優先級: "()"
j = 3 + 2 / 2 + 1, j = 5。 k = 3 + 3 / (2 + 1), k = 4。
複製代碼
+=:
a = 10, a += 5, 結果: a = 15 等價於 a = a + 5
-=:
a = 10, a -= 5, 結果: a = 5 等價於 a = a - 5
*=:
a = 10, a *= 5, 結果: a = 50 等價於 a = a * 5
/=:
a = 10, a /= 4, 結果: a = 2.5 等價於 a = a / 4
%=:
a = 10, a %= 4, 結果: a = 2 等價於 a = a % 4
**=:
a = 10, a **= 2, 結果: a = 100 等價於 a = a ** 2
//=:
a = 10, a //= 4, 結果: a = 2 等價於 a = a // 4
複製代碼
>:
a = 10 > 2, 結果 a = True
<:
b = 10 < 2, 結果 b = False
!=:
c = 10 != 5, 結果 c = True
<>: Python2版本支持, 等價於 !=, Python3版本不支持<>
d = 5 <> 5, 結果 d = False
>=:
e = 5 >= 5, 結果 e = True
<=:
f = 5 <= 6, 結果 f = False
==:
g = 3 == 3, 結果 g = True
is: 比較惟一標識, 經過id(值), 獲取惟一標識
num = 10, id(10)
h = [1]
i = [1]
result = h is i, 結果: result = False
鏈式比較運算符:
num = 10
j = 5 < num < 20, 結果: j = True 其餘語言寫做: j = num > 5 && num < 20
複製代碼
not: 非, 取反, 真 -> 假, 假 -> 真, 其餘語言中的 !
a = True, b = not a, 結果: b = False
c = False, d = not c, 結果: d = True
and: 與, 而且, and的兩邊, 必須都是真, 最終纔會是真, 其餘語言中的 &&
e = True and False, 結果: e = False
f = True and True, 結果: f = True
即: 一假全假, 全真才真
or: 或, 或者, or的兩邊, 只要有一個條件是真的, 那麼最終都是真的
g = True or False, 結果: g = True
h = False or False, 結果: g = False
即: 有真即真, 全假才假
非Bool值的類型, 判斷真假, 與OC同樣, 非零即真, 非空即真
print(False or 1), 打印: 1
print(bool(1)), 打印: True
print(bool(0)), 打印: False
print(False or ""), 打印: False
print(3 and 1), 打印: 1
print(1 and 3), 打印: 3
複製代碼
eval函數, 將一段字符串當作代碼運行處理utf-8
result = eval("1+1"), 結果 result = 2 複製代碼
input
至關於 raw_input + eval
的功能組合輸出一個值:
print 5
複製代碼
輸出一個變量:
num = 5
print num
複製代碼
輸出多個變量:
num1 = 10
num2 = 20
num3 = 30
print num1, num2, num3
複製代碼
格式化輸出:
name = "張三"
age = 18
方式一: print "名字是%s, 年齡是%d"%(name, age)
結果: 名字是張三, 年齡是18
方式二: print "名字是{0}, 年齡是{1}".format(name, age)
結果: 名字是張三, 年齡是18
複製代碼
輸出到文件當中:
file = open("text.py", "w") 第一個參數: 文件名, 第二個參數: 權限
print >>file, "xxxxxx" 第一個參數: 輸出文件, 第二個參數: 輸出內容
複製代碼
輸出不換行: 在結尾加一個逗號"," 中間以空格分割
print 1,
print 2
打印: 1 2
複製代碼
使用"-"分割多個參數輸出
print "-".join(["a", "b", "c"])
打印: a-b-c
複製代碼
輸出一個值:
print(123)
複製代碼
輸出一個變量:
num = 123
print(num)
複製代碼
輸出多個變量
num1 = 1
num2 = 2
num3 = 3
print(num1, num2, num3)
複製代碼
格式化輸出:
name = "zhangsan"
age = 18
print("個人名字是%s, 年齡是%d"%(name, age))
print("個人名字是{0}, 年齡是{1}".format(name, age))
複製代碼
輸出到文件:
f = open("test.py", "w")
print("xxx", file=f)
複製代碼
輸出不換行:
print("xxx", end=""), end的值默認爲\n換行符
複製代碼
輸出多個參數時, 使用指定分割方式分割:
print("1", "2", "3", sep="&&"), 打印:1&&2&&3
複製代碼
當即輸出:
print("xxx", fluse=True)
複製代碼
%[(name)][flags][width][.precision]typecode
(name)
: 用於選擇指定名稱對應的值 (根據字典的key
, 取出對應的value
)dictionary = {"age": 18, "name": "zhangsan"}
print("個人名字是%(name)s, 年齡是%(age)d" % (dictionary))
打印: 個人名字是zhangsan, 年齡是18
複製代碼
width
: 表示顯示的寬度num = 5
print("%3d" % num), 打印: " 5", 這裏雙引號爲了展現5的前面有一個空格, 實際打印不存在雙引號
即: 當打印目標寬度不出3時, 在前面以空格的形式補齊3位
num1 = 3
print("%5d" % num), 打印: " 5", 雙引號同上
此時打印寬度爲5, 因爲3的寬度只有1個位置, 因此前面有四個空格
複製代碼
flags
: 主要與width
配合使用, 主要有四個做用:做用一: 不寫時, 默認右對齊
num = 5
print("%3d" % num), 打印: " 5", 雙引號同上
做用二: -(負號), 表示左對齊
print("%3d" % num), 打印: "5 ", 雙引號同上
做用三: 空格, 主要用在數字前面加一個空格,與負數的負號對齊
num = 5
print("% d", num), 打印: " 5", 不論中間加幾個空格, 最後結果只顯示一個
例如:print("% d", num), 打印: " 5", 只打印一個空格
做用四: 0, 不足部分, 使用0補齊
num = 5
print("%02d"), 打印: 05
主要應用場景, 對時間進行格式化
minutes = 5
seconds = 8
print("%02d : %02d" % (minutes, seconds)), 打印: 05 : 08
複製代碼
. precision
: 表示浮點數後精度保留小數點後2位:
num = 10.32131
print("%.2f" % num), 打印: 10.32
保留小數點後3位:
print("%.3f" % num), 打印: 10.321
不保留小數點
print("%.0f" % num), 打印: 10
保留小數點後7位:
print("%.7f" % num), 打印: 10.3213100
複製代碼
typecode
, 必填項, 主要格式i/d
: 將證書, 浮點數轉成十進制整數num = 10.321
print("%d" % num), 打印: 10
複製代碼
o
: 將整數, 轉成八進制num = 10
print("%o" % num), 打印: 12
複製代碼
x
:將整數, 轉成十六進制num = 10
print("%x" % num), 打印: a
複製代碼
e
: 將整數, 浮點數轉成科學計數法num = 1111111111
print("%e" % num), 打印: 1.111111e+09
複製代碼
E
: 將整數, 浮點數轉成科學計數法num = 1111111111
print("%e" % num), 打印: 1.111111E+09
複製代碼
f
: 將整數, 浮點數格式化成浮點數, 並保留六位小數num = 5
print("%f" % num), 打印: 5.000000
num1 = 5.312231232
print("%f" % num1), 打印: 5.312231
num2 = 5.312
print("%f" % num2), 打印: 5.312000
複製代碼
g
: 自動調整將整數, 浮點數轉成浮點數, 超過六位數, 用科學計數法num1 = 23.321000
print("%g" % num1), 打印: 23.321
num2 = 231.32
print("%g" % num2), 打印: 231.32
num3 = 100.1111111
print("%g" % num3), 打印: 100.111
num4 = 100111111111
print("%g" % num4), 打印: 1.00111e+11
複製代碼
G
: 與g
相同s
: 獲取傳入對象的__str__方法的返回值, 並格式化到指定位置r
: 獲取傳入對象的__repr__方法的返回值, 並格式化到指定位置c
: 整數, 將數字轉成對應的uniode對應的值, 範圍: 0<= i <= 1114111, py27之至此0-255%%
表示一個百分號num = 90
print("%d%%" % num), 打印: 90%
複製代碼
注意: Python中不存在將整數轉成二進制的格式符, Python中不存在
%b
這個格式符ci