设为首页 收藏本站
查看: 1087|回复: 0

[经验分享] python之基础篇(四)

[复制链接]

尚未签到

发表于 2018-8-16 06:02:22 | 显示全部楼层 |阅读模式
  防伪码:忘情公子著
  本篇我们来说说python的内置对象类型及其运算。
  python有许多的内置类型,我们为什么要使用内置类型呢?python编程时是尽量去使用自定义类型还是尽可能多的使用内置类型呢?
  内置类型对python本身来讲它的理解能力更好一点,对其执行时所能够带来的性能上也会更好一点。所以,除非内置类型无法提供特殊对象处理时,一般而言最好都用内置类型。因为内置类型使得其内置对象程序更容易编写,另外,内置类型、内置对象是扩展组件,内置对象往往比自己开发的那种数据结构,在执行时更有效率。
  
  python对象的相关术语:
  python程序中保存的所有数据都是围绕对象这个概念展开的:
  程序中存储的所有数据都是对象。
  每个对象都有一个身份、一个类型和一个值。
  例如,school="cheqiao"会以"cheqiao"创建一个字符串对象,其身份是指向它在内存中所处位置的指针(其在内存中的地址),而school就是引用这个具体位置的名称。
  对象的类型也称对象的类别,用于描述对象的内部表示及它支持的方法和操作。
  创建特定类型的对象时,有时也将该对象称为该类型的实例。
  实例被创建后,其身份和类型就不可改变
  如果对象值是可修改的,则称为可变对象;
  如果对象值不可修改,则称为不可变对象
  如果某个对象包含对其它对象的引用,则将其称为容器。
  大多数对象都拥有大量特有的数据属性和方法
  属性:与对象相关的值。在对象实例化时,在对象内部可以使用的变量的变量名称就称之为对象的属性。
  方法:被调用时将在对象上执行某些操作的函数。
  使用点(.)运算符可以访问属性和方法。
  对于python而言,每一种数据类型都是由类来进行定义的。所以在python中类和类型是不加区分来使用的,它们指的都是同一个意思。
  类由属性和方法组成:
  属性(内置的数据):与对象相关的值。在对象实例化时,在对象内部可以使用的变量的变量名称就称之为对象的属性。在对象(实例)初始化时,由初始化过程来做赋值
  方法:被调用时将在对象上执行某些操作的函数。实例的调用接口,实例所属类型所支持的操作
  类必须要实例化成对象,而这些实例对象其内部的数据不同,所以它们才称为不同的实例。
  对实例内部的数据可以执行某些类型的操作,这些操作只能是附加在这些实例上的操作,这些操作是由类在内部定义的。
  一个对象在内存中存储,如果有变量名指向它,它就被引用了。
  当某一个对象不被引用或其引用技术为0时,这个对象则变成了可被垃圾回收器回收的对象。
  点号(.)运算符:可以用来访问对象的属性和方法。
  属性:数据
  方法:操作。使用点号运算符调用方法时,必须在后面加上(),如list.pop()
  可调用对象:使用callable()函数测试对象是否可调用。
  对于属性来说,通过点号运算符来访问时返回一个数据,若想显示则要使用print语句;
  对于方法来说,调用时则执行对应方法内部的代码。
  使用内置函数dir()来获取对象支持的属性和方法。
  使用内置函数help()来获取某方法的具体使用帮助。
  对象的身份与类型:
  python内置函数id()可返回一个对象的身份,即该对象在内存中的位置
  is运算符用于比较两个对象的身份;
  type()用于返回一个对象的类型;
  对象类型本身也是一个对象,称为对象的类
  该对象的定义是唯一的,且对于某类型的所有实例都是相同的
  所有类型对象都有一个指定的名称,可用于执行类型检查,如list、dict
        if a is b:  
          statements
  
        if a == b:
  
          statements
  
        if type(a) is type(b):
  
          statements
  python核心数据类型:
对象类型例子数字3077,3.14,300000字符串'baidu.com',"spam"列表['one','two','three']字典{'course':'linux','tutor':'baidu','age':42}元组(32,'spam','eggs')文件myFile=open('/tmp/tfile','r')集合set('abc'),{'a','b','c'}其它类型类类型、None、布尔型编程单元类型函数、模块、类与实现相关的类型编译的代码堆栈跟踪  python是一个强类型的语言,很多时候我们需要显式地对类型进行转换。
  比如一个数字和一个字母相运算,这是个抛出异常的。因为此两者不是同一种类型,在python中不同类型之间是无法进行运算的。
In [1]: a = '123'  

  
In [2]: type(a)
  
Out[2]: str
  

  
In [3]: print 1 + a
  
---------------------------------------------------------------------------
  
TypeError                                 Traceback (most recent call last)
  
<ipython-input-3-30abb1f25ec3> in <module>()
  
----> 1 print 1 + a
  

  
TypeError: unsupported operand type(s) for +: 'int' and 'str'
  此时如果我们将类型进行显式的转换一下,就可以完成运算了。
In [1]: a = '123'  

  
In [2]: type(a)
  
Out[2]: str
  

  
In [3]: print 1 + a
  
---------------------------------------------------------------------------
  
TypeError                                 Traceback (most recent call last)
  
<ipython-input-3-30abb1f25ec3> in <module>()
  
----> 1 print 1 + a
  

  
TypeError: unsupported operand type(s) for +: 'int' and 'str'
  

  
In [4]: b = int(a)
  

  
In [5]: type(b)
  
Out[5]: int
  

  
In [6]: print 1 + b
  
124
  python中类型显式转换常用的内置函数有以下这些:
  str(),repr()或format():用于将非字符串转换成字符串
  str()的结果与print的结果一样;
  repr()表示某个对象的精确值;
  format()利用特定格式将其转换成字符串
  int():转换成整数
  float():转换成浮点数
  list(s):将字符串s转换成列表
  tuple(s):将字符串s转换成元组
  set(s):将字符串s转换成集合
  frozenset(s):将字符串s转换成不可变集合
  dict(d):根据指定的键值对创建字典,这里的d必须是(key,value)的元组序列,如d = (('a',1),('b',2),('c',3))或d = [('a',1),('b',2),('c',3)]
  ord(x):将字符x转换成整数值
  hex(x):将整数x转换成十六进制字符串
  bin(x):将整数x转换成二进制字符串
  oct(x):将整数x转换成八进制字符串

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-552323-1-1.html 上篇帖子: python之基础篇(三) 下篇帖子: python笔记三 函数
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表