Python基础-对象/运算符(2)

对象:

py是一门面向对象的语言,在程序运行时,所有的数据都是存储在内存当中再去运行的。对象就是内存中专门用来存储数据的一块区域。对象实际上就是一个容器,专门用来存储数据。数值,字符串,布尔值,None都是对象。对象分为可变对象和不可变对象,可变仅针对值。

对象结构:

每个对象都要保存三种数据.

id(标识): id用来标识对象的唯一性,每个对象都有唯一的id。可以通过id()函数查看对象的id,py中id就是对象的内存地址,对象一旦创建,其id值永远不会改变。type(类型) 用来标识当前对象所属的类型,类型决定了对象拥有哪些功能,可以通过type()函数查看对象的类型。py是一门强类型语言,对象一旦创建,类型不可以修改。value(值) 值就是对象中存储的具体的数据,可变对象的值可以改变。变量和对象区别 对象并没有直接存储在变量中,变量更像对象的别名,变量中存储的是对象id也就是内存地址。当我们使用变量时,实际上就是通过对象id查找对象。 变量中保存的对象,只有在为变量重新赋值时才会改变。变量和变量之间是相互独立的,修改一个变量不会影响另一个变量。注意: 当通过变量给变量赋值时,其所存储的对象id时一样的。也可以说,这两个变量指向同一个对象。a=6 b=a print(id(a)) print(id(b)) 运算符: 运算符可以对一个值或者多个值进行运算或者操作运算符分类:算数运算符赋值运算符比较运算符(关系运算符)逻辑运算符条件运算符(三元运算符)算数运算符+:加法运算符(如果是两个字符串则会进行拼串)-:减法运算符*:乘法运算符(如果字符串和数字相乘则会进行字符串复制操作)/:除法运算符,结果总会返回一个浮点//:整除,只会保留计算后整数位,返回一个整型**:幂运算,求一个值的几次幂%:取模,求两个数相除的余数 注意:True与整数和浮点数运算,True等价于1。False等价于0。 在除法或者整除时,除数不能为0赋值运算符 关系运算符 关系运算符用来比较两个值之间的关系,总会返回一个布尔值,关系成立为True,不成立为False。 => not 逻辑非: not对符号右侧的值进行非运算,对于布尔值进行取反,True->False。对于非布尔值,非运算会将其转换为布尔值,然后在取反。and 逻辑与: and可以对符号两侧的值进行与运算, 只有两侧的值为True时才会返回True。 当左侧的值为False时,则不在看右侧or 逻辑或: or可以对符号两侧的值进行或运算,只要有一侧的值为True就会返回True。同样,当左侧值为True时,不在看右侧。 ==注意:== 逻辑运算符返回的是其能到达最远处的值,而不是像java一样只返回布尔值。==逻辑判断时,不局限两侧值的类型,因为每一种类型都可以当布尔值判断,只是返回结果不是布尔类型,而是其原本类型== and比or优先级高print( '' or 'b') # b print( 1 and 2.0) #2.0 print(0 and 2) #0 #证明and优先级高 print( 0 or 2 and 3) # 3
条件运算符(三元运算符)

语法:语句1 if 条件表法式 else 语句2 条件运算符在执行时,先对条件表达式进行求值判断,结果为True返回语句1,False返回语句2.

<code>a=2
b=3
c=a if a>b else b
print(c) #3
print(a)if a>b else print(b) #3/<code>

注意:

<code>1<2<3 等效于 1<2 and 2<3/<code>