【python】基本运算和表达式

来源:互联网 发布:人工智能 王者荣耀 编辑:程序博客网 时间:2024/06/05 07:33

参考Python从零开始系列连载,by 王大伟 Python爱好者社区

参考 Hellobi Live | 1小时破冰入门Python

参考 《简明python教程》

1 变量

1.1 变量的基本知识

变量名、变量类型、赋值。

NBA_star #变量没有赋值

报错
NameError: name ‘NBA_star’ is not defined

NBA_star  = 'Kobe' #给变量赋值NBA_star

‘Kobe’

NBA_star  = 'James' #给变量重新赋值NBA_star

‘James’

del NBA_star #删除变量NBA_star

报错
NameError: name ‘NBA_star’ is not defined

下面看看不同类型变量之间的运算

'1314' + 520   #类型不相同,不能运算

报错
TypeError: must be str, not int

1314 + '520' #观察报错信息

报错
TypeError: unsupported operand type(s) for +: ‘int’ and ‘str’

1314+520 #int之间运算

1834

1314.0+520  #intfloat运算得到float结果

1834.0

如果是不同类型的数据运算,会发生隐式类型转换
转换的规则是:低等类型向高等类型转换,前提是可以进行算术运算
等级从低到高是:bool-int-float-complex

Note:在算术运算时,True代表1,False代表0

False + 1 #bool + int = int

1

False + 1.0 #bool + float = float

1.0

(1+1j) + True #bool + complex = complex

(2+1j)

True + (1+1j)

(2+1j)

int和float运算得到float结果,上述例子就可以看出

1 + (1+1j) #int + complex = complex

(2+1j)

(1+1j) + 1

(2+1j)

(1+1j) + 1.1 #float + complex = complex

(2.1+1j)

complex的实部和虚部都是int类型的,int/float + complex = int/float+实部,虚部不变,int/float * complex = int/float分别乘以实部和虚部。

(1+1j) * 2

(2+2j)

1.2 变量类型转换

float()函数,将其他类型数据转为浮点数

str()函数,将其他类型数据转为字符串

int()函数,将其他类型数据转为整型

float(123) #int转为float

123.0

float('123') #str转为float

123.0

float(1.23e-4) #科学计数法转为float

0.000123

str(123) #int转为str

‘123’

str(1.23e5) #科学计数法转为str

‘123000.0’

float 转为 int的时候,往0靠近,不是进一法,也不是四舍五入,简单来说就是保留整数部分,截去小数部分

int(1.23) #float转为int,往0靠近的整数

1

int(-1.23)

-1

int('123') #strint

123

int('Kobe')

报错
ValueError: invalid literal for int() with base 10: ‘Kobe’

float('Kobe')

报错
ValueError: could not convert string to float: ‘Kobe’

2 算数运算符

2.1 加、减、乘、除、取模、幂、取整数

这里写图片描述

算数运算符的优先级(按照从低到高排序,同一行优先级相同)
1. +、-(加减号)
2. * , / , // , %
3. 单目+、单目-(正负号)
4. **

x = 123

123

2.2 取反

-x

-123

取余,余数的符号根据除数来决定。

9 % 2 #取余数

1

-9 % 2

1

9 % -2

-1

-9 % -2

-1

2.3乘方

注意运算的优先级。

- 2 ** 2 #乘方

-4

(- 2) ** 2

4

绝对值、创建一个复数、返回除数和余数,指数,序列

这里写图片描述

这里写图片描述

四舍五入、求和

这里写图片描述

进制转换

这里写图片描述

那么其它进制如何转为10进制呢?

这里写图片描述

3 逻辑运算符

逻辑运算符有三种,与 或 非
and:逻辑‘与’运算符,只有当and两边都是真,结果才是真
or:逻辑‘或’运算符,只要当or一边的是真的,结果就是真
not:逻辑非运算符,反转逻辑值

这里写图片描述

4 关系运算符

关系运算符如下:

这里写图片描述

这里写图片描述

Python中的对象包含三要素:id、type、value
id用来唯一标识一个对象,即在内存开辟了一块空间暂时存放这个变量
type标识对象的类型,如之前说过的str,int,float等
value是对象的值

a = 2b = 2a == b

True

a is b

True

c = 2.0a == c

True

c is a

False

id(a) #查看变量在内存中的位置

94918783982752

id(b)

94918783982752

id(c)

139717705123520

5 字符串比较大小

这里写图片描述

表中可以看出,数字的ASCII小于大写字母,大大写字母小于小写字母

规则:按ASCII表中排列顺序比较大小,表中越后面的越大
.
流程
• 首先取两个字符串的第1个字符比较,较大的字符所在的字符串更大
• 如果第一个字符相同,再取两个字符串的第2个字符比较,较大的字符所在的字符串更大
• 其余以此类推
• 如果比到最后都相同,则两个字符串相等
• 如果某个字符串已经被比较完了,另一个还剩一部分,则剩一部分的字符串比较大
• 特别要注意的,如果是空字符串和非空字符串比较,空串小

这里写图片描述

原创粉丝点击