import math
創(chuàng)新互聯(lián)公司始終堅持【策劃先行,效果至上】的經(jīng)營理念,通過多達(dá)十年累計超上千家客戶的網(wǎng)站建設(shè)總結(jié)了一套系統(tǒng)有效的全網(wǎng)推廣解決方案,現(xiàn)已廣泛運(yùn)用于各行各業(yè)的客戶,其中包括:成都護(hù)欄打樁機(jī)等企業(yè),備受客戶贊譽(yù)。
r=math.floor(3.2) #向下取整
print(r)
r=math.ceil(4.5) #向上取整
print(r)
r=abs(-2)
r=round(4.5) #四舍五入
r=math.pow(3,2) #冪運(yùn)算
r=math.sqrt(25) #開平方
其中 函數(shù)fabs和abs的區(qū)別:函數(shù)fabs的作用是求浮點數(shù)x的絕對值;函數(shù)abs的作用是求x的絕對值。fabs函數(shù)原型:double fabs(double x);abs函數(shù)原型:int fabs(int x)。fabs函數(shù)參數(shù):參數(shù)x是一個浮點數(shù);abs函數(shù)參數(shù):參數(shù)x是一個整數(shù)
1、Python中的函數(shù)是什么意思?
如果你需要實現(xiàn)一個功能,那么你需要用代碼來實現(xiàn)。
那么Python中為你設(shè)置了一些固定功能的代碼,實現(xiàn)一個功能的這些代碼就是一個函數(shù)。
簡而言之,函數(shù)就是實現(xiàn)特有的功能,你可以直接調(diào)用的內(nèi)建函數(shù)。
2、函數(shù)舉例
Python內(nèi)置了許多函數(shù),我們可以直接調(diào)用。
比如:abs函數(shù),是用來求絕對值的。
如下圖所示,a就是輸入,b就是經(jīng)過函數(shù)處理后得到的輸出。
具體如何求絕對值?我們不管,abs幫我們做好了,我們只要把他需要的值給他就行了
python中返回數(shù)值的絕對值的步驟如下:
1.第一步,定義一個變量a并調(diào)用abs()方法獲取0的絕對值,返回對應(yīng)的絕對值。
2.第二步,再次使用abs()方法獲取“-230”的絕對值,負(fù)數(shù)的絕對值是相反數(shù)。
3.第三步,對正數(shù)獲取絕對值,調(diào)用abs()方法,正數(shù)的絕對值就是本身。
4.第四步,調(diào)用abs()方法獲取字符串的絕對值,結(jié)果顯示報錯了,說明字符串不能獲取絕對值。
5.第五步,再次使用abs()方法獲取邏輯類型的絕對值,但是出現(xiàn)了報錯了。
6.第六步,對操作數(shù)改為十六進(jìn)制,獲取十六進(jìn)制的絕對值,對應(yīng)的獲取絕對值。這樣就解決了python中返回數(shù)值的絕對值的問題了。
help(abs)
用這個語句即可查看abs的幫助文檔
原文如下:
即:函數(shù)abs(x)返回實數(shù)x的絕對值
python的常用內(nèi)置函數(shù)
1.abs() 函數(shù)返回數(shù)字的絕對值
abs(-40)=40
2. dict() 函數(shù)用于創(chuàng)建一個字典
dict()
{} ? ? ?#創(chuàng)建一個空字典類似于u={},字典的存取方式一般為key-value
例如u = {"username":"tom", ?"age":18}
3. help() 函數(shù)用于查看函數(shù)或模塊用途的詳細(xì)說明
help('math')查看math模塊的用處
a=[1,2,3,4]
help(a)查看列表list幫助信息
4.dir()獲得當(dāng)前模塊的屬性列表
dir(help)
['__call__', '__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__']
5.min() 方法返回給定參數(shù)的最小值 /參數(shù)可以為序列
a=? min(10,20,30,40)
a
10
6. next() 返回迭代器的下一個項目
it = iter([1, 2, 3, 4, 5])
next(it)
1
next(it)
2
7. id() 函數(shù)用于獲取對象的內(nèi)存地址
a=12
id(a)
1550569552
8.enumerate() 函數(shù)用于將一個可遍歷的數(shù)據(jù)對象(如列表、元組或字符串)組合為一個索引序列,同時列出數(shù)據(jù)和數(shù)據(jù)下標(biāo),一般用在 for 循環(huán)當(dāng)中。
a=["tom","marry","leblan"]
list(enumerate(a))
[(0, 'tom'), (1, 'marry'), (2, 'leblan')]
9. oct() 函數(shù)將一個整數(shù)轉(zhuǎn)換成8進(jìn)制字符串
oct(15)
'0o17'
oct(10)
'0o12'
10. bin() 返回一個整數(shù) int 或者長整數(shù) long int 的二進(jìn)制表示
bin(10)
'0b1010'
bin(15)
'0b1111'
11.eval() 函數(shù)用來執(zhí)行一個字符串表達(dá)式,并返回表達(dá)式的值
eval('2+2')
4
12.int() 函數(shù)用于將一個字符串會數(shù)字轉(zhuǎn)換為整型
int(3)
3
int(3.6)
3
int(3.9)
3
int(4.0)
4
13.open() 函數(shù)用于打開一個文件,創(chuàng)建一個file對象,相關(guān)的方法才可以調(diào)用它進(jìn)行讀寫
f=open('test.txt')
14.str() 函數(shù)將對象轉(zhuǎn)化為適于人閱讀的形式
str(3)
'3'
15. bool() 函數(shù)用于將給定參數(shù)轉(zhuǎn)換為布爾類型,如果沒有參數(shù),返回 False
bool()
False
bool(1)
True
bool(10)
True
bool(10.0)
True
16.isinstance() 函數(shù)來判斷一個對象是否是一個已知的類型
a=5
isinstance(a,int)
True
isinstance(a,str)
False
17. sum() 方法對系列進(jìn)行求和計算
sum([1,2,3],5)
11
sum([1,2,3])
6
18. super() 函數(shù)用于調(diào)用下一個父類(超類)并返回該父類實例的方法。super 是用來解決多重繼承問題的,直接用類名調(diào)用父類方法
class ? User(object):
? def__init__(self):
class Persons(User):
? ? ? ? super(Persons,self).__init__()
19. float() 函數(shù)用于將整數(shù)和字符串轉(zhuǎn)換成浮點數(shù)
float(1)
1.0
float(10)
10.0
20. iter() 函數(shù)用來生成迭代器
a=[1,2,3,4,5,6]
iter(a)
for i in iter(a):
... ? ? ? ? print(i)
...
1
2
3
4
5
6
21.tuple 函數(shù)將列表轉(zhuǎn)換為元組
a=[1,2,3,4,5,6]
tuple(a)
(1, 2, 3, 4, 5, 6)
22.len() 方法返回對象(字符、列表、元組等)長度或項目個數(shù)
s = "playbasketball"
len(s)
14
a=[1,2,3,4,5,6]
len(a)
6
23. property() 函數(shù)的作用是在新式類中返回屬性值
class User(object):
?def __init__(self,name):
? ? ? ? ? self.name = name
def get_name(self):
? ? ? ? ? return self.get_name
@property
?def name(self):
? ? ? ? ?return self_name
24.type() 函數(shù)返回對象的類型
25.list() 方法用于將元組轉(zhuǎn)換為列表
b=(1,2,3,4,5,6)
list(b)
[1, 2, 3, 4, 5, 6]
26.range() 函數(shù)可創(chuàng)建一個整數(shù)列表,一般用在 for 循環(huán)中
range(10)
range(0, 10)
range(10,20)
range(10, 20)
27. getattr() 函數(shù)用于返回一個對象屬性值
class w(object):
... ? ? ? ? ? ? s=5
...
a = w()
getattr(a,'s')
5
28. complex() 函數(shù)用于創(chuàng)建一個復(fù)數(shù)或者轉(zhuǎn)化一個字符串或數(shù)為復(fù)數(shù)。如果第一個參數(shù)為字符串,則不需要指定第二個參數(shù)
complex(1,2)
(1+2j)
complex(1)
(1+0j)
complex("1")
(1+0j)
29.max() 方法返回給定參數(shù)的最大值,參數(shù)可以為序列
b=(1,2,3,4,5,6)
max(b)
6
30. round() 方法返回浮點數(shù)x的四舍五入值
round(10.56)
11
round(10.45)
10
round(10.45,1)
10.4
round(10.56,1)
10.6
round(10.565,2)
10.56
31. delattr 函數(shù)用于刪除屬性
class Num(object):
...? ? a=1
...? ? b=2
...? ? c=3.
.. print1 = Num()
print('a=',print1.a)
a= 1
print('b=',print1.b)
b= 2
print('c=',print1.c)
c= 3
delattr(Num,'b')
print('b=',print1.b)
Traceback (most recent call last):? File "", line 1, inAttributeError: 'Num' object has no attribute 'b'
32. hash() 用于獲取取一個對象(字符串或者數(shù)值等)的哈希值
hash(2)
2
hash("tom")
-1675102375494872622
33. set() 函數(shù)創(chuàng)建一個無序不重復(fù)元素集,可進(jìn)行關(guān)系測試,刪除重復(fù)數(shù)據(jù),還可以計算交集、差集、并集等。
a= set("tom")
b = set("marrt")
a,b
({'t', 'm', 'o'}, {'m', 't', 'a', 'r'})
ab#交集
{'t', 'm'}
a|b#并集
{'t', 'm', 'r', 'o', 'a'}
a-b#差集
{'o'}
python內(nèi)建函數(shù)總結(jié)
1. abs(x)
abs()函數(shù)返回數(shù)字(可為普通型、長整型或浮點型)的絕對值。如果給出復(fù)數(shù),返回值就是該復(fù)數(shù)的模。例如:
print abs(-2,4)
2.4
print abs(4+2j)
4.472135955
2. apply(function,args[,keywords])
apply()函數(shù)將args參數(shù)應(yīng)用到function上。function參數(shù)必須是可調(diào)用對象(函數(shù)、方法或其他可調(diào)用對象)。args參數(shù)必須以
序列形式給出。列表在應(yīng)用之前被轉(zhuǎn)換為元組。function對象在被調(diào)用時,將args列表的內(nèi)容分別作為獨立的參數(shù)看待。例如:
apply(add,(1,3,4))
等價于
add(1,3,4)
在以列表或元組定義了一列參數(shù),且需要將此列表參數(shù)分別作為個個獨立參數(shù)使用的情況下,必須使用apply()函數(shù)。在要把變長參數(shù)列應(yīng)用到已函數(shù)上時,apply()函數(shù)非常有用。
可選項keywords參數(shù)應(yīng)是個字典,字典的關(guān)鍵字是字符串。這些字符串在apply()函數(shù)的參數(shù)列末尾處給出,它們將被用作關(guān)鍵字參數(shù)。
3. buffer(object[,offset[,size]])
如果object對象支持緩存調(diào)用接口buffer()函數(shù)就為object對象創(chuàng)建一個新緩存。這樣的對象包括字符串、數(shù)組和緩存。該新緩存通過使用從
offset參數(shù)值開始知道該對象末尾的存儲片段或從offset參數(shù)值開始直到size參數(shù)給出的尺寸為長度的存儲片段來引用object對象。如果沒
給出任何選項參數(shù),緩存區(qū)域就覆蓋整個序列,最終得到的緩存對象是object對象數(shù)據(jù)的只讀拷貝。
緩存對象用于給某個對象類型創(chuàng)建一個更友好的接口。比如,字符串對象類型通用緩存對象而變得可用,允許逐個字節(jié)地訪問字符串中的信息。
4. callable(object)
callable()函數(shù)在object對象是可調(diào)用對象的情況下,返回真(true);否則假(false),可調(diào)用對象包括函數(shù)、方法、代碼對象、類(在調(diào)用時返回新的實例)和已經(jīng)定義‘調(diào)用’方法的類實例
5. chr(i)
chr()函數(shù)返回與ASCII碼i相匹配的一個單一字符串,如下例所示:
print chr(72)+chr(101)+chr(108)+chr(111)
hello
chr()函數(shù)是ord()函數(shù)的反函數(shù),其中ord()函數(shù)將字符串轉(zhuǎn)換回ASCII整數(shù)碼,參數(shù)i的取值應(yīng)在0~255范圍內(nèi)。如果參數(shù)i的取值在此范圍之外,將引發(fā)ValueError異常。
6. cmp(x,y)
cmp()函數(shù)比較x和y這兩個對象,且根據(jù)比較結(jié)果返回一個整數(shù)。如果xy,則返回正數(shù)。請注意,此函數(shù)特別用來比較數(shù)值大小,而不是任何引用關(guān)系,因而有下面的結(jié)果:
a=99
b=int('99')
cmp(a,b)
7. coerce(x,y)
coerce()函數(shù)返回一個元組,該元組由兩個數(shù)值型參數(shù)組成。此函數(shù)將兩個數(shù)值型參數(shù)轉(zhuǎn)換為同一類型數(shù)字,其轉(zhuǎn)換規(guī)則與算術(shù)轉(zhuǎn)換規(guī)則一樣。一下是兩個例子:
a=1
b=1.2
coerce(a,b)
(1.0,1.2)
a=1+2j
b=4.3e10
coerce(a,b)
((1+2j),(43000000000+0j))
8 compile(string,filename,kind)
compile()函數(shù)將string編譯為代碼對象,編譯生成的代碼對象接下來被exec語句執(zhí)行,接著能利用eval()函數(shù)對其進(jìn)行求值。
filename參數(shù)應(yīng)是代碼從其中讀出的文件名。如果內(nèi)部生成文件名,filename參數(shù)值應(yīng)是相應(yīng)的標(biāo)識符。kind參數(shù)指定string參數(shù)中所含代碼的類別。
舉例如下:
a=compile(‘print “Hello World”’,’’,’single’)
exec(a)
Hello World
eval(a)
Hello World
9. complex(real,[image])
Complex()函數(shù)返回一個復(fù)數(shù),其實部為real參數(shù)值。如果給出image參數(shù)的值,則虛部就為image;如果默認(rèn)image參數(shù),則虛部為0j。
10. delattr(object,name)
delattr()函數(shù)在object對象許可時,刪除object對象的name屬性,此函數(shù)等價于如下語句:
del object.attr
而delattr()函數(shù)允許利用編程方法定義來定義object和name參數(shù),并不是在代碼中顯示指定。