文章目录
- python运算符
- 算术运算符
- 比较运算符
- 赋值运算符
- 逻辑运算符
- 位运算符
- 成员运算符
- 身份运算符
- 运算符优先级
- python程序的控制流程
- 分支语句
- 循环语句
- while循环
- for循环
- 循环控制语句
- break语句
- continue语句
- pass语句
- 函数
- 函数定义
- 函数调用
- 函数定义的两种形式
- 函数传参
- 可变长参数
- 函数的返回
- 函数的嵌套和递归
- 函数的变量作用域
- 全局变量和局部变量
- Python中的一些内置函数
- 结束语
python运算符
python中的常用的运算符包括
①算术运算符,如+、-、*、/
②比较运算符,如==、!=
③赋值运算符,如=
④逻辑运算符,如&
⑤位运算符,如>>
⑥成员运算符,如in
⑦身份运算符,如is
算术运算符
算术运算符的描述和用例如图所示:
比较运算符
比较运算符的返回值为true或false,其描述和用例如图所示:
赋值运算符
赋值运算符的描述和用例如图所示:
逻辑运算符
逻辑运算符的描述和用例如图所示:
位运算符
位运算符是对于数字的二进制进行操作,与c语言中相同,其描述和用例如图所示:
成员运算符
成员运算符用于判断指定序列中是否有对应的元素,其描述和用例如图所示:
身份运算符
身份运算符用于判断两个标识符是否引自相同对象,其描述和用例如图所示:
运算符优先级
python中运算符的优先级顺序如下表所示:
python程序的控制流程
python中的流程控制依然不外乎三类,与c语言相同,即顺序语句、分支语句和循环语句,其中顺序语句不需要单独的关键字来控制,就是一行行的执行,无需特殊说明,下面主要讲其他两种控制流程。
分支语句
条件分支语句是通过一条或多条语句(判断条件)的执行结果(True/False)来决定执行哪个分支的代码块。
Python中提供的分支语句为:if-else语句,共包含三种情况:
①单分支:
if 判断条件:
代码块
②双分支:
if 判断条件:
代码块
else:
代码块
③多分支:
if 判断条件1:
代码块1
elif 判断条件2:
代码块2
…
else:
默认代码块
其中需要注意,代码块处需要进行四个空格的缩进,若代码块中需要继续嵌套,仍遵循相同缩进原则。
循环语句
当我们需要多次执行一个代码语句或代码块时,可以使用循环语句
Python中提供的循环语句有:while循环和for循环
需要注意的是python中没有do…while循环
此外,还有几个用于控制循环执行过程的循环控制语句:break、continue和pass
while循环
使用方法:
while 判断条件:
循环体
但给定的判断条件的返回值的真值测试结果为True时执行循环体的代码,否则退出循环体。例如:
a=1
while a<10:
print(a)
a+=2
#打印结果为1\n3\n5\n7\n9\n
for循环
使用形式:
for 变量 in 某序列:
代码块
通常情况下for循环的使用方法可分为以下两种:
第一种:
for 变量 in range(start, stop[, step]):
代码块
第二种:
for 变量 in range(len(序列)):
代码块
其中:start是指计数从start开始。默认是从0开始。例如range(5)等价于range(0,5);stop指到stop结束,但不包括stop(和切片操作一致)。例如range(0,5)是[0,1,2,3,4];step是指步长,默认为1。例如range(0,5)等价于range(0,5,1)。
for循环通常用于遍历序列(如list、tuple、range、str)、集合(如set)和映射对象(如dict)。
接下来我们列几个例子:
fruit=['apple','banana','peach','orange']
for x in fruit:
print(x)
fruit = ['apple','banana','peach','orange']
for i in range(len(fruit)):
print(i,fruit[i])
for i in range(1,10,3):
print(i)
循环控制语句
break语句
break语句可以跳出一层for和while的循环体。
如果你从for或while循环中终止,任何对应的循环else块将不再执行。用例如下:
for letter in 'python':
if letter=='h':
break
print('输出的字母为:',letter)
continue语句
continue语句用于退出本次循环,继续下一次循环。用例如下:
var=10
while var>0:
var=var-1
if var==5:
continue
print('当前变量值为:',var)
print('stop')
pass语句
pass在程序中无作用
仅仅是提示空白
也就是占位符,类似于c语言中的空语句
是为了代码的完整性和美观
for letter in 'python':
if letter=='o':
pass
print('执行pass语句')
print('当前字母:',letter)
print('stop')
函数
函数定义
在数学领域中,函数用y=f(x)来表示,定义为:两个变量x、y,如果对于任意一个x都有唯一确定的一个y与其对应,那么就称x为自变量,y则是x的函数。
在python中,函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段,和其他编程语言相同,它实现了代码块的复用。其语法格式如下:
def function_name([parameter1,parameter2,...]):
expression...
return expression
函数调用
函数的调用:函数名+括号
函数的基本使用原则:先定义,后调用
实例:
def square(x):
s=x*x
return s
函数定义的两种形式
无参数:应用场景仅仅只是执行一些操作,比如与用户交互,打印。例如:
def func():
print('Hello Python')
func()
有参数:需要根据外部传进来的参数,才能执行相应的逻辑,比如统计长度,求最大或最小值。例如:
def area(width,height)
return width*height
w=3
h=4
print('width:',w,'height',h,'area:',area(w,h))
函数传参
def func(x,y,z):
s=1+2*x+y*y+z*y
return s
print(func(1,2,3))
print(func(x=1,y=2,z=3))
print(func(1,y=2,z=3))
如图所示,python函数的传参可以直接传递对应参数,也可以写形参等于对应参数,也可以二者混用,但如果传入的第一个参数是用关键词传入的,那么后面的每个参数都需要是关键词传入,否则会出现语法错误,比如:
func(x=3,1,z=2)#error
可变长参数
可变长指的是实参值的个数不固定,这是为了解决参数个数不定的情况。例如:
def func(x,y,*args):
s=1+2*x+y*y
for i in args:
s=s+i
return s
print(func(1,2,3,4,5,6,7))
在函数定义时,‘*’可以将按位置传递进来的参数“打包”成元组(tuple)类型,‘**’可以将按关键字传递进来的参数“打包”成字典(dictionary)类型。
在上图中的函数参数x为1,y为2,*args为(3,4,5,6),因此可得s=7,然后利用for循环将3~7累加至s上,可得返回值为32。
函数的返回
return[表达式]语句用于退出函数,选择性地向调用方返回一个表达式。不带参数值的return语句返回None。
函数的嵌套和递归
函数嵌套实例如下:
def max(x,y):
if x>y:
return x
else:
return y
def max4(a,b,c,d):
res1=max(a,b)
res2=max(res1,c)
res3=max(res2,d)
return res3
print(max4(1,2,3,4))
max函数作为max4函数的子功能实现了四个数字的大小。
函数递归调用时函数嵌套调用的一种特殊形式,函数在调用时,直接或间接调用了自身,就是递归调用。实例如下:
def factorial(x):
if x == 1:
return 1
else:
return x*factorial(x-1)
n=input('input the number:')
n=int(n)
print(factorial(n))
递归实现阶乘是递归的经典运用,当数字大于1时,使得该数字乘以该数字减一的阶乘,从而将问题层层拆解得到结果。
函数的变量作用域
Python中程序的变量并不是在哪个位置都可以访问的,访问权限决定于这个变量是在哪里赋值的。
变量的作用域决定了在哪一部分可以访问哪个特定的变量名称。
全局变量和局部变量
定义在函数内部的变量拥有一个局部作用域,定义在函数外的拥有全局作用域。。
局部变量只能在其被声明的函数内部访问,而全局变量可以在整个程序范围内访问。调用函数时,所有在函数内声明的变量名称都将被加入到作用域中。
实例:
total=0
def sum(arg1,arg2):
total=arg1+arg2
print('函数内是局部变量:',total)
return total
sum(10,20)
print('函数外是全局变量:',total)
通过例子不难看出局部变量改变并不会影响同名的全局变量,因为函数的返回值并没有起到作用,这时我们就会引入一个关键字,即global关键字,实例如下:
total=0
def sum(arg1,arg2):
global total
total=arg1+arg2
print('函数内是局部变量:',total)
return total
sum(10,20)
print('函数外是全局变量:',total)
在使用global关键字后,函数中的total便不再是局部变量,而是一个全局变量,因此会改变函数外的全局变量total的值。
Python中的一些内置函数
结束语
本篇博客主要介绍了Python中运算符及其优先级、程序流程控制以及函数的相关知识,后面将继续更新Python的文件读写、模块化和numpy基础等内容,感谢观看。