對象基礎知識
對象
- python是面向對象的語言,在python中一切皆對象;
- 程序運行時,數據均放到內存中然後在運行;
- 對象是一個容器,是內存中用來存儲指定數據的一塊區域;
對象的結構
python每個對象都有三種數據
id(標識)
- id用來區別對象,每個對象的id號互不相同;
- 通過id()函數查看對象的id號;
- id由python解析器生成,在CPython中,id就是對象內存地址;
- 對象創建之後,id不會發生改變;
type(類型)
- 類型即爲對象的數據類型,如int、bool、str、float;
- 可以通過type()函數查看對象的類型;
- 不同類型的對象具有不同功能;
- python是一門強類型語言,對象創建之後類型便不能改變;
value
- 值即爲對象中存儲的數據;
- 對象分爲可變對象和不可變對象,可變對象值可以不變,不可變對象值不可變,一般對象都是不可變對象;
變量和對象
- python中對象像是給對象起的別名;
- 變量中沒有存儲對象的值,而是存儲對象的id,即對象在內存中的地址;
- a=12,b=‘hello’
- 在使用變量時,就是在通過對象id查看對應對象;
- 變量中保存的對象在重新賦值之後發生改變;
- 變量之間相互獨立,修改一個變量不會影響另一個變量
類型轉換
- 類型轉換就是將一種類型的對象轉化爲另一種類型的對象;
- 類型轉換不改變對象本身的類型,而是創建一個新的對象將之前對象的值賦值給它;
類型轉化函數
類型轉換函數不會對原來的對象產生影響,而是把對象轉換爲指定類型後將其值作爲返回值返回;
int()
-
作用:將其他類型對象轉換爲int型;
-
對於字符串,只有當字符串爲整數時才能轉,其餘字符串轉換不了;
-
對於浮點數直接向下取整;
-
對於bool型中True,False,int(True)=1,int(False)=0;
float()
- 作用:將其他類型對象轉換爲float型;
- 對於字符串,只有當字符串爲整數、浮點數時才能轉,其餘字符串轉換不了;
- 對於int型數,直接加.0即可,如12變12.0;
- 對於bool型中True,False,float(True)=1.0,int(False)=0.0;
str()
- 對於其他任何類型都可以直接轉換爲字符串
bool() - 作用:將其他對象轉換爲bool值;
- 所有表示空的對象都會轉換爲False,如int中0,float中0.0,str中"",其餘轉換爲True;