Python学习笔记三(面向对象及类型转换)

面向对象及类型转换

面向对象

对象:

对象 object python中一切都是对象。
程序运行过程中,所有的数据都是先储存在ram(内存)中,然后再运行。
对象就是内存中专门用来存储指定数据的一块区域(PS:对象就是一个容器,用来存储数据)

对象的结构

每一个对象都有三中数据 如下:
id (标识) 表示唯一性 可通过python的 交互模式 运行函数 id(param) 来查看param存储的内存地址
type (类型) 表示当前对象所属类型 注:id type 确定后将无法再进行修改
value (值) 对象中存储的数据 注:部分值是可以改变的, 可变对象的值是可以改变的 ,不可改变对象的值是不能改变的

变量和对象的关系

如 :a = 1 对象 1 并没有存储在变量 a 中,类似于给对象1 起一个别名 a
变量中存储的不是对象的值,而是变量的id(内存地址),当需要使用对象时,则根据地址去寻找对象。
变量与变量之间时相互独立的,修改其中一个不会影响另一个。

类型转换

类型转换不是改变对象本身,而是根据当前对象的值创建一个新的值
类型转换函数: int() float() str() bool()

a = False
print(a,type(a)) 

False <class ‘bool’>

int() 函数不会对原来的变量产生影响,是对对象转换为指定的类型并将其作为返回值返回
若需要修改原来的变量,则需要对变量进行重新赋值

a = int(a)
print(a,type(a)) 

0 <class ‘int’>

浮点型直接转为整型

a = 12.99
print(a,type(a))
a = int(a)
print(a,type(a)) 

12.99 <class ‘float’>
12 <class ‘int’>

合法的整数字符串直接转为对应的数字

a = '123'
print(a,type(a))

a = int(a)
print(a,type(a))

123 <class ‘str’>
123 <class ‘int’>

不合法的字符串无法转为int型,直接抛出异常

a = 'asd'
print(int(a))

invalid literal for int() with base 10: ‘asd’

None 不能转为int 抛出异常

a = None
print(int(a)) 

TypeError: int() argument must be a string, a bytes-like object or a number, not ‘NoneType’

float() 与int类似

b = 12
print(b,type(b))
b = float(b)
print(b,type(b)) 

12 <class ‘int’>
12.0 <class ‘float’>

str() 可以将对象转换为字符串

c = str(False)
print(c,type(c)) 
c = str(123)
print(c,type(c))
c = str(12.33)
print(c,type(c)) 

False <class ‘str’>
123 <class ‘str’>
12.33 <class ‘str’>

bool() 可以将对象转换为布尔值,任何对象都可以转换为布尔值
注:对于所有表示空的对象都会转为False,其余都是True

d = 10
print(d,type(d)) 
d = bool(d)
print(d,type(d)) 

10 <class ‘int’>
True <class ‘bool’>

d = ''
print(d,type(d))
d = bool(d)
print(d,type(d))

<class ‘str’>
False <class ‘bool’>

d = None
print(d,type(d)) 
d = bool(d)
print(d,type(d)) 

None <class ‘NoneType’>
False <class ‘bool’>

注:bool(0) ----> False

JavaWeb工作笔记
注:本文仅用于个人学习记录,如有错误之处希望大家多多指正,共同进步。

猜你喜欢

转载自blog.csdn.net/StaticKing/article/details/88623455