python基础第三节-python注释、运算与流程控制

3.1 python中的代码注释

为了保证代码的可读性,需要对代码加注释,这既是为了别人能够更好的理解你的代码,同时也是方便你自己日后能看懂自己的代码。计算机在运行过程中不会执行注释的内容。
代码的注释分为两种,单行注释与多行注释,

  • 单行注释用# 表示,
print("hello, world")  #在终端打印“hello world”
  • 多行注释用三个双引号""""""或三个单引号''''''包裹。
def sum(*args, **kwargs): # real signature unknown  此处为单行注释
    """
    以下内容为多行注释内容,一般是作为函数用法说明
    Return the sum of a 'start' value (default: 0) plus an iterable of numbers
    
    When the iterable is empty, return the start value.
    This function is intended specifically for use with numeric values and may
    reject non-numeric types.
    """
    pass

另外,多行注释的内容可以被作为多行字符串被使用

text = '''
     静夜思
窗前明月光,
疑是地上霜。
举头望明月,
低头思故乡。
'''
print(text)

执行结果:
D:\PythonWorkPath\EMenv\Scripts\python.exe D:\PythonWorkPath\ExcelManage\text.py 

静夜思
窗前明月光,
疑是地上霜。
举头望明月,
低头思故乡。

3.2 Python中的运算与运算符

在学习python中因为要涉及数据的处理,不可避免的要学习python的运算以及运算符。在python中的运算主要包括以下几种:

  1. 算术运算
  2. 比较运算
  3. 赋值运算
  4. 成员运算
  5. 身份运算
  6. 逻辑运算
  7. 位运算

3.2.1 算数运算

所谓算术运算即我们在数学上学到的加、减、乘、除、乘方、整除、求余数、幂运算等。
算术运算中涉及的运算符有以下几个。

运算符含义范例
+加法,计算两个对象的和10+5=15
-减法,计算两个对象的差10-5=5
*乘法,两个对象的乘积10*5=50
/除法,两个对象的商,结果为小数(浮点数)10/5=2.0
%两数相除,求余数5%2=1
//两数相除,商向下取整5//2=2
**幂运算3**2=9

python中还支持其他更加高级的算术运算如求对数、三角函数等,都是通过python中的math模块实现的
在这里插入图片描述

3.2.2 比较运算

比较运算是指对两个表达式的结果的大小、真假等进行比较,返回结果为True 或者False
比较运算中常用到的运算符如下:
假如 a = 12, b = 13

运算符含义范例
==等于,如果两个数值或者对象相等则条件为真a==b结果为False
!=不等于,如果两个数值过着对象不相等则条件为真a != b结果为True
>大于,如果左侧数值大于右侧数值,则条件为真a > b结果为False
<小于,如果左侧数值小于右侧数值,则条件为真a < b结果为True
>=大于等于,如果左侧数值大于等于右侧数值,则条件为真a >= b结果为False
<=小于等于,如果左侧数值小于等于右侧数值,则条件为真a <= b结果为True

3.2.3 赋值运算

赋值运算符主要用来为变量赋值,主要把赋值运算符右边的数赋给左边的变量。

运算符含义范例
=等于,最基本的赋值运算符,将等号右边的值赋给左边的变量名a = b + c
+=加等于,加法赋值运算符a +=c 相当于 a = a + c
-=减等于,减法赋值运算符a -= c 相当于 a = a - c
*=乘等于,乘法赋值运算符a *= c 相当于 a = a * c
/=除法赋值运算符a /= c相当于 a = a / c
%=取模赋值运算符a %= c 相当于 a = a % c
**=幂赋值运算符a **=c 相当于 a = a **c
//=取整除赋值运算符a//=c 相当于 a = a // c

需要注意的是 比较运算与赋值运算组成运算符的符号之间不能有空格

3.2.4成员运算

成员运算即判断某个对象是否属于另一个对象里的元素,返回值为True或者False。成员运算涉及到后面要讲的字符串列表字典元组集合等数据类型的知识。
成员运算的运算符有两个: innot in
in判断某个对象是属于另一个对象里的元素;
not in :判断某个对象不属于另一个对象里的元素;
在这里插入图片描述

3.2.5 身份运算

身份运算即判断一个变量是否为某个变量,返回值为True或者False。身份运算的运算符为isis not。说到身份运算需要注意的是,身份运算符is与比较运算中==是有区别的。
==:判断的是两个变量的值是否相等,只要相等 ==关系即成立。
is:判断的是两个变量在内存中的存储地址是否一致,即判断两个变量名指向的变量在内存中的存储地址是否相同。(可以使用id()方法判断变量的内存地址)
在这里插入图片描述

3.2.6 逻辑运算

逻辑运算用于组合多个条件测试语句。Python中的逻辑运算符有and,ornot

运算符含义范例
and逻辑与运算,等价于数学中的“且”a and b,当a和b两个表达式都为真时,a and b 的结果才为真,否则为假。
or逻辑或运算,等价于数学中的“或”a or b,当a和b两个表达式都为假时,a or b 的结果才是假,否则为真。
not辑非运算,等价于数学中的“非not a,如果 a 为真,那么 not a 的结果为假;如果 a 为假,那么 not a 的结果为真。

需要注意: 逻辑运算的结果不一定为布尔值(True或False)
在这里插入图片描述
要解释这个结果需要从逻辑运算符的运算顺序说起:

  • 对于 and 运算符,两边的值都为真时最终结果才为真,但是只要其中有一个值为假,那么最终结果就是假,所以 Python 按照下面的规则执行 and 运算:

    • 如果左边表达式的值为假,那么就不用计算右边表达式的值了,因为不管右边表达式的值是什么,都不会影响最终结果,最终结果都是假,此时 and 会把左边表达式的值作为最终结果。
    • 如果左边表达式的值为真,那么最终值是不能确定的,and 会继续计算右边表达式的值,并将右边表达式的值作为最终结果。
  • 对于 or 运算符,情况是类似的,两边的值都为假时最终结果才为假,只要其中有一个值为真,那么最终结果就是真,所以 Python 按照下面的规则执行 or 运算:

    • 如果左边表达式的值为真,那么就不用计算右边表达式的值了,因为不管右边表达式的值是什么,都不会影响最终结果,最终结果都是真,此时 or 会把左边表达式的值作为最终结果。
    • 如果左边表达式的值为假,那么最终值是不能确定的,or 会继续计算右边表达式的值,并将右边表达式的值作为最终结果。
      这种现象叫做逻辑短路

3.2.7 位运算

程序中的所有数在计算机内存中都是以二进制的形式储存的。位运算就是直接对整数在内存中的二进制位进行操作。
位运算的特点:
内存消耗小,速度快。原因是位运算是直接操作数据在内存中存储的补码。位运算计算的数据首先要是整数,其次要将整数转换成二进制然后进行计算。
位运算的运算符

运算符含义范例
&按位与运算,即参与计算的两个二进制数字相同位置上的数字都为1时,得出结果相同位置的数字为1,否则为0101 & 100 = 100
|按位或运算,只要对应的两个二进位有一个为1时,结果位就为1,其他情况为0。101|100 = 101
^异或运算,当两对应的二进位相异时,结果为1101^100 =001
~取反运算,对数据的每个二进制位取反,即把1变为0,把0变为1~101 = 010
>>右移运算符,把>>左边的运算数的各二进位全部右移若干位,>> 右边的数字指定了移动的位数。10 >> 2 = 2
<<左移运算符,把<<左边的运算数的各二进位全部左移若干位, <<右边的数字指定了移动的位数。10 << 2 = 40

位运算的计算步骤

  • 1、判断用于位运算的数字是否为二进制数字,如果为不是二进制数字,则转换为二进制数字。
  • 2、对二进制数据进行位运算。
  • 3、若原始数据转换十进制,则将计算结果转换为十进制,否则直接抛出结果。
7&9
结果:1

计算过程
···在这里插入图片描述

7|9
结果:15

计算过程
在这里插入图片描述

40 >> 3
40<<3

在这里插入图片描述

3.3 流程控制

假如把写程序比做走路,那我们到现在为止,一直走的都是直路,还没遇到过分叉口,想象现实中,你遇到了分叉口,然后你决定往哪拐必然是有所动机的。你要判断那条岔路是你真正要走的路,如果我们想让程序也能处理这样的判断怎么办? 很简单,只需要在程序里预设一些条件判断语句,满足哪个条件,就走哪条岔路。这个过程就叫流程控制

3.3.1判断语句

python中的判断语句分为但条件判断·if、双条件判断if…else、多条件判断if…elif…else

单条件判断

单条件判断即只有一个判断条件,这种情况比较好理解。比如定义变量a = 10,如果a > 5,则输出“你好”,那么代码应该这样写:

a = 10
if a > 5:
	print('你好')

从例子中可以看出if语句的语法为

第一行:if +判断语句 +冒号
第二行:写判断语句成立的情况下需要执行的代码。代码前面需要空四格。

如果判断语句的结果为True,则执行第二行代码,如果判断语句的结果为False,则不进行任何操作。

缩进:

这里需要说一下,python代码中的缩进。第二行写判断语句成立的情况下需要执行的代码时,代码前面要有四个空格,这就是python中的缩进。python中通过缩进来判断代码块,其中连续的缩进空格相同的一段代码作为一个代码块,同一个代码块中的代码要么都执行,要么都不执行。

双条件判断

双条件判断即有两个条件语句,例如a = 10,当a >5时打印‘你好’,当a <=5 时打印“你们好”。此时就出现了两个判断语句使用if else进行判断。代码如下

a = 10
if a > 5 :
	print('你好')
else:
	print('你们好')

需要说明的是,使用if…else语句时,必须保证两个判断条件是互斥的,非A即B的关系。

多条件判断

多条件判断即有至少2个判断条件。使用if…elif…语句。例如:a = 10,当a > 5 时,打印“你们好”,当a = 5时,打印“我们好”,当a < 5时打印“他们好”,代码如下:

a = 10
if a > 5:
	print("你们好")
elif a = 5:
	print("我们好")
else:
	print('他们好')

if…elif与多个使用多个if判断一般情况下会得到同样的结果,但是使用多个if会导致程序更耗时。

3.3.2循环语句

在编写程序的时候往往会遇到需要将某些代码重复执行的情况,这就需要使用循环语句进行判断是否需要循环。Python中常用的循环语句有两个分别是:whliefor循环。

while 循环

while循环语法格式如下:

while +条件判断语句:
	需要重复执行的语句

当条件判断语句结果为True时,程序会一直重复执行需要重复执行的语句,只有当条件判断语句为false时,循环才会结束。
例如:a = 0,当a < 10时,执行循环语句,需要循环执行的语句为a = a +1,即每循环一次,a的值自动+1,并打印a的值.代码如下:

a = 0
while a < 10:
	a += 1
	print(a)

for 循环

Python中for循环是一个通用的序列迭代器:它可以遍历任何有序序列和其他可迭代对象内的元素。for循环可用于字符串,列表,元组或其他内置可迭代对象。说的简单点,如果一个变量中含有多个元素,一般可以使用for循环遍历取出每一个元素。
关于迭代器和迭代对象的概念会在以后学习Python数据类型的时候详细讲解。
例如:字符串a = “asdfgh”,逐个打印出a中的每一个字符。代码如下:

a = "asdfgh"
for i in a:
	print(i)

简单练习,打印九九乘法表
在这里插入图片描述

continue 、break 与 pass

  • continue:本次循环中不做任何操作,继续进入到下一次循环中
  • break:遇到break直接跳出循环
  • pass:站位字符,在循环语句中作用类似continue,还可以用在其他地方,pass即直接跳过什么都不做。
  • 在这里插入图片描述

for…else:

for 与else组合表示,for循环全部结束后执行的操作,如果for循环中遇到break跳出循环,则else后面的语句也不再执行。

在这里插入图片描述
在这里插入图片描述

学会了循环,以后,我们做几个简单的练习:
1、求100(不含100)以内所有数字的和。
2、计算100以内所有偶数的和

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值