Python的对象和类型

这是《Python入门经典以解决计算问题为导向的Python编程实践》34-40页的笔记,简单介绍了常见的对象类型和转化函数。

一、认识对象

在Python中,认为系统中的每一个“东西”都是一个对象。在Python中,“对象”有着非常特殊的意义。Python中的对象有:

  • 一个标识。
  • 一些属性。
  • 零个或多个名称。

Python创建对象时,它接收到一个标识号。每个对象有一个ID号(可以用id()函数来查看ID),不同对象的ID是不一样的。但一个对象可以有一个或多个名字。
以下例子中可以看到a和b是不同的ID。b和c的ID是一样的,但名字不一样。
在这里插入图片描述
所以ID和名字不一样,这里只是对ID做个了解。

下面主要来认识对象的类型。

二、对象的类型

对象是某种类型的一个实例。例如,1、27和365都是对象,且都是int(整数)类型。3.14、6.3也是对象,但是浮点型(小数)类型。“spam”、“ham”、“fred”则是字符串类型的对象。
对象的类型将告诉Python(或程序员)两件事:
1、对象属性。例如,整数对象时没有小数点的。
2、能进行的对象操作和返回的结果。例如,可以将两个整数对象或两个浮点对象相除,但对于字符串对象,除法操作是没有意义的。
在Python中,可以用type(对象名)来查看对象的类型。
注意一点:对象的类型和变量名无关,具体是什么类型要看与变量名关联的值。一个变量的类型是可以变化的。(如下图的aInt)
在这里插入图片描述

(一)数字

1、整数

整数类型:int
属性和数学中的整数差不多。
可执行的运算:加+、减-、乘*、除/、还有一些其他操作
整数可以足够大,普通整型类型的取值范围是-2* *32~2**32 - 1。当程序需要使用比普通整型更大的整型时,可以使用长整型类型,在整型值后面添加L,表示这个为长整型
常使用十进制形式或其他形式的书写。例如八进制、十六进制。
在Python中012和12是有区别的,带前缀0的,代表它是八进制的表示,八进制的012相当于十进制的10。而12就是十进制的12。
注意:前缀为0的数字是八进制,前缀为0x的是十六进制。

2、浮点数

浮点数:float
相当于数学中的小数或实数。指非整数、带小数点的数字。

表示方式:

  • -直接加小数点
  • 用指数表示法,用“e”作为基数。例如:2.99乘以10的八次方可以记为2.99e8

可执行的运算:和整数相似。
浮点数在运算时,会得到一个近似值,接近于真实值,但并不完全准确。
如果一个浮点数加上前缀0,是没有意义的,012.3和12.3是相等的。

3、复数

复数由两部分组成:实部和虚部
形式:实部+虚部j
例如:2+3j
在这里插入图片描述

(二)其他内置类型

1、布尔类型bool

只有两个值:True和Flase(注意大小写,True和true是不一样的)
当布尔类型作为整数运算时,True为1,Flase为0
当布尔类型作为判断时,True为真,Flase为假

2、字符串str

字符串时集合类型,它是一种序列,把字符集合组织在一个序列中(按一定顺序
字符串用单引号(‘ ’)或双引号( “ ”)分隔。
例如:“这是一个字符串!”、‘你好’、“X”

3、列表list

序列类型,可以保护字符、还能包含元素。
用括号[ ] 来表示,每个元素用逗号分隔
例如:[1,2,“abc”]

4、字典dict

映射类型,也是集合类型。由元素对组成,第一个元素称为键,第二个元素称为值。
键就像是电话簿中的名字索引一样,只要找到名字就能找到电话,这里可以根据键找到对应的值。
用花括号表示,一个键值对的键和值用冒号分隔,键值对之间用逗号分隔。
例如:{“Jones”:3471124,“Larson”:3472289}

5、集合set

含有不重复元素的数据集。
支持数学中的集合运算(例如交与并)。
set([1,3,5])

(三)非变量类型

在Python中,每个对象都属于某个类型。变量可以在程序中随意改变关联的对象。Python变量可以指代任何对象,且值和类型是可以随时间变化的
在这里插入图片描述
运算符会根据操作数的类型而执行不同的操作。
例如“+”,如果操作数是整数或浮点数,就会将数相加。如果操作数是字符串,就会将两个字符串相连接。

匈牙利表示法:在变量名字前面加上类型作为前缀。例如intA是整型,floatB是浮点型。

(四)创建新值(类型转换函数)

构造函数是一种特殊的运算,用来产生该类型的特定对象。
每种类型都有相关联的构造函数,构造函数的名称就是类型名称(int、float、str…)
int(myVar):返回与myVar相关联的对象的整数表示
结果会得到一个int型,但myVar本身不受影响。
如果myVar相关联的数据无法转换为整数,就会报错。
在这里插入图片描述
float(myVar):返回与myVar对象相关联的浮点表示。
如果原来的对象不能转换为浮点数,也会报错。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值