Python中類型的概念(一)


本課程主要介紹6種Python語言中的類型:
數字類型、字符串類型、元組類型、列表類型文件類型、字典類型

1、數字類型

Python語言包括三種數字類型:整數類型、浮點數類型、復數類型 

(1)整數類型

與數學中的整數概念一致,沒有取值范圍限制

pow(x, y)函數:計算xy.

(通過指數函數,可以看出,python語言整數類型沒有范圍限制)

(0x, 0X開頭表示16進制數) 

(0b, 0B開頭表示2進制數 )

(0o, 0O開頭表示8進制數) 

(2)浮點數類型

帶有小數點及小數的數字

Python語言中浮點數的數值范圍存在限制,小數精度也存在限制。這種限制與在不同計算機系統有關

科學計數法使用字母“e”或者“E”作為冪的符號,以10為基數。科學計數法含義如下:

<a>e<b> = a * 10b

(以10為底)

(3)復數類型

與數學中的復數概念一致, z = a + bj, a是實數部分,b是虛數部分,a和b都是浮點類型,虛數部分用j或者J標識

示例:12.3+4j, -5.6+7

三種類型存在一種逐漸“擴展”的關系:整數 -> 浮點數 -> 復數(整數是浮點數特例,浮點數是復數特例)

不同數字類型之間可以進行混合運算,運算后生成結果為最寬類型 

三種類型可以相互轉換函數:int(), float(), complex() 

函數:type(x),返回x的類型,適用於所有類型的判斷 

(注意商和余數)

2、字符串類型
字符串是用雙引號""或者單引號''括起來的一個或多個字符。

(1)字符串可以保存在變量中,也可以單獨存在。 

可以用type()函數測試一個字符串的類型

(需要引號)

(2)Python語言轉義符: \
輸出帶有引號的字符串,可以使用轉義符使用 \\ 輸出帶有轉移符的字符串 

 

(3)字符串是一個字符序列:字符串最左端位置標記為0,依次增加。字符串中的編號叫做“索引” 

 單個索引輔助訪問字符串中的特定位置格式為<string>[<索引>] 

 Python中字符串索引從0開始,一個長度為L的字符串最后一個字符的位置是L-1,Python同時允許使用負數從字符串右邊末尾向左邊進行反向索引,最右側索引值是-1 

 

注意,出現區間時,指的是前閉后開區間

(4)聯接

字符串之間可以通過+或*進行連接

加法操作(+)將兩個字符串連接成為一個新的字符串

乘法操作(*)生成一個由其本身字符串重復連接而成的字符串 

(5)len()函數能否返回一個字符串的長度

(6)轉換

大多數數據類型都可以通過str()函數轉換為字符串 

(字符串的引號)

(7)實例:月份分割查詢

1 months='JanFebMarAprMayJunJulAugSepOctNovDec'
2 n=input("輸入月份:")
3 pos=(int(n)-1)*3
4 month=months[pos:pos+3]
5 print('月份簡寫是'+month)

 

一定要注意,input默認輸入的數據類型是字符串,計算時需要強制轉換成數字格式。

還有,字符串輸出時直接相加就可以,數字輸出時需要"%f".

(8)字符串處理方法

<1>大小寫轉化

<2>去首尾空格和首尾特定字符

(去掉首尾的空格)

(去首尾的字符)

<3>查找和拆分

(尋找和拆分)

<4>替換

(注意替換順序,要替換的在前,變換后的在后)

<5>連接

1 >>> a='-'
2 >>> b='abc'
3 >>> c=['hello','world']
4 >>> print(a.join(b))
5 a-b-c
6 >>> print(''.join(c))
7 helloworld
8 >>> print(' '.join(c))
9 hello world

將a插入到b中,可以將空格插入。a.join(b)

<6>用轉義符可以在字符串中表達一些不可直接打印的信息

>>> a='hello\nworld'
>>> print(a)
hello
world

\n表示換行

3、元組的概念
元組是包含多個元素的類型,元素之間用逗號分割。

例如:t1 = 123,456, “hello”

元組可以是空的,t2=() 。元組包含一個元素時:t3=123,。元組外側可以使用括號,也可以不使用 

元組中元素可以是不同類型;一個元組也可以作為另一個元組的元素,此時,作為元素的元組需要增加括號,從而避免歧義。 

元組中各元素存在先后關系,可以通過索引訪問元組中元素。 

與字符串一樣,元組之間可以使用+號和*號進行運算。 

>>> a='1223','456'
>>> a
('1223', '456')
>>> a=123,456,'789'
>>> a
(123, 456, '789')
>>> a=123,456,'789','abc'
>>> print(a)
(123, 456, '789', 'abc')
>>> b=123,456,('789','abc')
>>> print(b)
(123, 456, ('789', 'abc'))
>>> a[3]
'abc'
>>> b[2]
('789', 'abc')
>>> a+b
(123, 456, '789', 'abc', 123, 456, ('789', 'abc'))
>>> a[1:]
(456, '789', 'abc')

>>> a[2][1]
'8'

4、列表

(1)列表(list)是有序的元素集合;列表元素可以通過索引訪問單個元素; 

列表與元組類似:列表中每個元素類型可以不一樣,訪問列表中元素時采用索引形式

 

列表與元組不同:列表大小沒有限制,可以隨時修改 

>>> vlist=[0,1,2,3,4]
>>> vlist*2
[0, 1, 2, 3, 4, 0, 1, 2, 3, 4]
>>> len(vlist)
5
>>> len(vlist[2:])
3
>>> for i in vlist[:3]:
print(i)

0
1
2
>>> 2 in vlist
True
>>> 5 in vlist
False

(2)列表相關方法

>>> vlist=[0,1,2,3,4]
>>> vlist.append('python')
>>> vlist
[0, 1, 2, 3, 4, 'python']
>>> vlist.reverse()
>>> vlist
['python', 4, 3, 2, 1, 0]
>>> vlist.sort()
Traceback (most recent call last):
File "<pyshell#53>", line 1, in <module>
vlist.sort()
TypeError: '<' not supported between instances of 'int' and 'str'
>>> vlist.index('3')
Traceback (most recent call last):
File "<pyshell#54>", line 1, in <module>
vlist.index('3')
ValueError: '3' is not in list
>>> vlist.index(3)
2
>>> vlist.index('python')
0
>>> vlist.pop(3)
2
>>> vlist
['python', 4, 3, 1, 0]
>>> vlist.insert(3,2)
>>> vlist
['python', 4, 3, 2, 1, 0]
>>> vlist.remove(2)
>>> vlist
['python', 4, 3, 1, 0]
>>> vlist.insert(3,'2')
>>> vlist
['python', 4, 3, '2', 1, 0]
>>> 'hello world'.split()
['hello', 'world']

 

 


免責聲明!

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



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