防伪码:忘情公子著

本篇我们来说说python的内置对象类型及其运算。

python有许多的内置类型,我们为什么要使用内置类型呢?python编程时是尽量去使用自定义类型还是尽可能多的使用内置类型呢?

内置类型对python本身来讲它的理解能力更好一点,对其执行时所能够带来的性能上也会更好一点。所以,除非内置类型无法提供特殊对象处理时,一般而言最好都用内置类型。因为内置类型使得其内置对象程序更容易编写,另外,内置类型、内置对象是扩展组件,内置对象往往比自己开发的那种数据结构,在执行时更有效率。

python对象的相关术语:

python程序中保存的所有数据都是围绕对象这个概念展开的:

程序中存储的所有数据都是对象。

每个对象都有一个身份、一个类型和一个值。

例如,school="cheqiao"会以"cheqiao"创建一个字符串对象,其身份是指向它在内存中所处位置的指针(其在内存中的地址),而school就是引用这个具体位置的名称。

对象的类型也称对象的类别,用于描述对象的内部表示及它支持的方法和操作。

创建特定类型的对象时,有时也将该对象称为该类型的实例。

实例被创建后,其身份和类型就不可改变

如果对象值是可修改的,则称为可变对象;

如果对象值不可修改,则称为不可变对象

如果某个对象包含对其它对象的引用,则将其称为容器。

大多数对象都拥有大量特有的数据属性和方法

属性:与对象相关的值。在对象实例化时,在对象内部可以使用的变量的变量名称就称之为对象的属性。

方法:被调用时将在对象上执行某些操作的函数。

使用点(.)运算符可以访问属性和方法。

对于python而言,每一种数据类型都是由类来进行定义的。所以在python中类和类型是不加区分来使用的,它们指的都是同一个意思。

类由属性和方法组成:

属性(内置的数据):与对象相关的值。在对象实例化时,在对象内部可以使用的变量的变量名称就称之为对象的属性。在对象(实例)初始化时,由初始化过程来做赋值

方法:被调用时将在对象上执行某些操作的函数。实例的调用接口,实例所属类型所支持的操作

类必须要实例化成对象,而这些实例对象其内部的数据不同,所以它们才称为不同的实例。

对实例内部的数据可以执行某些类型的操作,这些操作只能是附加在这些实例上的操作,这些操作是由类在内部定义的。

一个对象在内存中存储,如果有变量名指向它,它就被引用了。

当某一个对象不被引用或其引用技术为0时,这个对象则变成了可被垃圾回收器回收的对象。

点号(.)运算符:可以用来访问对象的属性和方法。

属性:数据

方法:操作。使用点号运算符调用方法时,必须在后面加上(),如list.pop()

可调用对象:使用callable()函数测试对象是否可调用。

对于属性来说,通过点号运算符来访问时返回一个数据,若想显示则要使用print语句;

对于方法来说,调用时则执行对应方法内部的代码。

使用内置函数dir()来获取对象支持的属性和方法。

使用内置函数help()来获取某方法的具体使用帮助。

对象的身份与类型:

python内置函数id()可返回一个对象的身份,即该对象在内存中的位置

is运算符用于比较两个对象的身份;

type()用于返回一个对象的类型;

对象类型本身也是一个对象,称为对象的类

该对象的定义是唯一的,且对于某类型的所有实例都是相同的

所有类型对象都有一个指定的名称,可用于执行类型检查,如list、dictif 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)

in ()

----> 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)

in ()

----> 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转换成八进制字符串

python概念与术语,python之基础篇(四)相关推荐

  1. python 01列表异或_python基础篇三

    python基础篇二所介绍的列表是基本的数据类型之一,元组.集合.字典也是基本的数据类型之一.熟练运用这些基本的数据类型很重要,就像是一座高楼大厦,把地基打扎实了,这栋高楼大厦才能在狂风暴雨中岿然不动 ...

  2. python爬虫百度地图_零基础掌握百度地图兴趣点获取POI爬虫(python语言爬取)(基础篇)...

    实现目的:爬取昆明市范围内的全部中学数据,包括名称.坐标. 先进入基础篇,本篇主要讲原理方面,并实现步骤分解,为python代码编写打基础. 因为是0基础开始,所以讲得会比较详细. 如实现目的所讲,爬 ...

  3. 从零开始掌握Python机器学习:七步教程 基础篇

    前言 「开始」往往是最难的,尤其是当选择太多的时候,一个人往往很难下定决定做出选择.本教程的目的是帮助几乎没有 Python 机器学习背景的新手成长为知识渊博的实践者,而且这个过程中仅需要使用免费的材 ...

  4. 零基础掌握百度地图兴趣点获取POI爬虫(python语言爬取)(基础篇)

    实现目的:爬取昆明市范围内的全部中学数据,包括名称.坐标. 先进入基础篇,本篇主要讲原理方面,并实现步骤分解,为python代码编写打基础. 因为是0基础开始,所以讲得会比较详细. 如实现目的所讲,爬 ...

  5. python从零到一之基础篇 第 四 章 流程控制语句

    python基础篇学习 第一章 第二章(上) 第二章(下) 第三章 今天开始学习第四章

  6. python第一个公开发行版_Python基础篇【第一篇】:python入门

    python 简介 python是一种解释型.面向对象.改动数据类型的高级程序设计语言,由Guido van Rossum于1989年发明,第一个公开发行版发行于1991年. python是纯粹的自由 ...

  7. python print放同一行_python基础篇:python基础语法原来如此简单

    Python 作为一门计算机语言自然有它自己的语法规则,就像英语.汉语都有自己的语法规则一样.Python的语法以简洁著称,它以行.缩进.注释.标识符.保留关键字等几方面来规定了自己的语法. 下面我们 ...

  8. python中函数的参数_Python小知识-Python中的函数参数(基础篇)

    0 总述 这个题目分为2篇,第一篇基本上是概念以及实例,有个相对系统的认识,第二篇想写的深入一些,不同参数类型的区别以及和c/c++的函数参数对比下异同-下面开始是第一篇的内容啦- Python中的函 ...

  9. 如何用python做词云图_科学网—如何用Python做词云?(基础篇视频教程) - 王树义的博文...

    只需要花10几分钟,跟着教程完整做一遍,你就能自己用Python做出词云了. <如何用Python做词云?>图文版发布于2017年6月,是我数据科学系列教程中的第一篇. 目前仅简书一个平台 ...

最新文章

  1. 排序算法 JavaScript
  2. 无重复字符的最长子串【哈希算法】-O(n)
  3. android 静态list,android studio 利用gradle和cmakelist生成c++静态库.a的方法总结
  4. Java 两线程交替打印奇偶数(一)
  5. 抽象类的实际应用--模版设计
  6. 快乐学习 Ionic Framework+PhoneGap 手册1-3 {面板切换}
  7. 前端的请求最大线程数是多少啊_面试官:创建多少个线程合适,我该怎么说?...
  8. 【正则化】各种Dropout方法
  9. 洛谷P2862 [USACO06JAN]把牛Corral the Cows
  10. 计算机网络数据链路层的错误检测与纠正之海明码的生成,解码
  11. raft Paxos
  12. 怎样提高你的Google Adsense收入
  13. 包含h3c、cisco、F5、华为、中兴、juniper等网络设备巡检命令整理,建议点赞收藏
  14. Excel 如何用万元单位表示,并且保留两位小数点,亲测真实有效!自定义格式即可解决!如:100.25万---但是此方法会导致最后一位永远都是0
  15. python新手入门-------字符串与函数(3)
  16. sourcetree(mac)设置代理链接GitHub
  17. 在Groovy中使用字符串 - 51CTO.COM
  18. 【论文简述及翻译】PWC-Net: CNNs for Optical Flow Using Pyramid, Warping, and Cost Volume(CVPR 2018)
  19. 一种解决拓展坞无法上网的方法
  20. online operating system 网页操作系统(web操作系统简称Webos) 小调查

热门文章

  1. Python之collections容器数据类型
  2. JavaScript事件与jQuery方法
  3. MySQL查询所有字段
  4. android读取网页标题,如何获取WebView中页面的Title信息
  5. 为什么Java中1000==1000为false,而100==100为true?
  6. 为什么优秀的程序猿都阅读源码
  7. “面试不败计划”:集合总结
  8. 蓝桥杯-矩阵乘法(java)
  9. servlet的重定向错误
  10. spring boot配置文件:application.yml (yml与properties文件优缺对比)