Python的數據類型--數字--字符串


先講一個概念

在Python里,一切皆對象,對象基於類創建

所以,以下這些值都是對象: "wupeiqi"、38、['北京', '上海', '深圳'],並且是根據不同的類生成的對象。

1.變量類型與對象

1.程序中需要處理的狀態很多,就要有不同類型的變量值來表示,
在python中所有數據都是圍繞對象這個概念來構建的,對象包含一些基本的數據類型:數字,字符串,列表,元組,字典等
程序中存儲的所有數據都是對象,包含了1.身份(id),2.類型(type),3值(通過變量名來查看)
每個對象都有自己的的方法。方便開發者使用,
創建某個特定類型的對象也稱為創建了該類型的一個實例工廠函數的概念來源於此

2.可變與不可變
實例被創建后,身份和類型是不可變的,
如果值是不可以被修改的,則是不可變對象
如果值是可以被修改的,則是可變對象

按照可變類型來分:

可變類型:列表,字典的value

不可變類型:數字,元組,字符串

按照取值個數來分:

取一個值:數字,字符串

取多個值:列表,元組,字典

按照取值的方式:

直接取值:數字,取得是數字整體,不能取單個

索引取值:字符串,列表,元組

映射取值:字典,通過keys取值values

2.容器類型

某個對象包含對其他對象的引用,則稱為容器或者集合

3.變量的賦值

  • 與c語言的區別在於變量賦值操作無返回值
  • 鏈式賦值:y=x=a=1
  • 多元賦值:x,y=1,2 x,y=y,x
  • 增量賦值:x+=1

4.數據類型

python中的數據類型
python使用對象模型來存儲數據,每一個數據類型都有一個內置的類,每新建一個數據,實際就是在初始化生成一個對象,即所有數據都是對象
對象三個特性
  • 身份:內存地址,可以用id()獲取
  • 類型:決定了該對象可以保存什么類型值,可執行何種操作,需遵循什么規則,可用type()獲取
  • 值:對象保存的真實數據

標准數據類型:數字,字符串,列表,元組,字典

其他數據類型:集合,函數/方法,模塊,null,類型type,類,文件

4.1 數字類型

定義:a=1

特性:

1.只能存放一個值

2.一經定義,不可更改

3.直接訪問

分類:整型,長整型,布爾,浮點,復數

Python的整型相當於C中的long型

Python中的整數可以用十進制,二進制 bin ,八進制  oct,十六進制表示 hex

a=19
print(bin(a))
print(oct(a))
print(hex(a))
a='123' 要把a從字符串轉為數字,a必須有數字
print(type(a),a) 打印出a類型,值
b=int(a) 把a轉為數字類型,重新賦值給b,
print(type(b),b)
結果
<class 'str'> 123
<class 'int'> 123

常識:

 
        

1個字節=8位

 
        

1個漢字=3個字節

 
        

gb2312=2漢字=6個字節=48個比特位

 
        

utf-8=3漢字=9個字節=72比特位(表示:最少3個漢字)

 

4.1.1 

意,自從Python2起,如果發生溢出,Python會自動將整型數據轉換為長整型,
所以如今在長整型數據后面不加字母L也不會導致嚴重后果了。

   在Python3中沒有整形長度限制,統一為整形

    Python2中,整形長度為32位,

4.1.2  布爾,Ture,False ,既1和0,

4.1.3浮點數float,浮點數就是數學中的小數,類似C語言中的double,在python中,用科學計數法表示:0.0013  ,Python表示為1.3e-3  ,=0.0013

就是1.3*10*-3,,,如果是1.3e3=1300,1.3*10*3

4.1.4復數

復數由實數部分和虛數部分組成,一般形式為x+yj,其中的x是復數的實數部分,y是復數的虛數部分,這里的x和y都是實數。
注意,虛數部分的字母j大小寫都可以,

5 字符串類型

5.1定義:它是一個有序的字符的集合,用於存儲和表示基本的文本信息,‘’或“”或‘’‘ ’‘’中間包含的內容稱之為字符串
特性:
1.只能存放一個值
2.不可變
3.按照從左到右的順序定義字符集合,下標從0開始順序訪問,有序
補充:
  1.字符串的單引號和雙引號都無法取消特殊字符的含義,如果想讓引號內所有字符均取消特殊意義,在引號前面加r,如name=r'l\thf'
  2.unicode字符串與r連用必需在r前面,如name=ur'l\thf'

5.2字符串的操作

移除空白
分割
長度
索引
切片
1.str=' hello world'
print(str.count('l')) --結果為3 ,找出字符串中的單個字符長度,
---------------------------------------------------------------------
2.str=' HELLO World'
print(str.lower()) --結果為     hello world,把字符串的所有字符轉為大寫,
----------------------------------------------------------------------------
3.str=' HELLO World'
print(str.split()) ---結果為 ['HELLO', 'World'] 默認以空格作為 分隔符,生成列表,
也可以指定分隔符,
-------------------------------------------------------------------------------
4.str=' HELLO World'
print(str.replace('o','a'))----結果 HELLO Warld ,替換單個字符,
-----------------------------------------------------------------------------------------
5.str=' HELLO World'
print(str.index("H"))----找出字符串中的單個字符的索引值,如果沒有找到該單個字符的索引值,報錯
-----------------------------------------------------------------------------------------

6.x=' HELLO World'
print(x.strip())-----取出字符串兩邊的空格
------------------------------------------------------------------
7.x='Aaff'
print(x.istitle())-----判斷字符串首字母是否是大寫,大寫返回值是真,
--------------------------------------------------------------------
8.x='123'
print(x.isdigit())
----判斷字符串是否包含了數字,有數字,返回值為真,沒有,為假
x='1'
if x.isdigit() : ---如果x是數字,
new_x=int(x) ---讓x輸入整數,把值賦給new_x
print(new_x,type(x)) ---條件成立,打印new_x
else: ---否則,就執行下面的條件
print('no') ---打印no
---------------------------------------------------------------
9.x='abc'
print(x.find('c'))-----根據字符串里的單個字符,找出該單個字符的索引值,
如果單個不在字符串里,則返回-1
----------------------------------------------------------------
10.a='bbbb'
print(len(a))--------輸出字符串的長度
----------------------------------------------------------------
11.a='bbbb'
print(a.startswith('b')) ---判斷以什么字符作為開頭,返回布爾值
----------------------------------------------------------------
12.a='bbbb'
print(a.endswith('m'))----------判斷以什么字符作為結尾。返回布爾值
---------------------------------------------------------------
13.a='bbbb'
print(a.center(30,'#'))---------讓字符串在30個字符居中,不夠用#代替,
----------------------------------------------------------------
14.a='bbbb'
print(a.capitalize())
------------讓字符串首字母大寫
--------------------------------------------------------------
15.
方法1
a='name:{},age:{},sex:{}'
print(a.format("egon",12,'male'))-------格式化字符串,字符串內對應的空必須為{},
方法2
a='name:{a},age:{b},sex:{c}'
print(a.format(a="egon",c=12,b='male'))----指定要對應的值
方法3
a='name:{1},age:{0},sex:{2}'
print(a.format('a','c',12)) ---結果
name:c,age:a,sex:12
索引值,0,1,2,按照format()里的順序,既索引值給字符串賦值,
------------------------------------------------------------------------
16.a='aaddcDDD'
print(a.swapcase())
-結果為-AADDCddd ---反轉字符串的所有字符的大小寫
----------------------------------------------------------------------------
17.a='aaddcDDD'
print(a.title()) ---------------把開頭的字母大寫









 
       


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM