ITPub博客

首页 > 应用开发 > Python > Python中常用的内建函数input()、isinstance()

Python中常用的内建函数input()、isinstance()

Python 作者:ii_chengzi 时间:2020-05-19 11:18:21 0 删除 编辑

Python解释器内置了许多函数,这意味着我们无需定义,始终可以它们。接下来和大家一起讨论一个常用的内建函数-input()和isinstance()。

input()

input()函数读取用户输入,并转换成字符串:

  1. >>> a = input()   # 将input()返回的值赋值给a  
  2. Python 
  3. >>> a             # 查看a的值(为字符串'Python')  
  4. 'Python'  

input()函数可以提供一个参数,用来提示用户:

  1. >>> b = input( '请输入你最喜欢的水果:  ' )    # 给用户必要的提示  
  2. 请输入你最喜欢的水果:  香蕉 
  3. >>> b 
  4. '香蕉'  

需要注意的是,input()函数返回的值总是字符串,当用户输入的是数字也是这样,所以当使用它时一定要注意:

  1. >>> num = input( '请输入一个数字: ' ) 
  2. 请输入一个数字:  10  
  3. >>> num +  9                              # 试图把num和数字相加  
  4. Traceback (most recent call last): 
  5.   File  "<stdin>" , line  1 ,  in  <module> 
  6. TypeError: must be str,  not  int 
  7. >>> num                  
  8. '10'  
  9. >>> type(num)                            # 查看num的数字类型  
  10. < class   'str' > 

isinstance()

isinstance()函数用于检查对象是否为指定类(或者说数据类型)的实例。isintance()的第一个参数为一个对象,第二个参数为要检查的数据类型。

举个例子,比如有有一个变量,你想检查它是否为数字类型,可以使用isinstance()函数:

  1. score =  90  
  2. >>> result = isinstance(score, int) 
  3. >>>  if  result: 
  4. ...      print ( 'score为int数据类型' ) 
  5. ...  else : 
  6. ...      print ( 'score不为int数据类型' ) 
  7. ... 
  8. score为int数据类型 

除了能检查是否为int类型外,isintance()还能检查其他数据类型(当然了),下面是一个综合示例:

  1. >>> pi =  3.14  
  2. >>> name =  'Wang'  
  3. >>> complex_num =  1  +  2j  
  4. >>> isinstance(pi, float)               # 3.14为浮点数类型  
  5. True  
  6. >>> isinstance(name, str)               # 'Wang'为字符串类型  
  7. True  
  8. >>> isinstance(complex_num, complex)    #  1 + 2j为复数  
  9. True  

isinstance()还可以验证某个对象是否为自定义的类型:

  1. >>>  class  Developer:                              # 定义一个叫做Developer的类  
  2. ... 
  3. ...      def  __init__( self , name):                 # __init__方法中,需要输入名字  
  4. ...          self .name = name 
  5. ...      def  display( self ):                        # 定义了display()方法  
  6. ...          print ( "Developer:" ,  self .name,  "-" ) 
  7. ... 
  8. >>>  class  PythonDeveloper(Developer):             # PythonDeveloper类,继承了Developer类  
  9. ... 
  10. ...      def  __init__( self , name, language):       
  11. ...          self .name = name 
  12. ...          self .language = language 
  13. ... 
  14. ...      def  display( self ):                         # 覆盖了父类的display方法  
  15. ...          print ( "Python Developer:" ,  self .name,  "language:" ,  self .language,  "-" ) 
  16. ... 
  17. >>> dev = Developer( 'Zhang' )                      # 创建一个Developer对象  
  18. >>> dev.display()                                 # 调用display()方法,以查看该对象  
  19. Developer: Zhang - 
  20. >>> isinstance(dev, Developer)                    # 判断dev是否为Developer类,答案是肯定的  
  21. True  
  22. >>> isinstance(dev, PythonDeveloper)              # 判断dev是否为PythonDeveloper类,当然不是  
  23. False  
  24. >>> python_dev = PythonDeveloper( 'Liu' ,  'Python' )   # 创建一个PythonDeveloper对象,注意PythonDeveloper是Developer的子类  
  25. >>> python_dev.display()                           # 调用display方法  
  26. Python Developer: Liu language: Python - 
  27. >>> isinstance(python_dev, Developer)              # 判断python_dev是否为Developer类,答案是肯定的  
  28. True  
  29. >>> isinstance(python_dev, PythonDeveloper)       # 判断python是否为PythonDeveloper类,答案也是肯定的  
  30. True  

http://shenzhen.offcn.com/

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31543790/viewspace-2692929/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2018-06-26

  • 博文量
    264
  • 访问量
    342542