Python资料总汇Python学习Python中文社区

Python学习笔记二(运算符、程序结构)

2018-04-02  本文已影响72人  DragonFangQy

Python 运算符

python中运算符分为五大类:算术运算符、赋值运算符、比较运算符、逻辑运算符、条件运算符(三元运算符)。

算术运算符

算术运算符主要用于进行基本的算术运算,如加法、减法、乘法、除法等。

运算符 描述
+
-
*
/
// 取整除
% 取余
** 指数

运算实例

# +  注:(1+1) 是使1+1 作为一个整体,先进行运算,再进行格式化输出
print("1+1 = %d" % (1 + 1))
# -
print("1-1 = %d" % (1 - 1))
# * 注: 计算机中的乘用 *(星号) 代替,不是 x(字母)
print("1*1 = %d" % (1 * 1))
# / 注: 计算机中的除用 /(斜杠) 代替
print("1/1 = %s" % (1 / 1))  # 使用%s 占位只是为了显示小数位
print("10/3 = %s" % (10 / 3))  # 使用%s 占位只是为了显示小数位
# //
print("10//4 = %s" % (10 // 4))  # 使用%s 占位只是为了显示小数位
# **
print("2**10 = %d" % (2 ** 10))

# 运算结果
# 1+1 = 2
# 1-1 = 0
# 1*1 = 1
# 1/1 = 1.0
# 10/3 = 3.3333333333333335
# 10//4 = 2
# 2**10 = 1024

由以上结果可知

赋值运算符

运算符 描述 实例
= 赋值运算符 把 = 号右边的结果 赋给 左边的变量,
如 num = 1 + 2 * 3,结果num的值为7
+= 加法赋值运算符 c += a 等效于 c = c + a
-= 减法赋值运算符 c -= a 等效于 c = c - a
*= 乘法赋值运算符 c *= a 等效于 c = c * a
/= 除法赋值运算符 c /= a 等效于 c = c / a
%= 取模赋值运算符 c %= a 等效于 c = c % a
**= 幂赋值运算符 c **= a 等效于 c = c ** a
//= 取整除赋值运算符 c //= a 等效于 c = c // a

注:

比较运算符

运算符 描述 示例
== 检查两个操作数的值是否相等,
如果是则条件为真。
如a=3,b=3,则(a == b) 为 True
!= 检查两个操作数的值是否相等,
如果值不相等,则条件为真。
如a=1,b=3,则(a != b) 为 True
> 检查左操作数的值是否大于右操作数的值,
如果是,则条件为真。
如a=7,b=3,则(a > b) 为 True
< 检查左操作数的值是否小于右操作数的值,
如果是,则条件为真。
如a=7,b=3,则(a < b) 为 False
>= 检查左操作数的值是否大于或等于右操作数的值,
如果是,则条件为真。
如a=3,b=3,则(a >= b) 为 True
<= 检查左操作数的值是否小于或等于右操作数的值,
如果是,则条件为真。
如a=3,b=3,则(a <= b) 为 True

注:

逻辑运算符

运算符 逻辑表达式 描述 实例
and x and y 布尔"与":
如果 x 为 False,x and y 返回 False,
否则它返回 y 的值。
True and False, 返回 False。
or x or y 布尔"或":
如果 x 是 True,它返回 True,
否则它返回 y 的值。
False or True, 返回 True。
not not x 布尔"非":
如果 x 为 True,返回 False 。
如果 x 为 False,它返回 True。
not True 返回 False,
not False 返回 True
扩展[^1]

| 运算符 |逻辑表达式 |描述
|---|---|
|&| 0 & 1 |位运算符: 位与
|||0 | 1 |位运算符: 位或
|~|0 & 1 |取反
|^|0 & 1 |异或
|>>|0 & 1 |右移运算符
|<<|0 & 1 |左移运算符

注:

数字的逻辑运算

a = 0
b = 1
c = 3

# and 运算,只要有一个值为 0 则结果为0,否则结果为最后一个非 0 数字
a and b  # 0
b and a  # 0
c and b  # 1
b and c  # 3

# or 运算,只有所有值为 0 结果才为0,否则结果为第一个非 0 数字
a or a  # 0
a or b  # 1
b or a  # 1
c or b  # 3
b or c  # 1

条件运算符(三元运算符)

格式

变量 = 值1 if 条件 else 值2

a = 10
b = 20
c = a if a>b else b
print(c)  # 条件不成立,把 b 的值赋给 c,也就是 c 的值为 20

数据类型转换

数据类型转换

程序的三种结构

程序的三种结构分别是 顺序结构、选择结构 和 循环结构。

顺序结构

如同名字一样,程序中的代码按照自上而下执行的排列顺序依次执行 ,则称为顺序执行,或顺序结构。

选择结构

程序按照某个条件选择其中一个分支进行执行,称为分支结构,或选择结构。

if判断语句

 if 条件语句:
     成立则执行的语句

 age =30
 if age >= 18:
        print("我已经成年了") 

if-else 判断语句

 if 条件语句:
     条件成立,执行的语句
 else:
     条件不成立,执行的语句

 age =30
 if age >= 18:
    print("成年了") 
 else:
    print("未成年") 

if-elif 判断语句

 if 条件语句:
     条件成立,执行的语句
 elif 条件语句2:
     条件语句2成立,执行的语句
 else:
     条件都不成立,执行的语句

 age =30
 if age >= 30:
    print("中年人") 
 elif age >= 18: 
    print("成年人") 
 else:
    print("未成年") 

if嵌套的格式
  if 条件1:

        满足条件1 做的事情1
        满足条件1 做的事情2

        if 条件2:
            满足条件2 做的事情1
            满足条件2 做的事情2

就像 if 语句 可以嵌套一样,if、if-else、if-elif 三者之间可以根据需求相互嵌套使用

Python中 if 特殊用法

区间比较

a = 10
1<a<20  # True
11<a<20  # False

循环语句

while 循环

 while 条件:
        条件满足时,做的事情1
        条件满足时,做的事情2
        条件满足时,做的事情3
        ...(省略)...

需要注意 变量在循环外赋值 与 变量再循环内赋值的区别,如下图:

循环内外变量赋值的区别
while 循环的嵌套
while 循环的嵌套

有这么一个游戏,有一个立柜,立柜的每一个格子放着一个套娃。只有顶层的套娃可以操作。


柜子里面放着套娃

只有把顶层的套娃取到最小的那一个,


顶层取完
下一层的套娃自动上升到顶层
上升到顶层

如此往复,直到立柜中的所有套娃都取出为止,如图


终止

如上所述的游戏过程,

  1. 列游戏开始,立柜把格子上升到顶层。(外层while 开始执行(外循环))
  2. 这时顶层的套娃可以操作,把套娃一个一个取出。(内层while开始执行(内循环))
  3. 当顶层的套娃完全取出(内循环结束),下一层自动上升到顶层。(外循环继续执行)
  4. 如2一样,这时顶层的套娃可以操作,把套娃一个一个取出(内循环继续执行)。
  5. 当所有套娃全部取出,游戏结束(当内循环结束,并且 外循环也结束,整个循环结束)

for 循环

for 临时变量 in 列表或者字符串等可迭代对象:
    循环满足条件时执行的代码

Python 中的 for 循环 类似于Java 中的 foreach。

name = 'xiaoming'

for x in name:
    print(x)

结果如下

x
i
a
o
m
i
n
g

break和continue

break 打断循环,如果在多层嵌套循环当中,打断本层循环,不影响其他循环的执行。

name = 'xiao'

for x in name:

    if x == "a" 
        break
         
    print(x)

结果如下:

x
i 

continue 打断本次循环,跳转到条件判断的地方继续执行

name = 'xiao'

for x in name:

    if x == "a" 
        continue  
        
    print(x)

结果如下:

x
i 
o

到此结 DragonFangQy 2018.4.2

上一篇下一篇

猜你喜欢

热点阅读