python基礎(15):內置函數(一)

来源:https://www.cnblogs.com/liuhui0308/archive/2019/11/07/11815836.html

1. 內置函數 什麼是內置函數? 就是python給你提供的,拿來直接⽤的函數,比如print,input等等,截⽌到python版本3.6.2 python⼀共提供了68個內置函數。他們就是python直接提供給我們的,有 ⼀些我們已經⽤過了,有⼀些還沒有⽤過,還有⼀些需要學完了⾯向對象才能繼續學 ...


1. 內置函數

什麼是內置函數? 就是python給你提供的,拿來直接⽤的函數,比如print,input等等,截⽌到python版本3.6.2 python⼀共提供了68個內置函數。他們就是python直接提供給我們的,有
⼀些我們已經⽤過了,有⼀些還沒有⽤過,還有⼀些需要學完了⾯向對象才能繼續學習的,今天我們就認識⼀下python的內置函數。
作⽤域相關:
locals():返回當前作⽤域中的名字
globals():返回全局作⽤域中的名字
迭代器相關:
range():⽣成數據
next():迭代器向下執⾏⼀次, 內部實際使⽤了__next__()⽅法返回迭代器的下⼀個項⽬
iter():獲取迭代器, 內部實際使⽤的是__iter__()⽅法來獲取迭代器
字元串類型代碼的執⾏:
eval():執⾏字元串類型的代碼. 並返回最終結果
print(eval("2+2")) # 4
n = 8
print(eval("2+n")) # 10
def func():
  print(666)
eval("func()") # 666
exec():執⾏字元串類型的代碼
exec("""
for i in range(10):
   print(i)
""")
exec("""
def func():
   print("我是周傑倫")
func()
""")
compile():將字元串類型的代碼變異,代碼對象能夠通過exec語句來執⾏或者eval()進⾏求值
'''
參數說明:
 1. resource 要執⾏的代碼, 動態代碼⽚段
 2. ⽂件名, 代碼存放的⽂件名, 當傳⼊了第⼀個參數的時候, 這個參數給空就可以了
 3. 模式, 取值有3個,
 1. exec: ⼀般放⼀些流程語句的時候
 2. eval: resource只存放⼀個求值表達式.
 3. single: resource存放的代碼有交互的時候. mode應為single
'''
code1 = "for i in range(10): print(i)"
c1 = compile(code1, "", mode="exec")
exec(c1)

code2
= "1+2+3" c2 = compile(code2, "", mode="eval") a = eval(c2) print(a)
code3
= "name = input('請輸⼊你的名字:')" c3 = compile(code3, "", mode="single") exec(c3) print(name)
有返回值的字元串形式的代碼⽤eval(),沒有返回值的字元串形式的代碼⽤exec(),⼀般很少⽤到compile()。
輸入和輸出相關:
input():獲取⽤戶輸入的內容
print():列印輸出
記憶體相關: 
hash():獲取到對象的哈希值(int, str, bool, tuple)
id():獲取到對象的記憶體地址
⽂件操作相關: 
open():⽤於⼝打開⼀個⽂件,創建⼀個⽂件句柄
模塊相關:
__import__():⽤於動態載入類和函數
幫助: 
help():函數⽤於查看函數或模塊⽤途的詳細說明
調⽤相關: 
callable():⽤於檢查⼀個對象是否是可調⽤的,如果返回True,object有可能調⽤失敗,但如果返回False,那調⽤絕對不會成功
查看內置屬性: 
dir():查看對象的內置屬性,⽅法,訪問的是對象中的__dir__()⽅法
基礎數據類型相關:  
  數字相關: 
bool():將給定的數據轉換成bool值,如果不給值,返回False
int():將給定的數據轉換成int值,如果不給值, 返回0
flfloat():將給定的數據轉換成flfloat值,也就是⼩數
complex():創建⼀個複數,第⼀個參數為實部,第⼆個參數為虛部,或者第⼀個參數直接⽤字元串來描述複數
  進位轉換: 
bin():將給的參數轉換成⼆進位
otc():將給的參數轉換成八進位
hex():將給的參數轉換成⼗六進位
  數學運算: 
abs():返回絕對值
divmode():返回商和餘數
round():四捨五入
pow(a, b):求a的b次冪,如果有三個參數,則求完次冪後對第三個數取餘
sum():求和
min():求最⼩值
max():求最⼤值
和數據結構相關: 
  列表和元組: 
list():將⼀個可迭代對象轉換成列表
tuple():將⼀個可迭代對象轉換成元組
reversed():將⼀個序列翻轉, 返回翻轉序列的迭代器
slice():列表的切片
st = "⼤家好, 我是麻花藤"
s = slice(1, 5, 2)
print(st[s])
  字元串相關: 
str():將數據轉化成字元串
format():與具體數據相關, ⽤於計算各種⼩數, 精算等
# 字元串
print(format('test', '<20')) # 左對⻬
print(format('test', '>20')) # 右對⻬
print(format('test', '^20')) # 居中
# 數值
print(format(3, 'b')) # ⼆進位
print(format(97, 'c')) # 轉換成unicode字元
print(format(11, 'd')) # ⼗進位
print(format(11, 'o')) # ⼋進位
print(format(11, 'x')) # ⼗六進位(⼩寫字⺟)
print(format(11, 'X')) # ⼗六進位(⼤寫字⺟)
print(format(11, 'n')) # 和d⼀樣
print(format(11)) # 和d⼀樣
# 浮點數
print(format(123456789, 'e')) # 科學計數法. 預設保留6位⼩數
print(format(123456789, '0.2e')) # 科學計數法. 保留2位⼩數(⼩寫)
print(format(123456789, '0.2E')) # 科學計數法. 保留2位⼩數(⼤寫)
print(format(1.23456789, 'f')) # ⼩數點計數法. 保留6位⼩數
print(format(1.23456789, '0.2f')) # ⼩數點計數法. 保留2位⼩數
print(format(1.23456789, '0.10f')) # ⼩數點計數法. 保留10位⼩數
print(format(1.23456789e+10000, 'F')) # ⼩數點計數法.
bytes():把字元串轉化成bytes類型
s = "你好"
bs = s.encode("UTF-8")
print(bs)
s1 = bs.decode("UTF-8")
print(s1)
bs = bytes(s, encoding="utf-8") # 把字元串編碼成UTF-8
print(bs)
bytearray():返回⼀個新位元組數組。這個數字⾥的元素是可變的,並且每個元素的值得範圍是[0,256)
ret = bytearray('alex',encoding='utf-8')
print(ret[0])
print(ret)
memoryview():查看bytes在記憶體中的情況
# 查看bytes位元組在記憶體中的情況
s = memoryview("麻花藤".encode("utf-8"))
print(s)
ord():輸入字元找帶字元編碼的位置
chr():輸入位置數字找出對應的字元
ascii():是ascii碼中的返回該值 不是就返回\u...
# 找到對應字元的編碼位置
print(ord('a'))
print(ord(''))
# 找到對應編碼位置的字元
print(chr(97))
print(chr(20013))
# 在ascii中就返回這個值. 如果不在就返回\u...
print(ascii('a'))
print(ascii(''))
repr():返回⼀個對象的string形式
# repr 就是原封不動的輸出, 引號和轉義字元都不起作⽤
print(repr('⼤家好,\n \t我叫周傑倫'))
print('⼤家好我叫周傑倫')

# %r 原封不動的寫出來 name = 'taibai' print('我叫%r' % name)
  數據集合:
dict():創建⼀個字典
set():創建⼀個集合
frozenset():創建⼀個凍結的集合,凍結的集合不能進⾏添加和刪除操作
  其他相關: 
len():返回⼀個對象中的元素的個數
sorted():對可迭代對象進⾏排序操作(講完lamda後再講這個)
enumerate():獲取集合的枚舉對象
lst = ["alex", "wusir", "taibai"]
for index, el in enumerate(lst):
  print(str(index)+"==>"+el)
all():可迭代對象中全部是True,結果才是True
any():可迭代對象中有⼀個是True,結果就是True
print(all([1,2,True,0]))
print(any([1,'',0]))
zip():函數⽤於將可迭代的對象作為參數,將對象中對應的元素打包成⼀個個元組,然後返回由這些元組組成的開了表,如果各個迭代器的元素個數不⼀致,則返回列表⻓度與最短的對象相同
l1 = [1,2,3,]
l2 = ['a','b','c',5]
l3 = ('*','**',(1,2,3))
for i in zip(l1,l2,l3):
  print(i)
fifilter():過濾(講完lamda)
map():會根據提供的函數對指定序列做映射(lamda)

您的分享是我們最大的動力!

更多相關文章
  • 寫在前面的話 適用讀者:有一定經驗的,本文不適合初學者,因為可能不能理解我在說什麼 文章思路:不會一開始就像別的博客文章那樣,Bean 的生命周期,源碼解讀(給你貼一大堆的源碼)。個人覺得應該由問題驅動,為什麼為出現 BeanFactory ,為什麼會有生命周期。 正文 一開始我們使用 bean 都 ...
  • 1、Eureka服務端集群開發 1、先創建一個父工程 若是不是普通demo,還有別的配置時,需要註意若是服務開不起來可能就是父類依賴中可能會需要<dependencyManagement>這個標簽。 2、再創建兩個子工程 1、導入依賴 <dependency> <groupId>org.spring ...
  • 1 簡介 我們知道 只是一個介面,它有多種實現,Java中最常用的是 了。而本文想講述的是另一個實現: 。它是枚舉類型的 ,要求它的Key值都必須是枚舉型的。 2 創建你的EnumMap 既然是關於枚舉類型的Map,我們先創建一個枚舉,以便後續使用: 2.1 創建EnumMap的三種方法 JDK提供 ...
  • 1. lamda匿名函數 為瞭解決⼀些簡單的需求⽽設計的⼀句話函數 # 計算n的n次⽅ def func(n): return n**n print(func(10)) f = lambda n: n**n print(f(10)) lambda表⽰的是匿名函數,不需要⽤def來聲明,⼀句話就可以聲 ...
  • 調優基本概念 在調整JVM性能時,通常有三個組件需要考慮: 堆大小調整 垃圾收集器調整 JIT編譯器 大多數調優選項都與調整堆大小和選擇合適的垃圾收集器有關,JIT編譯器對性能也有很大影響,但很少需要對其進行調優,尤其是針對較新版本的JVM。 通常,在進行Java程式調優的時候,會重點關註兩個主要指 ...
  • 這篇文章主要分享 Timer 毫秒精度的定時器。本地版本:PHP 7.2.6、Swoole 4.3.1。Timer主要有三個方法:swoole_timer_tick 間隔的時鐘控制器swoole_timer_after 指定的時間後執行swoole_timer_clear 刪除定時器示例代碼:運行結 ...
  • 包裝 1.二次加工標準類型(包裝) class List(list): def append(self, a_objcet): if type(a_objcet) is str: super().append(a_objcet) else: print('請傳入字元轉類型') l1 = List(' ...
  • 我們都知道 HTTP 是一種協議,允許 WEB 伺服器和瀏覽器通過互聯網進行發送和接受數據。想對 HTTP 進行詳細的瞭解,可以找下其他文章,這篇文章不多做介紹。我們在網上能看到的界面,圖片,動畫,音頻,視頻 等,都有依賴這個協議的。在做 WEB 系統的時候,都使用過 IIS、Apache、Ngin ...
一周排行
  • 前幾天發佈了 "抄抄《CSS 故障藝術》的動畫" 這篇文章,在這篇文章里介紹瞭如何使用Win2D繪製文字然後配合BlendEffect製作故障藝術的動畫。本來打算就這樣收手不玩這個動畫了,但後來又發現性能不符合理想。明明只是做做Resize動畫和用BlendEffect混合,為什麼性能會這麼差呢? ...
  • 控制條控制項: progressBar 不能按照你程式的進程自動變化,需認為計算,調整變化量 private void progressBar1_Click(object sender, EventArgs e) { this.progressBar1.Maximum = 100;//設置進度條最大長 ...
  • 首先創建一個asp.net core web應用程式 第二步 目前官方預置了7種模板項目供我們選擇。從中我們可以看出,既有我們熟悉的MVC、WebAPI,又新添加了Razor Page,以及結合比較流行的Angular、React前端框架的模板項目。 空項目模板 Program.cs using S ...
  • 對閉包的理解 1.對於成員變數和局部變數:成員變數就是方法外部,類的內部定義的變數;局部變數就是方法或語句塊內部定義的變數。局部變數必須初始化。 形式參數是局部變數,局部變數的數據存在於棧記憶體中。棧記憶體中的局部變數隨著方法的消失而消失。成員變數存儲在堆中的對象裡面,由垃圾回收器負責回收。 成員變數它 ...
  • Xamarin.Forms讀取並展示Android和iOS通訊錄 TerminalMACS客戶端 本文同步更新地址: https://dotnet9.com/11520.html https://terminalmacs.com/861.html 閱讀導航: 一、功能說明 二、代碼實現 三、源碼獲取 ...
  • 做下對文件複製操作相關的筆記: /// <summary> /// 文件幫助類 /// </summary> public class FileHelper { /// <summary> /// 複製一個目錄下所有文件到一個新目錄下 /// </summary> /// <param name=" ...
  • 前言 有一個東西叫做鴨子類型,所謂鴨子類型就是,只要一個東西表現得像鴨子那麼就能推出這玩意就是鴨子。 C 裡面其實也暗藏了很多類似鴨子類型的東西,但是很多開發者並不知道,因此也就沒法好好利用這些東西,那麼今天我細數一下這些藏在編譯器中的細節。 不是只有 和 才能 在 C 中編寫非同步代碼的時候,我們經 ...
  • [toc] 1.應用背景 底端設備有大量網路報文(位元組數組):心跳報文,數據採集報文,告警報文上報。需要有對應的報文結構去解析這些位元組流數據。 2.結構體解析 由此,我第一點就想到了用結構體去解析。原因有以下兩點: 2.1.結構體存在棧中 類屬於引用類型,存在堆中;結構體屬於值類型,存在棧中,在一個 ...
  • 《深入淺出 C#》 (第3版) [作者] (美) Andrew Stellman (美) Jennifer Greene[譯者] (中) 徐陽 丁小峰 等譯[出版] 中國電力出版社[版次] 2016年08月 第1版[印次] 2018年04月 第4次 印刷[定價] 148.00元 【引子】 要學習編程 ...
  • 記錄使用對象初始值設定項初始化對象。 using System; using System.Collections.Generic; namespace ConsoleApp2 { class Program { static void Main(string[] args) { // 使用構造函數 ...
x