Python Learning( 二)-对象

一 对象(Object)

Python是一门面向对象的语音
一切皆对象
程序运行当中,所有的数据都是存储到内存当中然后在运行的
对象就是内存中用来存储指定数据的一块区域
对象实际上就是一个容器,专门用来存储数据
数值,字符串,布尔值,None都是对象

二 对象的结构

每个对象中都要保存三种数据
-id(标识)id用来标识对象的唯一性,每一个对象都有一个唯一的id。可以通过id()的函数来查
看对象的id,id是由解析器生成的,在Cpython中,id就是对象的内存地址
对象一旦创建,id不能再改变

-type(类型)
类型用来表示当前对象的所属类型:int,str,boolean,float
类型决定了对象有哪些功能
type()函数查看类型
Python是一门强类型语言,对象一旦创建了类型就不能改变

-value
值就是对象中存储的具体的数据,
对于有些对象值是可以改变的
对象可以分为俩大类
	可变对象
	不可变对象 数值,字符串,布尔值,None都是不可变对象

三 变量和对象的关系

对象并没有直接存储到变量中,在Python中变量更像是给对象起了一个别名
a=123
变量=>a 值=>对象的id 通过id找到对象找到对象的值
b=a
b=>a=>对象的id

变量中保存的对象只有在为变量重新赋值时才会改变
变量和变量之间是相互独立的,修改一个变量不会去影响另一个变量。

四 类型转换

-所谓的类型转换,就是将一个类型的对象转换为另一个类型的对象

-类型转换不是改变对象本身的类型,而是将对象的值转换为新的对象

-类型转换的四个函数int(),float(),str(),bool()

-如果希望修改原来的变量,需要重新赋值
a=True
a=int(1)
print(type(a))
<type 'int'>

-浮点数直接舍去小数位
b=11.6
print(int(b))
11

字符串转为数字需合法
b='11.6'
print(int(b))
ValueError

-float和int基本一致,不同的是它会将对象转换为浮点数

-str()乱转
b=123
print('hello'+str(b))

-bool()可以将对象转为布尔值,任何对象都可以转为布尔值,
所有表示None的都是false其余为true 比如0,None,''。

五 运算符(操作符)

运算符的分类
	1 算数运算符
		+ - * / 
		字符串和数字相乘,会对字符串进行复制操作
		除法运算总会返回一个浮点数,除数不能为0
		// 整除符号,只会保留计算后的整数位
		** 幂运算 16**0.5 就是求16的平方根
		% 模运算 就是求余数
	2	赋值运算符
		可以将等号右侧的值给左侧的变量
		+= a+=5 a=a+5
		-=
		*=
		**=
		/=
		//=
		%=
	3	比较运算符
		用于比较俩个值的关系总会返回一个布尔值,> < == <= >= !=

		print('2'>'11') true
		对俩个字符串进行比较的时候,实际上比较的是字符串的unicode的编码
		print('a'>'b') false
		print('ab'>'b') false
		当比较俩个字符串的unicode编码时,是逐位比较的
		如果不想比较Unicode,转为整数 int()

		== 比的不是id是值 is比较的俩个对象的id, is not比较的是id
		print('result =',1 is not true)

	4	逻辑运算符
		not and or
		逻辑运算符主要用来做一些逻辑判断
		Python中的与运算(and)是短路的与 如果第一个值是false就不会再执行后面
		证明:False and print(1)

		Python中的或运算(or)是短路的或 如果第一个值是True就不会再执行后面
		证明:True or print(1)

		-非布尔值与或运算
		当我们对非布尔值进行与或运算时候,Python会将其当做布尔值运算,最终会返回原值
		如果第一个值是flase直接返回第一个值,否则返回第二个值
		或运算则相反 or

		result=1 and 2 #2
		result=1 and 0 #0
		result=0 and 1 #0
		result=0 and None #0

		result=1 or 2 # 1
		result=1 or 0 # 1
		result=0 or 1 # 1
		result=0 or None # None

		逻辑运算符可以连着使用
		1<2<3想当于1<2 and 2<3
		10<20>15 对中间数进行比较的

	5	条件运算符(三元运算符)
		语法:if expression:
				expr_true_suite
			else:
				expr_false_suite
		执行流程:
			条件运算符在执行时,会先对条件表达式进行求值判断 true则执行语句1否则执行2
			if True:
				print('1')
			else :
				print('2')

		取a/b间的最大值
		max =a if a>b else b
		print(max)

		如果取a/b/c中的最大值
		max= a if (a>b and a>c) else (b if b>c else c)

		python中的运算符的优先级和数据中的一样,先乘除再加减
		逻辑运算符的优先级可以根据官网中的文档查询,表格中位置越靠下的优先级越高,如果优先
		级一样则从左往右计算,所以not>and>or
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值