本文目錄一覽:
python中集合的特點和注意點?
1、集合概念
Python中的集合,是一個無序的、沒有重複項的集。它支持數學概念上的集合操作,如交集、並集、補集和差集。集合是可變的,可以在其中添加或刪除項。集合用花括弧「{}」括起來,並用逗號「,」來分隔其中的項。
2、創建集合
可以使用花括弧「{}」創建集合,集合會自動去除重複的項。下面的集合包含了幾種用字元串表示的水果:
# 創建fruits集合時,’apple’出現了兩次
fruits = {‘apple’, ‘banana’, ‘watermelon’, ‘strawberry’, ‘apple’}
fruits # 查看fruits集合,’apple’只有保留了一個
{‘apple’, ‘strawberry’, ‘banana’, ‘watermelon’}
與列表、元組、字典一樣,集合也可以用工廠函數set()來創建。set()函數的參數要麼為空,要麼為可迭代對象(如列表、元組和字元串):
fruits = set([‘apple’, ‘banana’, ‘watermelon’, ‘strawberry’, ‘apple’]) # 以列表為參數創建集合
fruits
{‘apple’, ‘strawberry’, ‘banana’, ‘watermelon’}
numbers = set((1, 2, 3, 3, 2, 4)) # 以元組為參數創建集合
numbers
{1, 2, 3, 4}
letters = set(‘banana’) # 以字元串為參數創建集合
letters
{‘b’, ‘a’, ‘n’}
如果想要創建一個空集合,那麼使用空的花括弧「{}」是行不通的,因為這樣創建的是一個空字典:
empty = {}
empty
{}
type(empty)
class ‘dict’
創建空集合的唯一方式就是使用不包含任何參數的set()函數:
empty = set()
empty # 空集合表示為set()
set()
type(empty)
class ‘set’
3、集合添加項
集合是可變的數據類型,在創建集合之後,可以使用集合的add()方法向其添加項:
numbers = {1, 2, 3}
numbers.add(4) # 向numbers集合中添加整數4
numbers
{1, 2, 3, 4}
numbers.add(‘five’) # 向numbers集合中添加字元串’five’
numbers
{1, 2, 3, 4, ‘five’}
numbers.add((5, 6, 7)) # 向numbers集合中添加元組(5, 6, 7)
numbers
{1, 2, 3, 4, (5, 6, 7), ‘five’}
如果向某個集合中添加已經存在的項,那麼什麼也不會發生:
fruits = {‘apple’, ‘strawberry’, ‘banana’, ‘watermelon’}
fruits
{‘banana’, ‘apple’, ‘watermelon’, ‘strawberry’}
fruits.add(‘apple’) # 添加已經存在的項’apple’
fruits # fruits集合併沒有改變
{‘banana’, ‘apple’, ‘watermelon’, ‘strawberry’}
也可以使用集合的update()方法向集合中添加項,參數必須是可迭代對象,如列表、字元串或另一個集合。類似於列表的append()方法和extend()方法,但區別是集合的update()方法總是會將可迭代對象「展開」:
numbers = {1}
numbers
{1}
numbers.update((5, 6, 7))
numbers # 可以看出update()方法和add()方法的區別
{1, 5, 6, 7}
numbers.update({4, 5}, {6, 7, 8}) # 參數為兩個集合
numbers
{1, 4, 5, 6, 7, 8}
4、集合刪除項
可以使用集合的remove()方法刪除某個集合中的指定項:
numbers = {1, 2, 3, 5, 7}
numbers.remove(1)
numbers
{2, 3, 5, 7}
numbers.remove(3)
numbers
{2, 5, 7}
如果試圖刪除集合中不存在的項,那麼Python解釋器會報錯:
numbers = {1, 2, 3, 5, 7}
numbers.remove(4)
Traceback (most recent call last):
File “stdin”, line 1, in module
KeyError: 4
還可以使用集合的discard()方法來刪除項,它和remove()方法唯一的區別是,當試圖刪除不存在的項時,discard()方法並不會報錯,而是什麼也不會發生:
numbers = {1, 2, 3, 5, 7}
numbers.discard(1)
numbers
{2, 3, 5, 7}
numbers.discard(3)
numbers
{2, 5, 7}
numbers.discard(4)
numbers # 什麼也沒發生
{2, 5, 7}
5、檢查某個項是否在集合中
集合的in操作符用於檢查指定項是否在集合中,not in操作符用於檢查指定項是否不在集合中:
numbers = {1, 2, 3, 5, 7}
1 in numbers # 1在numbers集合中,返回True
True
3 in numbers # 3在numbers集合中,返回True
True
4 in numbers # 4不在numbers集合中,返回False
False
4 not in numbers # not in是in的反向操作
True
6、查看集合的長度
集合的內建函數len()用於查看集合的長度,即集合中項的個數:
empty = set()
len(empty)
numbers = {1, 2, 3, 5, 7}
len(numbers)
5
python 基礎教程
運算
a = 21
b = 10
c = 0
c = a + b
print “1 – c 的值為:”, c
c = a – b
print “2 – c 的值為:”, c
c = a * b
print “3 – c 的值為:”, c
c = a / b
print “4 – c 的值為:”, c
c = a % b
print “5 – c 的值為:”, c
a = 2
b = 3
c = a**b
print “6 – c 的值為:”, c
a = 10
b = 5
c = a//b
print “7 – c 的值為:”, c
python比較
a = 21
b = 10
c = 0
if ( a == b ):
print “1 – a 等於 b”
else:
print “1 – a 不等於 b”
if ( a != b ):
print “2 – a 不等於 b”
else:
print “2 – a 等於 b”
if ( a b ):
print “3 – a 不等於 b”
else:
print “3 – a 等於 b”
if ( a b ):
print “4 – a 小於 b”
else:
print “4 – a 大於等於 b”
if ( a b ):
print “5 – a 大於 b”
else:
print “5 – a 小於等於 b”
a = 5
b = 20
if ( a = b ):
print “6 – a 小於等於 b”
else:
print “6 – a 大於 b”
if ( b = a ):
print “7 – b 大於等於 a”
else:
print “7 – b 小於 a”
賦值
a = 21
b = 10
c = 0
c = a + b
print “1 – c 的值為:”, c
c += a
print “2 – c 的值為:”, c
c *= a
print “3 – c 的值為:”, c
c /= a
print “4 – c 的值為:”, c
c = 2
c %= a
print “5 – c 的值為:”, c
c **= a
print “6 – c 的值為:”, c
c //= a
print “7 – c 的值為:”, c
邏輯運算符:
a = 10
b = 20
if ( a and b ):
print “1 – 變數 a 和 b 都為 true”
else:
print “1 – 變數 a 和 b 有一個不為 true”
if ( a or b ):
print “2 – 變數 a 和 b 都為 true,或其中一個變數為 true”
else:
print “2 – 變數 a 和 b 都不為 true”
a = 0
if ( a and b ):
print “3 – 變數 a 和 b 都為 true”
else:
print “3 – 變數 a 和 b 有一個不為 true”
if ( a or b ):
print “4 – 變數 a 和 b 都為 true,或其中一個變數為 true”
else:
print “4 – 變數 a 和 b 都不為 true”
if not( a and b ):
print “5 – 變數 a 和 b 都為 false,或其中一個變數為 false”
else:
print “5 – 變數 a 和 b 都為 true”
in,not in
a = 10
b = 20
list = [1, 2, 3, 4, 5 ];
if ( a in list ):
print “1 – 變數 a 在給定的列表中 list 中”
else:
print “1 – 變數 a 不在給定的列表中 list 中”
if ( b not in list ):
print “2 – 變數 b 不在給定的列表中 list 中”
else:
print “2 – 變數 b 在給定的列表中 list 中”
a = 2
if ( a in list ):
print “3 – 變數 a 在給定的列表中 list 中”
else:
print “3 – 變數 a 不在給定的列表中 list 中”
條件
flag = False
name = ‘luren’
if name == ‘python’: # 判斷變數否為’python’
flag = True # 條件成立時設置標誌為真
print ‘welcome boss’ # 並輸出歡迎信息
else:
print name
num = 5
if num == 3: # 判斷num的值
print ‘boss’
elif num == 2:
print ‘user’
elif num == 1:
print ‘worker’
elif num 0: # 值小於零時輸出
print ‘error’
else:
print ‘roadman’ # 條件均不成立時輸出
循環語句:
count = 0
while (count 9):
print ‘The count is:’, count
count = count + 1
print “Good bye!”
i = 1
while i 10:
i += 1
if i%2 0: # 非雙數時跳過輸出
continue
print i # 輸出雙數2、4、6、8、10
i = 1
while 1: # 循環條件為1必定成立
print i # 輸出1~10
i += 1
if i 10: # 當i大於10時跳出循環
break
for letter in ‘Python’: # 第一個實例
print ‘當前字母 :’, letter
fruits = [‘banana’, ‘apple’, ‘mango’]
for fruit in fruits: # 第二個實例
print ‘當前水果 :’, fruit
print “Good bye!”
獲取用戶輸入:raw_input
var = 1
while var == 1 : # 該條件永遠為true,循環將無限執行下去
num = raw_input(“Enter a number :”)
print “You entered: “, num
print “Good bye!”
range,len
fruits = [‘banana’, ‘apple’, ‘mango’]
for index in range(len(fruits)):
print ‘當前水果 :’, fruits[index]
print “Good bye!”
python數學函數:
abs,cell,cmp,exp,fabs,floor,log,log10,max,min,mod,pow,round,sqrt
randrange
訪問字元串的值
var1 = ‘Hello World!’
var2 = “Python Runoob”
print “var1[0]: “, var1[0]
print “var2[1:5]: “, var2[1:5]
轉義字元
格式化輸出
print “My name is %s and weight is %d kg!” % (‘Zara’, 21)
字元串函數:
添加元素
list = [] ## 空列表
list.append(‘Google’) ## 使用 append() 添加元素
list.append(‘Runoob’)
print list
刪除元素
list1 = [‘physics’, ‘chemistry’, 1997, 2000]
print list1
del list1[2]
print “After deleting value at index 2 : “
print list1
列表操作
列表方法
刪除字典
dict = {‘Name’: ‘Zara’, ‘Age’: 7, ‘Class’: ‘First’};
del dict[‘Name’]; # 刪除鍵是’Name’的條目
dict.clear(); # 清空詞典所有條目
del dict ; # 刪除詞典
print “dict[‘Age’]: “, dict[‘Age’];
print “dict[‘School’]: “, dict[‘School’];
字典的函數:
當前時間戳:
import time
time.time()
格式化日期輸出
import time
print time.strftime(“%Y-%m-%d %H:%M:%S”, time.localtime())
print time.strftime(“%a %b %d %H:%M:%S %Y”, time.localtime())
a = “Sat Mar 28 22:24:24 2016”
print time.mktime(time.strptime(a,”%a %b %d %H:%M:%S %Y”))
獲取某個月日曆:calendar
import calendar
cal = calendar.month(2016, 1)
print “以下輸出2016年1月份的日曆:”
print cal
當前日期和時間
import datetime
i = datetime.datetime.now()
print (“當前的日期和時間是 %s” % i)
print (“ISO格式的日期和時間是 %s” % i.isoformat() )
print (“當前的年份是 %s” %i.year)
print (“當前的月份是 %s” %i.month)
print (“當前的日期是 %s” %i.day)
print (“dd/mm/yyyy 格式是 %s/%s/%s” % (i.day, i.month, i.year) )
print (“當前小時是 %s” %i.hour)
print (“當前分鐘是 %s” %i.minute)
print (“當前秒是 %s” %i.second)
不定長參數:*
lambda:匿名函數
def….
python模塊搜索路徑
獲取用戶輸入
str = raw_input(“請輸入:”)
print “你輸入的內容是: “, str
input可以接收表達式
open參數
write要自己添加換行符
讀取10個字元
重命名:os.rename
os.remove
os.mkdir os.chdir
os.getcwd
os.rmdir
open參數
file的方法
異常:
try:
fh = open(“testfile”, “w”)
fh.write(“這是一個測試文件,用於測試異常!!”)
except IOError:
print “Error: 沒有找到文件或讀取文件失敗”
else:
print “內容寫入文件成功”
fh.close()
try:
fh = open(“testfile”, “w”)
fh.write(“這是一個測試文件,用於測試異常!!”)
finally:
print “Error: 沒有找到文件或讀取文件失敗”
用戶自定義異常:
os 模塊提供了非常豐富的方法用來處理文件和目錄。常用的方法如下表所示:
| 序號 | 方法及描述 |
| 1 |
os.access(path, mode)
檢驗許可權模式 |
| 2 |
os.chdir(path)
改變當前工作目錄 |
| 3 |
os.chflags(path, flags)
設置路徑的標記為數字標記。 |
| 4 |
os.chmod(path, mode)
更改許可權 |
| 5 |
os.chown(path, uid, gid)
更改文件所有者 |
| 6 |
os.chroot(path)
改變當前進程的根目錄 |
| 7 |
os.close(fd)
關閉文件描述符 fd |
| 8 |
os.closerange(fd_low, fd_high)
關閉所有文件描述符,從 fd_low (包含) 到 fd_high (不包含), 錯誤會忽略 |
| 9 |
os.dup(fd)
複製文件描述符 fd |
| 10 |
os.dup2(fd, fd2)
將一個文件描述符 fd 複製到另一個 fd2 |
| 11 |
os.fchdir(fd)
通過文件描述符改變當前工作目錄 |
| 12 |
os.fchmod(fd, mode)
改變一個文件的訪問許可權,該文件由參數fd指定,參數mode是Unix下的文件訪問許可權。 |
| 13 |
os.fchown(fd, uid, gid)
修改一個文件的所有權,這個函數修改一個文件的用戶ID和用戶組ID,該文件由文件描述符fd指定。 |
| 14 |
os.fdatasync(fd)
強制將文件寫入磁碟,該文件由文件描述符fd指定,但是不強制更新文件的狀態信息。 |
| 15 |
os.fdopen(fd[, mode[, bufsize]])
通過文件描述符 fd 創建一個文件對象,並返回這個文件對象 |
| 16 |
os.fpathconf(fd, name)
返回一個打開的文件的系統配置信息。name為檢索的系統配置的值,它也許是一個定義系統值的字元串,這些名字在很多標準中指定(POSIX.1, Unix 95, Unix 98, 和其它)。 |
| 17 |
os.fstat(fd)
返迴文件描述符fd的狀態,像stat()。 |
| 18 |
os.fstatvfs(fd)
返回包含文件描述符fd的文件的文件系統的信息,像 statvfs() |
| 19 |
os.fsync(fd)
強制將文件描述符為fd的文件寫入硬碟。 |
| 20 |
os.ftruncate(fd, length)
裁剪文件描述符fd對應的文件, 所以它最大不能超過文件大小。 |
| 21 |
os.getcwd()
返回當前工作目錄 |
| 22 |
os.getcwdu()
返回一個當前工作目錄的Unicode對象 |
| 23 |
os.isatty(fd)
如果文件描述符fd是打開的,同時與tty(-like)設備相連,則返回true, 否則False。 |
| 24 |
os.lchflags(path, flags)
設置路徑的標記為數字標記,類似 chflags(),但是沒有軟鏈接 |
| 25 |
os.lchmod(path, mode)
修改連接文件許可權 |
| 26 |
os.lchown(path, uid, gid)
更改文件所有者,類似 chown,但是不追蹤鏈接。 |
| 27 |
os.link(src, dst)
創建硬鏈接,名為參數 dst,指向參數 src |
| 28 |
os.listdir(path)
返回path指定的文件夾包含的文件或文件夾的名字的列表。 |
| 29 |
os.lseek(fd, pos, how)
設置文件描述符 fd當前位置為pos, how方式修改: SEEK_SET 或者 0 設置從文件開始的計算的pos; SEEK_CUR或者 1 則從當前位置計算; os.SEEK_END或者2則從文件尾部開始. 在unix,Windows中有效 |
| 30 |
os.lstat(path)
像stat(),但是沒有軟鏈接 |
| 31 |
os.major(device)
從原始的設備號中提取設備major號碼 (使用stat中的st_dev或者st_rdev field)。 |
| 32 |
os.makedev(major, minor)
以major和minor設備號組成一個原始設備號 |
| 33 |
os.makedirs(path[, mode])
遞歸文件夾創建函數。像mkdir(), 但創建的所有intermediate-level文件夾需要包含子文件夾。 |
| 34 |
os.minor(device)
從原始的設備號中提取設備minor號碼 (使用stat中的st_dev或者st_rdev field )。 |
| 35 |
os.mkdir(path[, mode])
以數字mode的mode創建一個名為path的文件夾.默認的 mode 是 0777 (八進位)。 |
| 36 |
os.mkfifo(path[, mode])
創建命名管道,mode 為數字,默認為 0666 (八進位) |
| 37 |
os.mknod(filename[, mode=0600, device])
創建一個名為filename文件系統節點(文件,設備特別文件或者命名pipe)。
|
| 38 |
os.open(file, flags[, mode])
打開一個文件,並且設置需要的打開選項,mode參數是可選的 |
| 39 |
os.openpty()
打開一個新的偽終端對。返回 pty 和 tty的文件描述符。 |
| 40 |
os.pathconf(path, name)
返回相關文件的系統配置信息。 |
| 41 |
os.pipe()
創建一個管道. 返回一對文件描述符(r, w) 分別為讀和寫 |
| 42 |
os.popen(command[, mode[, bufsize]])
從一個 command 打開一個管道 |
| 43 |
os.read(fd, n)
從文件描述符 fd 中讀取最多 n 個位元組,返回包含讀取位元組的字元串,文件描述符 fd對應文件已達到結尾, 返回一個空字元串。 |
| 44 |
os.readlink(path)
返回軟鏈接所指向的文件 |
| 45 |
os.remove(path)
刪除路徑為path的文件。如果path 是一個文件夾,將拋出OSError; 查看下面的rmdir()刪除一個 directory。 |
| 46 |
os.removedirs(path)
遞歸刪除目錄。 |
| 47 |
os.rename(src, dst)
重命名文件或目錄,從 src 到 dst |
| 48 |
os.renames(old, new)
遞歸地對目錄進行更名,也可以對文件進行更名。 |
| 49 |
os.rmdir(path)
刪除path指定的空目錄,如果目錄非空,則拋出一個OSError異常。 |
| 50 |
os.stat(path)
獲取path指定的路徑的信息,功能等同於C API中的stat()系統調用。 |
| 51 |
os.stat_float_times([newvalue])
決定stat_result是否以float對象顯示時間戳
|
| 52 |
os.statvfs(path)
獲取指定路徑的文件系統統計信息 |
| 53 |
os.symlink(src, dst)
創建一個軟鏈接 |
| 54 |
os.tcgetpgrp(fd)
返回與終端fd(一個由os.open()返回的打開的文件描述符)關聯的進程組 |
| 55 |
os.tcsetpgrp(fd, pg)
設置與終端fd(一個由os.open()返回的打開的文件描述符)關聯的進程組為pg。 |
| 56 |
os.tempnam([dir[, prefix]])
返回唯一的路徑名用於創建臨時文件。 |
| 57 |
os.tmpfile()
返回一個打開的模式為(w+b)的文件對象 .這文件對象沒有文件夾入口,沒有文件描述符,將會自動刪除。 |
| 58 |
os.tmpnam()
為創建一個臨時文件返回一個唯一的路徑 |
| 59 |
os.ttyname(fd)
返回一個字元串,它表示與文件描述符fd 關聯的終端設備。如果fd 沒有與終端設備關聯,則引發一個異常。 |
| 60 |
os.unlink(path)
刪除文件路徑 |
| 61 |
os.utime(path, times)
返回指定的path文件的訪問和修改的時間。 |
| 62 |
os.walk(top[, topdown=True[, onerror=None[, followlinks=False]]])
輸出在文件夾中的文件名通過在樹中遊走,向上或者向下。 |
| 63 |
os.write(fd, str)
寫入字元串到文件描述符 fd中. 返回實際寫入的字元串長度 |
每天喝普洱茶能減肥嗎
普洱茶減肥效果明顯,久服而無副作用,還具有抑菌作用,能預防和治療痢疾、腸炎,防輻射等功效。
普洱茶能減肥是因為它與人體脂肪的代謝有密切的關連。根據研究資料顯示,由於普洱茶製作時經過獨特的發酵過程,所含酵素中的麴菌含有微量脂肪分解酶,這對脂肪分解具有顯著功效。因此普洱茶可抑制體重,減少血液中的膽固醇及三酸甘油脂。
另外,常飲普洱茶能起到使人體血管舒張、腦部血流量平衡等生理效應,所以普洱茶還可防治老年人疾病和高血壓與動脈硬化諸症,尤其是對吸收腹部內臟周邊的脂肪有顯著效果。
以普洱茶減肥最好在飯後飲用,每天1000毫升,就是兩瓶礦泉水的量。減肥效果因人而異,一般自律神經較活躍的人,一星期後體重就會有減輕。普洱茶不但可以減肥,還可將體質調節到最佳狀態。所以,當減肥成功後,應該繼續保持喝普洱茶的習慣,這樣可以保證體重不會反彈。
擴展資料:
普洱茶(學名:Camellia sinensis var. assamica),大喬木,高達16米,嫩枝有微毛,頂芽有白柔毛。葉薄革質,橢圓形,上面干後褐綠色,略有光澤,下面淺綠色,中肋上有柔毛,其餘被短柔毛,老葉變禿;側脈8-9對,在上面明顯。花腋生,被柔毛。苞片2,早落。
萼片5,近圓形,外面無毛。花瓣6-7片,倒卵形,無毛。雄蕊長8-10毫米,離生,無毛。子房3室,被茸毛;花柱長8毫米,先端3裂。蒴果扁三角球形。種子每室1個,近圓形,直徑1厘米。
要產於雲南省的西雙版納、臨滄、普洱等地區。普洱茶講究沖泡技巧和品飲藝術,其飲用方法豐富,既可清飲,也可混飲。普洱茶茶湯橙黃濃厚,香氣高銳持久,香型獨特,滋味濃醇,經久耐泡。
普洱茶具有降低血脂、減肥、抑菌助消化、暖胃、生津、止渴、醒酒解毒等多種功效。可清胃生津、消食化痰、解酒解毒、利尿散寒,止咳化痰、降低血脂膽固醇。
原料:普洱茶製作選用的原料不同其品質也不同,價格更加懸殊。其制茶原料分為「人工種植型原料」、「原生態喬木大樹型原料」。
普洱茶茶青的採收從每年2月下旬至11月中旬都可進行,思、普地區種植的大葉種茶樹,一年可發5~6輪,生長期在300天以上。
由於雲南當地的氣候特點。按照傳統的劃分方法,清明至穀雨所採的茶葉稱為「春尖」,芒種至大暑所採的茶葉稱為「二水」,白露至霜降所採的茶葉稱為「谷花」。一般說來,「春尖」及「谷花」兩個時期的茶品質最好。
茶葉採摘時,葉和芽同時采,一般從茶樹枝條的尖往下採摘到第三葉及同等嫩度的對夾葉:一葉一芽的采一芽、二葉一芽的采一葉一芽、三葉一芽的采二葉一芽,合理留葉。分級時,級別高的芽多,級別低的葉多梗多。手工採摘要提手采;機采要保證鮮葉質量,保證無害化,防止污染。
鮮葉分級指標
特級:一芽一葉佔70%以上,一芽二葉佔30%以下
一級:一芽二葉佔70%以上,同等嫩度其它芽葉佔30%以下
二級:一芽二、三葉佔60%以上,同等嫩度其它芽葉佔40%以下
三級:一芽二、三葉佔50%以上,同等嫩度其它芽葉佔50%以下
四級:一芽三、四葉佔70%以上,同等嫩度其它芽葉佔30%以下
五級:一芽三、四葉佔50%以上,同等嫩度其它芽葉佔50%以下
參考鏈接:百度百科-普洱茶
Python中的input()、isinstance()函數如何使用?
Python解釋器內置了許多函數,這意味著我們無需定義,始終可以它們。接下來和大家一起討論一個常用的內建函數-input()和isinstance()。
input()
input()函數讀取用戶輸入,並轉換成字元串:
a = input() # 將input()返回的值賦值給a
Python
a # 查看a的值(為字元串’Python’)
‘Python’
input()函數可以提供一個參數,用來提示用戶:
b = input(‘請輸入你最喜歡的水果: ‘) # 給用戶必要的提示
請輸入你最喜歡的水果: 香蕉
b
‘香蕉’
需要注意的是,input()函數返回的值總是字元串,當用戶輸入的是數字也是這樣,所以當使用它時一定要注意:
num = input(‘請輸入一個數字: ‘)
請輸入一個數字: 10
num + 9 # 試圖把num和數字相加
Traceback (most recent call last):
File “”, line 1, in
TypeError: must be str, not int
num
’10’
type(num) # 查看num的數字類型
class ‘str’
isinstance()
isinstance()函數用於檢查對象是否為指定類(或者說數據類型)的實例。isintance()的第一個參數為一個對象,第二個參數為要檢查的數據類型。
舉個例子,比如有有一個變數,你想檢查它是否為數字類型,可以使用isinstance()函數:
score = 90
result = isinstance(score, int)
if result:
… print(‘score為int數據類型’)
… else:
… print(‘score不為int數據類型’)
…
score為int數據類型
除了能檢查是否為int類型外,isintance()還能檢查其他數據類型(當然了),下面是一個綜合示例:
pi = 3.14
name = ‘Wang’
complex_num = 1 + 2j
isinstance(pi, float) # 3.14為浮點數類型
True
isinstance(name, str) # ‘Wang’為字元串類型
True
isinstance(complex_num, complex) # 1 + 2j為複數
True
isinstance()還可以驗證某個對象是否為自定義的類型:
class Developer: # 定義一個叫做Developer的類
…
… def __init__(self, name): # __init__方法中,需要輸入名字
… self.name = name
… def display(self): # 定義了display()方法
… print(“Developer:”, self.name, “-“)
…
class PythonDeveloper(Developer): # PythonDeveloper類,繼承了Developer類
…
… def __init__(self, name, language):
… self.name = name
… self.language = language
…
… def display(self): # 覆蓋了父類的display方法
… print(“Python Developer:”, self.name, “language:”, self.language, “-“)
…
dev = Developer(‘Zhang’) # 創建一個Developer對象
dev.display() # 調用display()方法,以查看該對象
Developer: Zhang –
isinstance(dev, Developer) # 判斷dev是否為Developer類,答案是肯定的
True
isinstance(dev, PythonDeveloper) # 判斷dev是否為PythonDeveloper類,當然不是
False
python_dev = PythonDeveloper(‘Liu’, ‘Python’) # 創建一個PythonDeveloper對象,注意PythonDeveloper是Developer的子類
python_dev.display() # 調用display方法
Python Developer: Liu language: Python –
isinstance(python_dev, Developer) # 判斷python_dev是否為Developer類,答案是肯定的
True
isinstance(python_dev, PythonDeveloper) # 判斷python是否為PythonDeveloper類,答案也是肯定的
True
關於Python的基礎問題可以看下這個網頁的視頻教程,網頁鏈接,希望我的回答能幫到你。
原創文章,作者:G53J2,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/127723.html