day14 python內建函式

2022-08-28 14:45:20 字數 4218 閱讀 5493

# abs(num)  求num的絕對值

print(abs(-3.2))

# 3.2

# all 如果可迭代的物件中都為真,則返回true;如果有假,則返回false

print(all([1,2,3,'ss'])) # 都為真,返回true

print(all([1,0,3,4])) # 序列中有0,返回的值為false

# any 若序列中有乙個真,則返回的結果為真

print(any([1,2,3,0])) # 都為真,返回true

print(any([0,0,0,0])) # 序列中都為0,返回的值為false

# bin() 將10進製轉化為2進製

print(bin(18))

# 0b10010

# bool() 判斷真假值

print(bool(0)) # false

print(bool(1)) # true

print(bool()) # false 空字典和空列表為假

# bytes 將字串轉化為二進位制

print(bytes('abcde',encoding='utf-8'))

# b'abcde'

# bytearray

print(bytearray('abcde',encoding='utf-8')) # bytearray(b'abcde')

print(bytearray([1,2,3,4,5])) # bytearray(b'\x01\x02\x03\x04\x05')

# callable() 判斷乙個物件是否可以呼叫

# 後面加口號的可以呼叫,如函式等

def func():

pass

print(callable()) # false

print(callable(func)) # true,必須寫成func,不是func()

# chr(num) 輸入整數num,返回阿克斯表中對應的字元

print(chr(99)) # c

# ord(c) 輸入字元c,返回阿克斯表中字元對應的數字

print(ord('c')) # 99

# compile()

#code = '[i for in range(11)]'

#py = compile(code,"err.log","exec")

#exec(py)

# 生成複數

print(complex(1,4))

# (3+4j)

# dict() 生成字典

print(type(dict()))

# # dir() # 檢視物件的方法

print(dir()) # 檢視列表的方法

# divmod(x,y) 返回x除以y的商和餘數

print(divmod(10,2)) # (5, 0)

print(divmod(10,3)) # (3, 1)

# eval() 函式用來執行乙個字串表示式,並返回表示式的值。

# eval(expression[, globals[, locals]])

# expression -- 表示式。

# globals -- 變數作用域,全域性命名空間,如果被提供,則必須是乙個字典物件。

# locals -- 變數作用域,區域性命名空間,如果被提供,可以是任何對映物件。

print(eval('3+4'))

# 7# exec 執行儲存在字串或檔案中的 python 語句,相比於 eval,exec可以執行更複雜的 python **。

exec("print ('runoob.com')")

# runoob.com

# filter 一組資料中過濾出需要的資料

print(filter(lambda x:x>5,range(10)))

# 生成的結果是迭代器

# float() 將數字數轉化為float格式

print(float(3))

# 3.0

# format 應用於字串格式化

print('my name is {},and age is {}'.format('jack',12))

# my name is jack,and age is 12

# frozenset([iterable]) 返回乙個凍結的集合,凍結後集合不能再新增或刪除任何元素。

print(frozenset(range(10))) # 生成乙個新的不可變集合

# frozenset()

# getattr() 函式用於返回乙個物件屬性值。

class a:

bar = 1

a = a()

print(getattr(a,'bar'))

# 1 物件的屬性不存在是返回異常

# hasattr() 函式用於判斷屬性是否存在。

class a:

bar = 1

a = a()

print(hasattr(a,'bar'))

# true 物件的屬性不存在是返回false

# 返回**中的全部全域性變數

print(globals())

# 返回**中的全部區域性變數

print(locals())

# hash(object) 用於獲取取乙個物件(字串或者數值等)的雜湊值。

print(hash('test') ) # 字串

# 2314058222102390712

print(hash(1) ) # 數字

# 1print(hash(str([1,2,3])) ) # 集合

# 1335416675971793195

print(hash(str(sorted()))) # 字典

# 7666464346782421378

# hex() 函式用於將10進製整數轉換成16進製制,以字串形式表示。

print(hex(12))

# 0xc

# id() 函式用於獲取物件的記憶體位址。

print(id('eeee'))

# 38999520

# isinstance(object, classinfo)函式來判斷乙個物件是否是乙個已知的型別,類似 type()。

print(isinstance('eee',str))

# true

# issubclass(class, classinfo) 方法用於判斷引數 class 是否是型別引數 classinfo 的子類。

class a:

pass

class b(a):

pass

print(issubclass(b, a)) # 返回 true

# memoryview(obj) 函式返回給定引數的記憶體檢視物件(momory view)。

#所謂記憶體檢視物件,是指對支援緩衝區協議的資料進行包裝,在不需要複製物件基礎上允許python**訪問。

# 將10進製轉化為8進製

print(oct(12))

# 0o14

# 將序列翻轉。倒著列印

a = (i for i in reversed(['wl','tom','jack','wtx']))

for i in a:

print(i)

#zip() 函式用於將可迭代的物件作為引數,將物件中對應的元素打包成乙個個元組,然後返回由這些元組組成的列表。

# 如果各個迭代器的元素個數不一致,則返回列表長度與最短的物件相同,利用 * 號操作符,可以將元組解壓為列表。

a = [1,2,3,4]

b = [2,3,4,5]

for i in zip(a,b):

print(i)

#(1, 2)

#(2, 3)

#(3, 4)

#(4, 5)

# __import__() 匯入字串

'''#import 'asd'

異常:file "g:/爬蟲/python程式設計從入門到實踐/9函式/內建函式.py", line 179, in

true

__import__('asd')

'''__import__('asd')

# importerror: no module named 'asd' 相當於匯入模組asd

day14 Python函式之可變長引數

1.形參變數只有在被呼叫時才分配記憶體單元,在呼叫結束時,即刻釋放所分配的記憶體單元。因此,形參只在函式內部有效。函式呼叫結束返回主呼叫函式後則不能再使用該形參變數 2.實參可以是常量 變數 表示式 函式等,無論實參是何種型別的量,在進行函式呼叫時,它們都必須有確定的值,以便把這些值傳送給形參。因此...

day14 內建函式

內建函式就是python執行時就會載入記憶體的函式,py直譯器執行後就可以直接拿來用的函式,常用的內建函式有以下這些,其中enumerate和eval是最常用的 1.bytes print 中文 encode utf8 print bytes 中文 utf8 2.char ord print chr...

day 14 內建函式二

一 函式名就是變數名,函式名字儲存的是函式的記憶體位址,溫習變數 1 由數字,字母,下劃線組成 2 不能是數字開頭,更不能是純數字 3 不能用關鍵字 4 不要太長 5 要有意義 6 不要用中文 7 區分大小寫 8 駝峰線或者下劃線 二 閉包 在內層函式中引入外層函式的變數 作用 1 保護變數,不受侵...