python中的變量和java中的變量本質是不一樣的,python中的變量實質上是一個指針(指針的大小固定的)
創新互聯-專業網站定制、快速模板網站建設、高性價比呼中網站開發、企業建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式呼中網站制作公司更省心,省錢,快速模板網站建設找我們,業務覆蓋呼中地區。費用合理售后完善,10年實體公司更值得信賴。
is可以用來判斷id是否相等
對于這種賦值,雖然所賦值是相同的,但是他們的id不同,即他們是不同的對象,a is b 即為false ,但是有個特例: a = 1 b = 1 時他們的id相同。其實這是python內部的優化機制,對于小整數和小的字符串來說,python在前邊定義一個對象時,下次在遇到時會直接調用前邊生成的對象,而不會去重新申請一個。
他們的對象內存地址不一樣,但是,a和b里的值是相等的,這是由于a和b都為list,而list里有內置的魔法函數 eq 通過 eq 魔法函數可以判斷里邊兩個的值是否相同,若相同則返回True
python中垃圾回收的算法回收的算法是采用引用計數,當程序中有一個變量引用該python對象時,python會自動保證該對象引用計數為1;當程序中有兩個變量引用該python對象時,python會自動保證該對象計數器為2, 以此類推,當一個對象的引用計數器變為0 時,則說明程序中不再有變量對其進行引用,因此python就會回收該對象。
大多數情況,python的ARC都能準確,高效的回收系統中的每一個對象。但如果系統中出現循環引用時,比如a對象持有一個實例變量引用對象b,而b對象又持有一個實例變量引用對象a,此時 兩個對象的計數器都為1, 而實際上python不再需要這兩個對象,也沒有程序在引用他們,系統回收他們時python的垃圾回收器就沒有那兒快,要等到專門的循環垃圾回收器(Cyclic Garbage Collector)來檢測并回收這種引用循環
當一個對象被垃圾回收式,python就會自動調用該對象的 del 方法
當沒有注釋掉x = im時, item對象被兩個變量所引用,所以在執行完del im時并不會去回收item對象,所以先輸出--------,當程序完全執行完成后,引用item的對象的變量被釋放,然后系統便會執行 del 方法,回收item對象。
當 x = im被注釋后,只有一個變量去引用item對象,所以在執行完后程序變回去調用 del 方法,回收item對象,然后在繼續向下執行 輸出-----
【區別】:
標準庫函數都需要import xxx才能取得。
內建函數都在__builtins__里面,在global里直接就能用。
【補充】:
1.python中,我們可以通過對內建的比較函數進行自定義,來實現運算符重載。
我們常用的比較運算符有
大于 對應的內建比較函數為 __gt__()
大于等于 = 對應的內建比較函數為 __ge__()
等于 == 對應的內建比較函數為 __eq__()
小于 對應的內建比較函數為 __lt__()
小于等于 = 對應的內建比較函數為 __le__()
2.庫函數(Library function)是把函數放到庫里,供別人使用的一種方式。.方法是把一些常用到的函數編完放到一個文件里,供不同的人進行調用。調用的時候把它所在的文件名用#include加到里面就可以了。一般是放到lib文件里的。
參考資料
百度.百度[引用時間2018-4-12]
python的常用內置函數
1.abs() 函數返回數字的絕對值
abs(-40)=40
2. dict() 函數用于創建一個字典
dict()
{} ? ? ?#創建一個空字典類似于u={},字典的存取方式一般為key-value
例如u = {"username":"tom", ?"age":18}
3. help() 函數用于查看函數或模塊用途的詳細說明
help('math')查看math模塊的用處
a=[1,2,3,4]
help(a)查看列表list幫助信息
4.dir()獲得當前模塊的屬性列表
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() 方法返回給定參數的最小值 /參數可以為序列
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() 函數用于獲取對象的內存地址
a=12
id(a)
1550569552
8.enumerate() 函數用于將一個可遍歷的數據對象(如列表、元組或字符串)組合為一個索引序列,同時列出數據和數據下標,一般用在 for 循環當中。
a=["tom","marry","leblan"]
list(enumerate(a))
[(0, 'tom'), (1, 'marry'), (2, 'leblan')]
9. oct() 函數將一個整數轉換成8進制字符串
oct(15)
'0o17'
oct(10)
'0o12'
10. bin() 返回一個整數 int 或者長整數 long int 的二進制表示
bin(10)
'0b1010'
bin(15)
'0b1111'
11.eval() 函數用來執行一個字符串表達式,并返回表達式的值
eval('2+2')
4
12.int() 函數用于將一個字符串會數字轉換為整型
int(3)
3
int(3.6)
3
int(3.9)
3
int(4.0)
4
13.open() 函數用于打開一個文件,創建一個file對象,相關的方法才可以調用它進行讀寫
f=open('test.txt')
14.str() 函數將對象轉化為適于人閱讀的形式
str(3)
'3'
15. bool() 函數用于將給定參數轉換為布爾類型,如果沒有參數,返回 False
bool()
False
bool(1)
True
bool(10)
True
bool(10.0)
True
16.isinstance() 函數來判斷一個對象是否是一個已知的類型
a=5
isinstance(a,int)
True
isinstance(a,str)
False
17. sum() 方法對系列進行求和計算
sum([1,2,3],5)
11
sum([1,2,3])
6
18. super() 函數用于調用下一個父類(超類)并返回該父類實例的方法。super 是用來解決多重繼承問題的,直接用類名調用父類方法
class ? User(object):
? def__init__(self):
class Persons(User):
? ? ? ? super(Persons,self).__init__()
19. float() 函數用于將整數和字符串轉換成浮點數
float(1)
1.0
float(10)
10.0
20. iter() 函數用來生成迭代器
a=[1,2,3,4,5,6]
iter(a)
for i in iter(a):
... ? ? ? ? print(i)
...
1
2
3
4
5
6
21.tuple 函數將列表轉換為元組
a=[1,2,3,4,5,6]
tuple(a)
(1, 2, 3, 4, 5, 6)
22.len() 方法返回對象(字符、列表、元組等)長度或項目個數
s = "playbasketball"
len(s)
14
a=[1,2,3,4,5,6]
len(a)
6
23. property() 函數的作用是在新式類中返回屬性值
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() 函數返回對象的類型
25.list() 方法用于將元組轉換為列表
b=(1,2,3,4,5,6)
list(b)
[1, 2, 3, 4, 5, 6]
26.range() 函數可創建一個整數列表,一般用在 for 循環中
range(10)
range(0, 10)
range(10,20)
range(10, 20)
27. getattr() 函數用于返回一個對象屬性值
class w(object):
... ? ? ? ? ? ? s=5
...
a = w()
getattr(a,'s')
5
28. complex() 函數用于創建一個復數或者轉化一個字符串或數為復數。如果第一個參數為字符串,則不需要指定第二個參數
complex(1,2)
(1+2j)
complex(1)
(1+0j)
complex("1")
(1+0j)
29.max() 方法返回給定參數的最大值,參數可以為序列
b=(1,2,3,4,5,6)
max(b)
6
30. round() 方法返回浮點數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 函數用于刪除屬性
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() 用于獲取取一個對象(字符串或者數值等)的哈希值
hash(2)
2
hash("tom")
-1675102375494872622
33. set() 函數創建一個無序不重復元素集,可進行關系測試,刪除重復數據,還可以計算交集、差集、并集等。
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'}
當前標題:pythoneq函數 python pie函數
網頁鏈接:http://vcdvsql.cn/article8/doiepip.html
成都網站建設公司_創新互聯,為您提供做網站、域名注冊、手機網站建設、品牌網站建設、標簽優化、網站設計公司
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯