python入門筆記02

Python3 基本數(shù)據(jù)類型

python中的變量不需要聲明。每個(gè)變量在使用前都必須賦值,變量被賦值以后才會(huì)被創(chuàng)建。在Python中,變量就是變量,它沒(méi)有類型,我們所說(shuō)的類型是指內(nèi)存中對(duì)象的類型。
等號(hào)(=)用來(lái)給變量賦值等號(hào)左邊是一個(gè)變量名,右邊是變量的值。

counter = 100
miles = 100.0
name = "lqf"

多個(gè)變量賦值

a = b = c = 1

以上3個(gè)變量都指向同一個(gè)內(nèi)存位置

多個(gè)對(duì)象指定多個(gè)變量

a, b, c = 1, 2, "lqf"

標(biāo)準(zhǔn)數(shù)據(jù)類型

  • Number(數(shù)字)
  • String(字符串)
  • List(列表)
  • Tuple(元組)
  • Sets(集合)
  • Dictionary(字典)

Python3 的六個(gè)標(biāo)準(zhǔn)數(shù)據(jù)類型中:

  • 不可變數(shù)據(jù)(四個(gè)):Number(數(shù)字),String(字符串),Tuple(元組),Set(集合)
  • 可變數(shù)據(jù)(兩個(gè)):List(列表),Dictionary(字典)。

Number(數(shù)字)

python 支持int,float,bool,complex(復(fù)數(shù))。
在python中,只有一種整數(shù)類型int,表示為長(zhǎng)整型。
使用type()函數(shù)可以查詢變量所指的對(duì)象類型。

a, b, c, d = 20, 5.5, True, 4+3j
print(type(a), type(b), type(c), type(d))

String(字符串)

Python中的字符串用單引號(hào)(')或者(")括起來(lái),
字符串的截取語(yǔ)法格式:
變量[頭下標(biāo):尾下標(biāo)]

var1 = 'Hello World!'
var2 = "Runoob"
 
print ("var1[0]: ", var1[0])
print ("var2[1:5]: ", var2[1:5])

執(zhí)行結(jié)果:

var1[0]:  H
var2[1:5]:  unoo

python字符串更新

你可以截取字符串的一部分并與其他字段拼接,如下實(shí)例:

var1 = 'Hello World!'
 
print ("已更新字符串 : ", var1[:6] + 'Runoob!')

執(zhí)行結(jié)果:

已更新字符串 :  Hello Runoob!

轉(zhuǎn)義字符

在需要在字符中使用特殊字符時(shí),python用反斜杠()轉(zhuǎn)義字符。如下表:

轉(zhuǎn)義字符 描述
(在行尾時(shí)) 續(xù)行符
\ 反斜杠符號(hào)
\' 單引號(hào)
\" 雙引號(hào)

Python字符串運(yùn)算符號(hào)

下表實(shí)例變量a值為字符串 "Hello",b變量值為 "Python":

操作符 描述 實(shí)例
+ 字符串連接 a + b 輸出結(jié)果: HelloPython
* 重復(fù)輸出字符串 a*2 輸出結(jié)果:HelloHello
[] 通過(guò)索引獲取字符串中字符 a[1] 輸出結(jié)果 e
[ : ] 截取字符串中的一部分 a[1:4] 輸出結(jié)果 ell
in 成員運(yùn)算符 - 如果字符串中包含給定的字符返回 True 'H' in a 輸出結(jié)果 1
not in 成員運(yùn)算符 - 如果字符串中不包含給定的字符返回 True 'M' not in a 輸出結(jié)果 1
r/R 原始字符串 - 原始字符串:所有的字符串都是直接按照字面的意思來(lái)使用,沒(méi)有轉(zhuǎn)義特殊或不能打印的字符。 原始字符串除在字符串的第一個(gè)引號(hào)前加上字母 r(可以大小寫)以外,與普通字符串有著幾乎完全相同的語(yǔ)法。 print( r'\n' )print( R'\n' )
% 格式字符串 請(qǐng)看下一節(jié)內(nèi)容。
a = "Hello"
b = "Python"
 
print("a + b 輸出結(jié)果:", a + b)
print("a * 2 輸出結(jié)果:", a * 2)
print("a[1] 輸出結(jié)果:", a[1])
print("a[1:4] 輸出結(jié)果:", a[1:4])
 
if( "H" in a) :
    print("H 在變量 a 中")
else :
    print("H 不在變量 a 中")
 
if( "M" not in a) :
    print("M 不在變量 a 中")
else :
    print("M 在變量 a 中")
 
print (r'\n')
print (R'\n')

輸出

a + b 輸出結(jié)果: HelloPython
a * 2 輸出結(jié)果: HelloHello
a[1] 輸出結(jié)果: e
a[1:4] 輸出結(jié)果: ell
H 在變量 a 中
M 不在變量 a 中
\n
\n

python字符串格式化

Python 支持格式化字符串的輸出 。盡管這樣可能會(huì)用到非常復(fù)雜的表達(dá)式,但最基本的用法是將一個(gè)值插入到一個(gè)有字符串格式符 %s 的字符串中。

print ("我叫 %s 今年 %d 歲!" % ('小明', 10))

python字符串格式化符號(hào):

符號(hào) 描述
%c 格式化字符及其ASCII碼
%s 格式化字符串
%d 格式化整數(shù)
%u 格式化無(wú)符號(hào)整型
%o 格式化無(wú)符號(hào)八進(jìn)制數(shù)
%x 格式化無(wú)符號(hào)十六進(jìn)制數(shù)
%X 格式化無(wú)符號(hào)十六進(jìn)制數(shù)(大寫)
%f 格式化浮點(diǎn)數(shù)字,可指定小數(shù)點(diǎn)后的精度
%e 用科學(xué)計(jì)數(shù)法格式化浮點(diǎn)數(shù)
%E 作用同%e,用科學(xué)計(jì)數(shù)法格式化浮點(diǎn)數(shù)
%g %f和%e的簡(jiǎn)寫
%G %f 和 %E 的簡(jiǎn)寫
%p 用十六進(jìn)制數(shù)格式化變量的地址

List(列表)

list是python中使用的最頻繁的數(shù)據(jù)類型
列表可以完成大多數(shù)集合類的數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)。列表中元素的類型可以不相同,它支持?jǐn)?shù)字,字符串甚至可以包含列表(所謂嵌套)。

列表是寫在方括號(hào)([])之間、用逗號(hào)分隔開(kāi)的元素列表。

和字符串一樣,列表同樣可以被索引和截取,列表被截取后返回一個(gè)包含所需元素的新列表。

列表截取的語(yǔ)法格式如下:
變量[頭下標(biāo):尾下標(biāo)]

list = [ 'abcd', 786 , 2.23, 'runoob', 70.2 ]
tinylist = [123, 'runoob']
 
print (list)            # 輸出完整列表
print (list[0])         # 輸出列表第一個(gè)元素
print (list[1:3])       # 從第二個(gè)開(kāi)始輸出到第三個(gè)元素
print (list[2:])        # 輸出從第三個(gè)元素開(kāi)始的所有元素
print (tinylist * 2)    # 輸出兩次列表
print (list + tinylist) # 連接列表

輸出結(jié)果:

['abcd', 786, 2.23, 'runoob', 70.2]
abcd
[786, 2.23]
[2.23, 'runoob', 70.2]
[123, 'runoob', 123, 'runoob']
['abcd', 786, 2.23, 'runoob', 70.2, 123, 'runoob']

與Python字符串不一樣的是,列表中的元素是可以改變的:
實(shí)例

>>>a = [1, 2, 3, 4, 5, 6]
>>> a[0] = 9
>>> a[2:5] = [13, 14, 15]
>>> a
[9, 2, 13, 14, 15, 6]
>>> a[2:5] = []   # 將對(duì)應(yīng)的元素值設(shè)置為 [] 
>>> a
[9, 2, 6]

刪除列表元素

可以使用del語(yǔ)句來(lái)刪除列表的元素:

list = ['Google', 'Runoob', 1997, 2000]
 
print (list)
del list[2]
print ("刪除第三個(gè)元素 : ", list)

python列表操作符

python表達(dá)式 結(jié)果 描述
len([1, 2, 3]) 3 長(zhǎng)度
[1, 2, 3] + [4, 5, 6] [1, 2, 3, 4, 5, 6] 組合
['Hi!'] * 4 ['Hi!', 'Hi!', 'Hi!', 'Hi!'] 重復(fù)
3 in [1, 2, 3] True 元素是否存在于列表中
for x in [1, 2, 3]: print(x, end=" ") 1 2 3 迭代

嵌套列表

>>>a = ['a', 'b', 'c']
>>> n = [1, 2, 3]
>>> x = [a, n]
>>> x
[['a', 'b', 'c'], [1, 2, 3]]
>>> x[0]
['a', 'b', 'c']
>>> x[0][1]
'b'
list.append()
list.count() #返回元素在列表中出現(xiàn)的次數(shù)
list.pop()

注意:

  • 1、List寫在方括號(hào)之間,元素用逗號(hào)隔開(kāi)。
  • 2、和字符串一樣,list可以被索引和切片。
  • 3、List可以使用+操作符進(jìn)行拼接。
  • 4、List中的元素是可以改變的。

Tuple(元組)

元組(tuple)與列表類似,不同之處在于元組的元素不能修改。元組寫在小括號(hào) () 里,元素之間用逗號(hào)隔開(kāi)。

元組中的元素類型也可以不相同:

tuple = ( 'abcd', 786 , 2.23, 'runoob', 70.2  )
tinytuple = (123, 'runoob')
 
print (tuple)             # 輸出完整元組
print (tuple[0])          # 輸出元組的第一個(gè)元素
print (tuple[1:3])        # 輸出從第二個(gè)元素開(kāi)始到第三個(gè)元素
print (tuple[2:])         # 輸出從第三個(gè)元素開(kāi)始的所有元素
print (tinytuple * 2)     # 輸出兩次元組
print (tuple + tinytuple) # 連接元組

輸出

('abcd', 786, 2.23, 'runoob', 70.2)
abcd
(786, 2.23)
(2.23, 'runoob', 70.2)
(123, 'runoob', 123, 'runoob')
('abcd', 786, 2.23, 'runoob', 70.2, 123, 'runoob')

元組與字符串類似,可以被索引且下標(biāo)索引從0開(kāi)始,-1 為從末尾開(kāi)始的位置。也可以進(jìn)行截?。瓷厦妫@里不再贅述)。

其實(shí),可以把字符串看作一種特殊的元組。

>>>tup = (1, 2, 3, 4, 5, 6)
>>> print(tup[0])
1
>>> print(tup[1:5])
(2, 3, 4, 5)
>>> tup[0] = 11  # 修改元組元素的操作是非法的
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
>>>

元組中只包含一個(gè)元素時(shí),需要在元素后面添加逗號(hào),否則括號(hào)會(huì)被當(dāng)作運(yùn)算符使用:

>>> tup1 = (50)
>>> type(tup1)     # 不加逗號(hào),類型為整型
<class 'int'>

>>> tup1 = (50,)
>>> type(tup1)     # 加上逗號(hào),類型為元組
<class 'tuple'>

修改元組

元組中的元素值是不允許修改的,但我們可以對(duì)元組進(jìn)行連接組合,如下實(shí)例:

#!/usr/bin/python3

tup1 = (12, 34.56);
tup2 = ('abc', 'xyz')

# 以下修改元組元素操作是非法的。
# tup1[0] = 100

# 創(chuàng)建一個(gè)新的元組
tup3 = tup1 + tup2;
print (tup3)

(12, 34.56, 'abc', 'xyz')

刪除元組

up = ('Google', 'Runoob', 1997, 2000)

print (tup)
del tup;
print ("刪除后的元組 tup : ")
print (tup)

輸出

刪除后的元組 tup : 
Traceback (most recent call last):
  File "test.py", line 8, in <module>
    print (tup)
NameError: name 'tup' is not defined

元組運(yùn)算符

與字符串一樣,元組之間可以使用 + 號(hào)和 * 號(hào)進(jìn)行運(yùn)算。這就意味著他們可以組合和復(fù)制,運(yùn)算后會(huì)生成一個(gè)新的元組

python表達(dá)式 結(jié)果 描述
len((1, 2, 3)) 3 計(jì)算元素個(gè)數(shù)
(1, 2, 3) + (4, 5, 6) (1, 2, 3, 4, 5, 6) 連接
('Hi!',) * 4 ('Hi!', 'Hi!', 'Hi!', 'Hi!') 復(fù)制
3 in (1, 2, 3) True 元素是否存在
for x in (1, 2, 3): print (x,) 1 2 3 迭代

元素索引,截取

因?yàn)樵M也是一個(gè)序列,所以我們可以訪問(wèn)元組中的指定位置的元素,也可以截取索引中的一段元素,如下所示:
元組:L = ('Google', 'Taobao', 'Runoob')

Python表達(dá)式 結(jié)果 描述
L[2] 'Runoob' 讀取第三個(gè)元素
L[-2] 'Taobao' 反向讀?。蛔x取倒數(shù)第二個(gè)元素
L[1:] ('Taobao', 'Runoob') 截取元素,從第二個(gè)開(kāi)始后的所有元素。

元組內(nèi)置函數(shù)

len()
max()
min()
tuple()#將列表轉(zhuǎn)化為元組


Set(集合)

集合(set)是一個(gè)無(wú)序不重復(fù)元素的序列。

基本功能是進(jìn)行成員關(guān)系測(cè)試和刪除重復(fù)元素。

可以使用大括號(hào) { } 或者 set() 函數(shù)創(chuàng)建集合,注意:創(chuàng)建一個(gè)空集合必須用 set() 而不是 { },因?yàn)?{ } 是用來(lái)創(chuàng)建一個(gè)空字典。

創(chuàng)建格式:

parame = {value01,value02,...}
或者
set(value)
student = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'}
 
print(student)   # 輸出集合,重復(fù)的元素被自動(dòng)去掉
 
# 成員測(cè)試
if('Rose' in student) :
    print('Rose 在集合中')
else :
    print('Rose 不在集合中')
 
 
# set可以進(jìn)行集合運(yùn)算
a = set('abracadabra')
b = set('alacazam')
 
print(a)
 
print(a - b)     # a和b的差集
 
print(a | b)     # a和b的并集
 
print(a & b)     # a和b的交集
 
print(a ^ b)     # a和b中不同時(shí)存在的元素
{'Mary', 'Jim', 'Rose', 'Jack', 'Tom'}
Rose 在集合中
{'b', 'a', 'c', 'r', 'd'}
{'b', 'd', 'r'}
{'l', 'r', 'a', 'c', 'z', 'm', 'b', 'd'}
{'a', 'c'}
{'l', 'r', 'z', 'm', 'b', 'd'}

字典

字典(dictionary)是Python中另一個(gè)非常有用的內(nèi)置數(shù)據(jù)類型。

列表是有序的對(duì)象集合,字典是無(wú)序的對(duì)象集合。兩者之間的區(qū)別在于:字典當(dāng)中的元素是通過(guò)鍵來(lái)存取的,而不是通過(guò)偏移存取。

字典是一種映射類型,字典用"{ }"標(biāo)識(shí),它是一個(gè)無(wú)序的鍵(key) : 值(value)對(duì)集合。

鍵(key)必須使用不可變類型。

在同一個(gè)字典中,鍵(key)必須是唯一的。

dict = {}
dict['one'] = "1 - 菜鳥教程"
dict[2]     = "2 - 菜鳥工具"
 
tinydict = {'name': 'runoob','code':1, 'site': 'www.runoob.com'}
 
 
print (dict['one'])       # 輸出鍵為 'one' 的值
print (dict[2])           # 輸出鍵為 2 的值
print (tinydict)          # 輸出完整的字典
print (tinydict.keys())   # 輸出所有鍵
print (tinydict.values()) # 輸出所有值

輸出

1 - 菜鳥教程
2 - 菜鳥工具
{'name': 'runoob', 'site': 'www.runoob.com', 'code': 1}
dict_keys(['name', 'site', 'code'])
dict_values(['runoob', 'www.runoob.com', 1])

構(gòu)造函數(shù) dict() 可以直接從鍵值對(duì)序列中構(gòu)建字典如下:

>>>dict([('Runoob', 1), ('Google', 2), ('Taobao', 3)])
{'Taobao': 3, 'Runoob': 1, 'Google': 2}
 
>>> dict(Runoob=1, Google=2, Taobao=3)
{'Taobao': 3, 'Runoob': 1, 'Google': 2}

修改字典

dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}

dict['Age'] = 8;               # 更新 Age
dict['School'] = "菜鳥教程"  # 添加信息


print ("dict['Age']: ", dict['Age'])
print ("dict['School']: ", dict['School'])

輸出:

dict['Age']:  8
dict['School']:  菜鳥教程

刪除字典元素

能刪單一的元素也能清空字典,清空只需一項(xiàng)操作。
顯示刪除一個(gè)字典用del命令,如下實(shí)例:

dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}

del dict['Name'] # 刪除鍵 'Name'
dict.clear()     # 清空字典
del dict         # 刪除字典

print ("dict['Age']: ", dict['Age'])
print ("dict['School']: ", dict['School'])

字典鍵的特性

字典值可以是任何的 python 對(duì)象,既可以是標(biāo)準(zhǔn)的對(duì)象,也可以是用戶定義的,但鍵不行。

兩個(gè)重要的點(diǎn)需要記住:

1)不允許同一個(gè)鍵出現(xiàn)兩次。創(chuàng)建時(shí)如果同一個(gè)鍵被賦值兩次,后一個(gè)值會(huì)被記住,如下實(shí)例:

dict = {'Name': 'Runoob', 'Age': 7, 'Name': '小菜鳥'}

print ("dict['Name']: ", dict['Name'])
輸出
dict['Name']:  小菜鳥

2)鍵必須不可變,所以可以用數(shù)字,字符串或元組充當(dāng),而用列表就不行,如下實(shí)例:


dict = {['Name']: 'Runoob', 'Age': 7}

print ("dict['Name']: ", dict['Name'])

字典內(nèi)置函數(shù)&方法

len(dict) 計(jì)算字典元素個(gè)數(shù),即鍵的總數(shù)。

str(dict) 輸出字典,以可打印的字符串表示。
type(variable) 返回輸入的變量類型,如果變量是字典就返回字典類型。

注意

  • 1、字典是一種映射類型,它的元素是鍵值對(duì)。
  • 2、字典的關(guān)鍵字必須為不可變類型,且不能重復(fù)。
  • 3、創(chuàng)建空字典使用 { }。

Python數(shù)據(jù)類型轉(zhuǎn)換

有時(shí)候,我們需要對(duì)數(shù)據(jù)內(nèi)置的類型進(jìn)行轉(zhuǎn)換,數(shù)據(jù)類型的轉(zhuǎn)換,你只需要將數(shù)據(jù)類型作為函數(shù)名即可。

以下幾個(gè)內(nèi)置的函數(shù)可以執(zhí)行數(shù)據(jù)類型之間的轉(zhuǎn)換。這些函數(shù)返回一個(gè)新的對(duì)象,表示轉(zhuǎn)換的值。

函數(shù) 描述
int(x) 將x轉(zhuǎn)換為一個(gè)整數(shù)
float(x) 將x轉(zhuǎn)換到一個(gè)浮點(diǎn)數(shù)
complex(real [,imag]) 創(chuàng)建一個(gè)復(fù)數(shù)
str(x) 將對(duì)象 x 轉(zhuǎn)換為字符串
repr(x) 將對(duì)象 x 轉(zhuǎn)換為表達(dá)式字符串
tuple(s) 將序列 s 轉(zhuǎn)換為一個(gè)元組
list(s) 將序列 s 轉(zhuǎn)換為一個(gè)列表
set(s) 轉(zhuǎn)換為可變集合
dict(d) 創(chuàng)建一個(gè)字典。d 必須是一個(gè)序列 (key,value)元組。
chr(x) 將一個(gè)整數(shù)轉(zhuǎn)換為一個(gè)字符
ord(x) 將一個(gè)字符轉(zhuǎn)換為它的整數(shù)值
hex(x) 將一個(gè)整數(shù)轉(zhuǎn)換為一個(gè)十六進(jìn)制字符串
oct(x) 將一個(gè)整數(shù)轉(zhuǎn)換為一個(gè)八進(jìn)制字符串
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、Python簡(jiǎn)介和環(huán)境搭建以及pip的安裝 4課時(shí)實(shí)驗(yàn)課主要內(nèi)容 【Python簡(jiǎn)介】: Python 是一個(gè)...
    _小老虎_閱讀 6,335評(píng)論 0 10
  • Python簡(jiǎn)介 Python歷史 Python 是由 Guido van Rossum 在八十年代末和九十年代初...
    莫名其妙的一生閱讀 1,139評(píng)論 0 2
  • 本節(jié)要介紹的是Python里面常用的幾種數(shù)據(jù)結(jié)構(gòu)。通常情況下,聲明一個(gè)變量只保存一個(gè)值是遠(yuǎn)遠(yuǎn)不夠的,我們需要將一組...
    小黑y99閱讀 65,602評(píng)論 0 9
  • 孩子,我們都應(yīng)該在相互寬容和理解中度過(guò)一年又一年,因?yàn)槲抑粫?huì)越來(lái)越老,你只會(huì)越長(zhǎng)越大。我們彼此生氣,爭(zhēng)吵,這都是我...
    心在桐城閱讀 150評(píng)論 0 0
  • 2019年3月18日 星期一 小雨 今天下午音樂(lè)課,老師讓我們都坐端正。坐端正了先開(kāi)始做自己的...
    楓葉紅時(shí)總多離別閱讀 154評(píng)論 0 0

友情鏈接更多精彩內(nèi)容