日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 Python教程 正文

Python內置函數與可迭代對象

作者:MeiJin_ 更新時間: 2022-07-17 Python教程

文章目錄

  • 一、 常見內置函數
  • 二、 可迭代對象
  • 三、 迭代器對象
  • 四、 for循環的本質

一、 常見內置函數

	常見內置函數即是提前定義好的函數 py文件一創建就有的
	直接使用即可 很多內置函數的功能都非常的好用
	具體我們可以參考官網

在這里插入圖片描述

		1.abs()								求絕對值
			print(abs(-99))  
			result: 99

		2.all()any()						判斷容器類型中的所有數據值對應的布爾值是否為True
		  all()  							所有的數據值都為True的情況下 結果才是True
		  any()								所有數據值只有一個為True的情況下就是True
		  	print(all([1, 2, 3, 4, 5, 0]))
			print(all([1, 2, 3, 4, 5]))
			result: FalseTrue

		3.bin()								十進制轉二進制
		  oct()								十進制轉八進制
		  hex()								十進制轉十六進制
			print(bin(10))
			print(oct(10))
			print(hex(10))
			result:0b10100o120xa
	
		4.int()  							類型轉換 其他進制轉十進制
			print(int(0b1010))			
			print(int(0o12))
			print(int(0xa))
			result:101010
		
		5.bytes()  							類型轉換
			res = '梅金python牛牛牛'.encode('utf8')	
			print(res)
			res1 = res.decode('utf8')
			print(res1)
			result:b'\xe6\xa2\x85\xe9\x87\x91python\xe7\x89\x9b\xe7\x89\x9b\xe7\x89\x9b'
				   梅金python牛牛牛

		6.callable()  						判斷某個變量是否可以加括號調用
			name = 'meijin'
			def index():
			    print('from index')
			print(callable(name))		# 變量名不可以直接調用
			print(callable(index))		# 函數名可以
			result:	FalseTrue

		7.chr()ord()   					依據ASCII碼表實現字符與數字的轉換
		  chr()			 					將數字轉換為字符
		  ord()			 					將字符轉換為數字
		  	print(chr(65))
			print(chr(97))
			print(ord('A'))
			print(ord('a'))
			result:A、a、6597

		8.dir()								獲取對象內部可以通過句點符獲取的內置函數數據
			print(dir(str))
			result:str的全部內置函數過多不再展示

		9.divmod()							獲取除法之后的整數和余數
			real_num, more = divmod(898, 10)	#左邊目標值	右邊整除次數 more接收多余的余數
			print(real_num, more)
			result:898
		
		10.enumerate()						枚舉
			name_list = ['like', 'lebron', 'kobe']
			需求:循環打印出數據值并且對應的索引值
			for i in enumerate(name_list): 
				print(i)
			result:(0, 'like')(1, 'lebron')(2, 'kobe')
			
			默認是從0開始 可以自定義 兩個變量名接收即可
			for i, y in enumerate(name_list, 22): 
				print(i, y)
			result:22 like、23 lebron、24 kobe

		11.eval()  exec()					 能夠識別字符串中python代碼并執行
			res = 'print(123)'
			eval(res)  # 不識別復雜結構的代碼 只能識別最簡單的
			exec(res)  # 能夠識別復雜結構的代碼
			result:123123
	
			res1 = "for i in range(10):print(i)"
			eval(res1)	#復雜的就會直接報錯
			exec(res1)	#能夠識別復雜結構的代碼
			result:報錯、0123456789

		12.hash()							  返回一串隨機的數字(哈希值)
		 	print(hash('jason'))
			print(hash('123'))
			result:6092024675700946468-3752689140153405933

		13.help()							  查看幫助信息
			help(len)

		14.isinstance()						  判斷某個數據是否屬于某個數據類型
			print(isinstance(123,int))
			print(isinstance(123,str))
			result:True,False

		15.pow()							  冪指數
			print(pow(2, 3))
			result:8
	
		16.round(number,digits)				  大致:四舍五入 
		   number需要四舍五入的數	digits需要小數點后保留的位數;
			print(round(98.3))
			print(round(98.6))
			result:98,99		

在這里插入圖片描述

二、 可迭代對象

	迭代如何理解
		迭代就是更新換代 每次迭代都需要基于上一次的成果更新
		指存儲了元素的一個容器對象 且容器中的元素可以通過雙下iter( )方法或雙待next()方法訪問
		并不是指某種具體的數據類型。
		
	代碼演示
		不屬于迭代
			while True:print('嘿嘿嘿')		# 無限循環值沒有改變
		屬于迭代		
			n = 0									
				while n < 10:
				    print(n)
				    n += 1					# 循環值在上一次的基礎上改變

	如何判斷可迭代對象
		內置有__iter__方法的都叫做可迭代對象
			1.內置是什么意思    通過句點符直接能夠點出來的東西都叫內置
			2.__XXX__  針對雙下劃線開頭雙下劃線結尾的方法 統一讀作雙下XXX
			
		可迭代對象
    		字符串 列表 字典 元組 集合 文件對象(本身就是迭代器對象)
		不是可迭代對象
   			 整型 浮點型 布爾值 函數名

		可迭代對象能夠支持for循環取值

三、 迭代器對象

	1.如何判斷迭代器對象
		內置有__iter__和__next__的對象都稱為迭代器對象 通過句點符來操作
	2.可迭代對象與迭代器對象的關系
		可迭代對象調用__iter__方法之后就會變成迭代器對象
		迭代器對象調用__iter__方法無論多少次還是迭代器對象本身
	3.迭代器對象迭代取值
		res = 'Like'.__iter__()  			# res已經是迭代器對象
		print(res.__next__()) 
		print(res.__next__())
		print(res.__next__())
		print(res.__next__())				# 如果再次打印結果報錯
		result: L、i、k、e
	
		字典取值的話只會取K 值不會參與

	   列表  l1 = [11, 22, 33, 44, 55, 66, 77, 88]
	   需求:不使用for循環 依次打印出列表中所有的數據值
		    res = l1.__iter__()				# 1.先將列表變成迭代器對象
		    count = 0						# 2.定義一個計數器
		    while count < len(l1):		    # 3.編寫while循環
		        print(res.__next__())
		        count += 1
		    result:11、22、33、44、55、66、77、88

	4.針對雙下方法
		res = l.__iter__() 					 # 可以簡寫iter(l)
		res.__next__()  					 # 可以簡寫next(res1)

四、 for循環的本質

	語法結構
		for 變量名 in 可迭代對象:
   			for循環體代碼
   	1.for會自動將in后面的數據值調用__iter__()變成迭代器對象
	2.之后每次循環調用__next__()取值
	3.最后沒有值__next__()會報錯 for能夠自動處理該錯誤 讓循環正常結束

本文僅講了常見內置函數以及可迭代對象,技術小白記錄學習過程,有錯誤或不解的地方請指出,如果這篇文章對你有所幫助請點贊收藏+關注 謝謝支持!

原文鏈接:https://blog.csdn.net/MeiJin_/article/details/125721160

欄目分類
最近更新