1.5.5 Python內(nèi)置函數(shù)

點擊跳轉(zhuǎn)筆記總目錄

一,Python內(nèi)置函數(shù)

1.locals()和globals()

def func():
    x = 1
    y = 2
    print(locals())
    print(globals())


func()

2.eval,exec,和compile

print(123)
"print(456)"  ## 字符串
eval("print(456)")  ## 吧字符串轉(zhuǎn)換成python代碼去執(zhí)行(有返回值)
exec("print(7889)")  ## 吧字符串轉(zhuǎn)換成python代碼去執(zhí)行(無返回值)
num = eval('4+5+6')  ## 執(zhí)行了,有返回值
print(num)

num = exec('4+5+6')  ## 執(zhí)行了,沒有返回值
print(num)
compile  ## 做編譯
com = compile('1+2+3', '', mode='eval')  ## 節(jié)省時間
print(eval(com))
print(eval('1+2+3'))  ## 這句效果和上面的compile()效果一樣

3.print

print('123', end='')  ## 不換行
print('456', end='')

print(1, 2, 3)
print(1, 2, 3, 4, 5, 6, sep=',')

## print()函數(shù)的小例子
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)

4.input()

5.type()

s = '1213'
print(type(s)) #輸出s的類型

6.hash

print(hash('asdsffd'))  ## 一開始幾個都是不變的,,然后重新運行一次就變了
print(hash('asdsffd'))
print(hash('asdsffd'))
print(hash('asdsffd'))
print(hash('asdsffd'))
print(hash((1, 2, 3, 4)))

7.open

## 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()

8.import()

import os
import sys
import time

9.callable:查看能不能調(diào)用

print(callable(123))  ## 數(shù)字不能調(diào)用結(jié)果就是False
print(callable(open))  ## 函數(shù)可以調(diào)用就返回True

10.dir 查看數(shù)據(jù)類型的方法

print(dir(__builtins__))  ## 看著報錯,,但其實不報錯
print(dir(int))
print(dir(list))
print(dir(0))  ## 和int一樣
print(set(dir(list)) - set(dir(tuple)))

11.int()轉(zhuǎn)換為int類型

num1 = int(123)
num2 = int(12.3)  ## 強制轉(zhuǎn)換成int類型
print(num1, num2)

12.取商/余

print(divmod(7, 3))

13.計算最小值

print(min(1, 2, 3, 4))
print(min([5, 6]))

13.計算最大值

print(max(1, 2, 3, 4))
print(max([5, 6]))

14.sum求和

print(sum(1, 2, 3, 4))  ## 出錯了,參數(shù)是序列,散列不行
print(sum([5, 6]))
print(sum((1, 2, 3, 4)))

## 以下的兩個方式是一樣的
print(1 + 2)
print(int(1).__add__(2))

15.round精確度

print(round(3.1415926, 2))  ## 保留兩位

16.pow()冪運算

print(pow(2, 3))
print(2 ** 3)

17.和數(shù)據(jù)結(jié)構(gòu)相關(guān)的

1.reversed()順序的反轉(zhuǎn)

l = [1, 2, 3, 4]
print(list(reversed(l)))  ## 是生成了一個新的列表,沒有改變原來的列表(以后能不用reversed就不用reversed,用reverse)
## l.reverse()#在現(xiàn)在的列表的基礎(chǔ)上修改了,修改的是原來的列表
print(l)

2.slice切片
3.format()#除了格式化以外的作業(yè)


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.enumerate


l = ['a', 'b']
for i in enumerate(l):
    print(i)

for i, j in enumerate(l):
    print(i, j)

8.all和any


print(all([1, 2, 3]))
print(all([0, 2, 3]))  ## 因為0是False

print(any([1, 2, 3]))
print(any([0, 2, 3]))

9.zip()


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和sorted


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():我要對我的列表當中的每一個值去做函數(shù)里面的操作


l = [1, 2, 3, 4, 5]


def pow2(x):
    return x * x


print(list(map(pow2, l)))

12.filter():從一個列表當中找到所有符合篩選條件的,在組成一個新列表


def aaa(x):
    return x % 2 == 1


ret = list(filter(aaa, [1, 2, 54, 3, 6, 8, 17, 9]))
print(ret)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容