def func():
x = 1
y = 2
print(locals())
print(globals())
func()
複製代碼
print(123)
"print(456)" ## 字符串
eval("print(456)") ## 吧字符串轉換成python代碼去執行(有返回值)
exec("print(7889)") ## 吧字符串轉換成python代碼去執行(無返回值)
num = eval('4+5+6') ## 執行了,有返回值
print(num)
num = exec('4+5+6') ## 執行了,沒有返回值
print(num)
compile ## 作編譯
com = compile('1+2+3', '', mode='eval') ## 節省時間
print(eval(com))
print(eval('1+2+3')) ## 這句效果和上面的compile()效果同樣
複製代碼
print('123', end='') ## 不換行
print('456', end='')
print(1, 2, 3)
print(1, 2, 3, 4, 5, 6, sep=',')
## print()函數的小例子
import time
import sys
for i in range(0, 101, 2):
time.sleep(0.1)
char_num = i // 2 ## 打印多少個#
per_str = '%s%% : %s\n' % (i, '*' * char_num) if i == 100 else '\r%s%% : %s' % (i, '*' * char_num)
print(per_str, end='', file=sys.stdout, flush=True)
import sys
for i in range(0, 101, 2):
time.sleep(0.1)
char_num = i // 2
per_str = '\r%s%% : %s' % (i, '*' * char_num)
print(per_str, file=sys.stdout, flush=True)
複製代碼
s = '1213'
print(type(s)) #輸出s的類型
複製代碼
print(hash('asdsffd')) ## 一開始幾個都是不變的,,而後從新運行一次就變了
print(hash('asdsffd'))
print(hash('asdsffd'))
print(hash('asdsffd'))
print(hash('asdsffd'))
print(hash((1, 2, 3, 4)))
複製代碼
## r, w, a, r +, w +, a + (均可以加b)
f = open('tmp', 'r+') ## r+打開文件
print(f.read(3)) ## 若是讀了在寫,追加
f.seek(5) ## 若是seek指定了光標的位置,就從該位置開始覆蓋這寫
f.write('aaaaaa') ## 若是直接寫,從頭覆蓋
f.close()
複製代碼
import os
import sys
import time
複製代碼
print(callable(123)) ## 數字不能調用結果就是False
print(callable(open)) ## 函數能夠調用就返回True
複製代碼
print(dir(__builtins__)) ## 看着報錯,,但其實不報錯
print(dir(int))
print(dir(list))
print(dir(0)) ## 和int同樣
print(set(dir(list)) - set(dir(tuple)))
複製代碼
num1 = int(123)
num2 = int(12.3) ## 強制轉換成int類型
print(num1, num2)
複製代碼
print(divmod(7, 3))
複製代碼
print(min(1, 2, 3, 4))
print(min([5, 6]))
複製代碼
print(max(1, 2, 3, 4))
print(max([5, 6]))
複製代碼
print(sum(1, 2, 3, 4)) ## 出錯了,參數是序列,散列不行
print(sum([5, 6]))
print(sum((1, 2, 3, 4)))
## 如下的兩個方式是同樣的
print(1 + 2)
print(int(1).__add__(2))
複製代碼
print(round(3.1415926, 2)) ## 保留兩位
複製代碼
print(pow(2, 3))
print(2 ** 3)
複製代碼
1.reversed()順序的反轉python
l = [1, 2, 3, 4]
print(list(reversed(l))) ## 是生成了一個新的列表,沒有改變原來的列表(之後能不用reversed就不用reversed,用reverse)
複製代碼
## l.reverse()#在如今的列表的基礎上修改了,修改的是原來的列表
print(l)
複製代碼
2.slice切片 3.format()#除了格式化之外的做業bash
print(format('test', '<20'))
print(format('test', '>40'))
print(format('test', '^40'))
複製代碼
4.bytes數據結構
s = '你好'
sb = bytes(s, encoding='utf-8')
print(sb)
print(sb.decode('utf-8'))
sb2 = bytearray(s, encoding='utf-8')
sb2[0] = 229 ## 修改 瞭解就好
print(sb2.decode('utf-8'))
print(sb2)
print(sb2[0])
複製代碼
5.repr函數
print(repr('1234'))
print(repr(1234))
print('name:%r' % ('egon')) ## 你怎麼傳進去的就按什麼格式打印出來了
複製代碼
6.set和frozenset(不可變的集合)就像list和tuple 7.enumerateui
l = ['a', 'b']
for i in enumerate(l):
print(i)
for i, j in enumerate(l):
print(i, j)
複製代碼
8.all和anyspa
print(all([1, 2, 3]))
print(all([0, 2, 3])) ## 由於0是False
print(any([1, 2, 3]))
print(any([0, 2, 3]))
複製代碼
9.zip()code
l = [1, 2, 3]
l2 = [4, 5, 6, 7, 8]
print(zip(l, l2))
print(list(zip(l, l2)))
l3 = {'k': 'v'}
print(list(zip(l, l3)))
複製代碼
10.sort和sortedorm
l = [1, 3, 5, -2, -6]
l.sort()
print(l)
l2 = [1, 3, 5, -2, -6]
print(sorted(l2))
print(sorted(l2, key=abs))
print(sorted(l2, key=abs, reverse=True)) ## 默認從小到大排序,修改成True,則從大到小排序
複製代碼
11.map():我要對個人列表當中的每個值去作函數裏面的操做排序
l = [1, 2, 3, 4, 5]
def pow2(x):
return x * x
print(list(map(pow2, l)))
複製代碼
12.filter():從一個列表當中找到全部符合篩選條件的,在組成一個新列表ip
def aaa(x):
return x % 2 == 1
ret = list(filter(aaa, [1, 2, 54, 3, 6, 8, 17, 9]))
print(ret)
複製代碼