內(nèi)置函數(shù)就是Python給你提供的,拿來(lái)直接用的函數(shù),比如print.,input等。
創(chuàng)新互聯(lián)是一家專(zhuān)業(yè)提供梨樹(shù)企業(yè)網(wǎng)站建設(shè),專(zhuān)注與網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、H5技術(shù)、小程序制作等業(yè)務(wù)。10年已為梨樹(shù)眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專(zhuān)業(yè)的建站公司優(yōu)惠進(jìn)行中。
截止到python版本3.6.2 ,python一共提供了68個(gè)內(nèi)置函數(shù),具體如下
本文將這68個(gè)內(nèi)置函數(shù)綜合整理為12大類(lèi),正在學(xué)習(xí)Python基礎(chǔ)的讀者一定不要錯(cuò)過(guò),建議收藏學(xué)習(xí)!
(1)列表和元組
(2)相關(guān)內(nèi)置函數(shù)
(3)字符串
frozenset 創(chuàng)建一個(gè)凍結(jié)的集合,凍結(jié)的集合不能進(jìn)行添加和刪除操作。
語(yǔ)法:sorted(Iterable, key=函數(shù)(排序規(guī)則), reverse=False)
語(yǔ)法:fiter(function. Iterable)
function: 用來(lái)篩選的函數(shù). 在?lter中會(huì)自動(dòng)的把iterable中的元素傳遞給function. 然后根據(jù)function返回的True或者False來(lái)判斷是否保留留此項(xiàng)數(shù)據(jù) , Iterable: 可迭代對(duì)象
搜索公眾號(hào)頂級(jí)架構(gòu)師后臺(tái)回復(fù)“面試”,送你一份驚喜禮包。
語(yǔ)法 : map(function, iterable)
可以對(duì)可迭代對(duì)象中的每一個(gè)元素進(jìn)行映射. 分別去執(zhí)行 function
hash : 獲取到對(duì)象的哈希值(int, str, bool, tuple). hash算法:(1) 目的是唯一性 (2) dict 查找效率非常高, hash表.用空間換的時(shí)間 比較耗費(fèi)內(nèi)存
這個(gè)代碼不可能出錯(cuò)的。報(bào)錯(cuò)只可能是你把代碼抄錯(cuò)或者出錯(cuò)根本不在這個(gè)位置。
在python3使用read_csv的時(shí)候,如果傳入的參數(shù)不是文件名而是文件的路徑,就會(huì)報(bào)這個(gè)錯(cuò)。
原因應(yīng)該是這個(gè)庫(kù)的問(wèn)題,解決方法是,先切換到這個(gè)目錄,然后傳文件名作為參數(shù)。
出錯(cuò)代碼:
import pandas as pd
trainFile = "F:/Projects/Python/coursera/intro-to-data-science/kaggle/data/train.csv"
trainData = pd.read_csv(trainFile)
改進(jìn)代碼:
import pandas as pd
import os
trainFile = "F:/Projects/Python/coursera/intro-to-data-science/kaggle/data/train.csv"
pwd = os.getcwd()
os.chdir(os.path.dirname(trainFile))
trainData = pd.read_csv(os.path.basename(trainFile))
os.chdir(pwd)
程序簡(jiǎn)化為直接創(chuàng)建一個(gè)臨時(shí)的無(wú)名對(duì)象作為返回值; .real .imag);c2)
{
complex c;complex(real*i, imag*i);
}
complex complex::operator /(int i)
{
return complex(real / i, imag / i);
}
void complex::display()
{
cout "(" real "," imag "i)" endl;
}
int main()
{
complex c1(1, 2), c2(3, 4), c3;
int i = 5;
cout "c1=";
c1.display();
cout "c2=";
c2.display();
c3 = c1 + c2;
cout "c1+c2=";
c3.display();
c3 = c1 - c2;
cout "c1-c2=";
c3.display();
c3 = c1*c2;
cout "c1*c2=";
c3.display();
c3 = c1 / c2;
cout "c1/c2=";
c3.display();
cout "i=" i endl;
c3 = c1 + i;
cout "c1+i=";
c3.display();
c3 = c1 - i;
cout "c1-i=";
c3.display();
c3 = c1*i;
cout "c1*i=";
c3.display();
c3 = c1 / i;
cout "c1/i=";
c3.display();
return 0;
}
;c, c;c2.real,只不過(guò)是因?yàn)榍懊嫔婕暗搅藢?shí)部和虛部操作;
return return complex
{
public:
complex(){ real = complex operator/(complex = i; }
complex operator-(complex imag);i)
{
.real*c2;complex(double i);
complex r;r::operator *(int ::operator-(complex
i)
{
.real c2)
{
complex = real*c2.real - //有參和無(wú)參的構(gòu)造函數(shù)
c2.real;(c2;complex;complex(real imag*c2;operator*(complex complex;
}
complex c.imag .imag*c2;operator+(int .real i;i);
void display();
private:
double real;complex operator+(complex i);
complex 。
c2)
{
complex c2.imag;return c;i)
{
return complex(real - complex;-(int //當(dāng)運(yùn)算符重載為友元函數(shù)的時(shí)候,參數(shù)的個(gè)數(shù)與原來(lái)的操作數(shù)目是一樣的
.real imag :operator imag;
};
//不明白為什么這里的return不能像后面復(fù)數(shù)與整數(shù)相加時(shí)的return.
//解答;+ c2.imag) / c,函數(shù)的參數(shù)的個(gè)數(shù)要比原來(lái)的操作數(shù)少一個(gè)(后置“++”、“-”除外);
+ i, imag);
}
complex complex:;c;c::operator / ::operator *(complex return return ::operator +(int c2.imag*c2.imag);
c.imag = c2)
{
complex c2);
complex complex;
,因此重新構(gòu)造一個(gè)復(fù)數(shù)類(lèi)的對(duì)象會(huì)使程序更加明了。
//后面只是用到了實(shí)部,因此不需要浪費(fèi)內(nèi)存空間,重新申請(qǐng)一個(gè)新的復(fù)數(shù)類(lèi)的對(duì)象(乘除除外);
}
//復(fù)數(shù)與整數(shù)之間的操作
complex i){ real = imag
::operator+(complex .imag;
c.imag = i);
complex .real real*c2;
c2);//運(yùn)算符的重載; imag*c2;
c;c;c2);c;(imag*c2.real - / (c2.real*c2.real + double + imag*c2.imag) .real = (real*c2;return c;= real + .real
complex;(complex .imag ,因?yàn)槌蓡T函數(shù)都是通過(guò)該類(lèi)的某個(gè)對(duì)象來(lái)訪問(wèn)的;
}
complex ,程序的運(yùn)行效率更高
//復(fù)數(shù)和復(fù)數(shù)的操作運(yùn)算
complex
= 0; } double + real*c2.imag;
}
complex c;
= imag + c2.imag;//當(dāng)運(yùn)算符重載為類(lèi)的成員函數(shù)時(shí)的時(shí)候;operator-(int = imag - = real - ,
}
complex c;complex:還不都是一樣的;operator/(int operator*(int c2);
complex 。因?yàn)楸旧淼摹?’只能是對(duì)基本類(lèi)型數(shù)據(jù)進(jìn)行操作,現(xiàn)在想要對(duì)復(fù)數(shù)類(lèi)也進(jìn)行操作。那么必須要重載,重新定義其為我們需要的功能
,成員函數(shù)中有一隱含的參數(shù)this指針,this指針
//指向當(dāng)前的對(duì)象,而當(dāng)前的對(duì)象本身就是其中的一個(gè)操作數(shù);0;namespace std;
/*
1.同一個(gè)運(yùn)算符可以代表多個(gè)不同的功能,編譯系統(tǒng)是根據(jù)操作的數(shù)據(jù)來(lái)判別該執(zhí)行具體哪一個(gè)功能的
*/
class
#includeiostream
using
pickle.dump(a,b)
你定義的數(shù)據(jù)是列表存儲(chǔ)的,你應(yīng)該先把它讀成二進(jìn)制數(shù)據(jù),然后再以二進(jìn)制的方式寫(xiě)入文件
Python生成隨機(jī)數(shù)和隨機(jī)數(shù)質(zhì)量的方法,random.random()用于生成一個(gè)指定范圍內(nèi)的隨機(jī)符點(diǎn)數(shù),兩個(gè)參數(shù)其中一個(gè)是上限,一個(gè)是下限。如果a b,則生成隨機(jī)數(shù):pre t="code" l="python"print random.uniform(10, 20)
print random.uniform(20, 10)
#----
#18.
#12.
random.randint用于生成一個(gè)指定范圍內(nèi)的整數(shù)。其中參數(shù)a是下限,參數(shù)b是上限,Python生成隨機(jī)數(shù)pre t="code" l="python"print random.randint(12, 20) #生成的隨機(jī)數(shù)n: 12 = n = 20
print random.randint(20, 20) #結(jié)果永遠(yuǎn)是20
#print random.randint(20, 10) #該語(yǔ)句是錯(cuò)誤的。random.randrange方法從指定范圍內(nèi),按指定基數(shù)遞增的集合中 ,下面對(duì)python生成隨機(jī)數(shù)的應(yīng)用程序的部分介紹:1.隨機(jī)整數(shù):
pre t="code" l="python" import random
random.randint(0,99)
212.隨機(jī)選取0到100間的偶數(shù):
pre t="code" l="python" import random
random.randrange(0, 101, 2)
423.隨機(jī)浮點(diǎn)數(shù):
pre t="code" l="python" import random
random.random()
0.
random.uniform(1, 10)
5..隨機(jī)字符:
pre t="code" l="python" import random
random.choice('abcdefg%^*f')
'd'5.多個(gè)字符中選取特定數(shù)量的字符:
pre t="code" l="python" import random
random.sample('abcdefghij',3)
['a', 'd', 'b']6.多個(gè)字符中選取特定數(shù)量的字符組成新字符串:
pre t="code" l="python" import random
import string
string.join(random.sample(['a','b','c','d','e','f','g','h','i','j'], 3)).r
eplace(" ","")
'fih'