您的位置:

python接水果游戏(python接苹果小游戏)

本文目录一览:

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的基础问题可以看下这个网页的视频教程,网页链接,希望我的回答能帮到你。