博客1 :https://www.cnblogs.com/linhaifeng/p/7278389.html
博客2: https://github.com/3KK3/Python
**
: 次方操作
a = 2 ** 3
print(a)
# 輸出是 8
//
:取商
a = 9 // 2
print(a)
# 輸出是4
input()
: 等待輸入字符串
a = input("請(qǐng)輸入密碼")
base
:指定進(jìn)制轉(zhuǎn)換
num = "11"
new = int(num,base = 2) #按照二進(jìn)制轉(zhuǎn)換
bit_lenght
判斷數(shù)字的二進(jìn)制表示至少有幾位
age = 10
r = age.big_lenght()
序列:
- 字符串 str
- 列表 list
- 元組 turple
字符串操作:
-
+
: 例如c = "a" + "b"
-
-
: 例如c = "ab" - "b"
-
*
: 例如c = "a" * 10
, 結(jié)果是aaaaaaaaaa
-
in
ornot in
: 例如if "a" in "abc"
,判斷是否包含指定字符串
center
: 構(gòu)造指定中間內(nèi)容的字符串
str = "str"
result = str.center(10,"1")
print(result)
# 111str1111
format
和format_map
格式化字符串
test = "my name is {name},age is {age}"
result = test.format(name = "Bill",age = 12)
print(result)
# my name is Bill,age is 12
制表符\t
和擴(kuò)充表格方法expandtabs
制作表格:
str = "name\tage\taddress\nBill\t11\t北京\nAlex\t12\t山東\nMori\t22\t上海"
print(str.expandtabs(20))
#輸出:
"""
name age address
Bill 11 北京
Alex 12 山東
Mori 22 上海
"""
join
將字符串中的每一個(gè)元素按照指定分隔符進(jìn)行拼接
str = "今天是星期五haha"
print("%".join(str))
# 今%天%是%星%期%五%h%a%h%a
列表List:
list1 = [1,"2",[1,2,3],True]
下標(biāo)方式刪除元素: del list1[0]
切片方式刪除元素: del list[0:2] #刪除位置大于等于第0個(gè)掘托,小于第二個(gè)的元素
字符串轉(zhuǎn)列表:
str = "abcdefg"
list1 = list(str)
三元表達(dá)式:
name = 'bill'
new_n = 'a' if name == 'bill' else 'b'
列表解析器
list1 = ['小明%s' %i for i in range(10)]
list1 = ['小明%s' %i for i in range(5) if i > 3]
print(list1)
生成器表達(dá)式
把上面列表解析器的[]
換成()
list1 = ('小明%s' %i for i in range(5) if i > 3)
print(list1.__next__())
生成的是generator object類型,默認(rèn)遵守迭代器協(xié)議
生成器表達(dá)式比列表解析器更加節(jié)省內(nèi)存
裝飾器
import time
# 高階函數(shù) + 函數(shù)嵌套 + 閉包
def calTime(func):
def wrapper():
startTime = time.time()
value = func()
endTime = time.time()
print('函數(shù)運(yùn)行時(shí)間%s',%(endTime - startTime))
return value
return wrapper
# 相當(dāng)于test = calTime(test)
@calTime
def test():
time.sleep(1)
print('函數(shù)執(zhí)行完畢')
return
test()
帶參數(shù)的裝飾器:
import time
# 高階函數(shù) + 函數(shù)嵌套 + 閉包
def calTime(func):
def wrapper(*args, **kwargs):
startTime = time.time()
func(*args, **kwargs)
endTime = time.time()
print('函數(shù)運(yùn)行時(shí)間%s',%(endTime - startTime))
return wrapper
解壓序列:
list1 = [1,2,3,4,5,6,7,8]
a,*_,c,b = list1
a,b,c,*_ = 'hello world'
print(a)
print(b)
print(c)
a = 1
b = 2
a ,b = b ,a
# 交換a b的值
if __name__ == '__main__':
用處:
- 在被調(diào)用模塊書(shū)寫鸯旁,可以保證測(cè)試代碼不被外部調(diào)用
- 在調(diào)用模塊書(shū)寫忆植,可以保證自己不被別人調(diào)用