文章目录

  • python运算符
  • 算术运算符
  • 比较运算符
  • 赋值运算符
  • 逻辑运算符
  • 位运算符
  • 成员运算符
  • 身份运算符
  • 运算符优先级
  • python程序的控制流程
  • 分支语句
  • 循环语句
  • while循环
  • for循环
  • 循环控制语句
  • break语句
  • continue语句
  • pass语句
  • 函数
  • 函数定义
  • 函数调用
  • 函数定义的两种形式
  • 函数传参
  • 可变长参数
  • 函数的返回
  • 函数的嵌套和递归
  • 函数的变量作用域
  • 全局变量和局部变量
  • Python中的一些内置函数
  • 结束语


python运算符

python中的常用的运算符包括
①算术运算符,如+、-、*、/
②比较运算符,如==、!=
③赋值运算符,如=
④逻辑运算符,如&
⑤位运算符,如>>
⑥成员运算符,如in
⑦身份运算符,如is

算术运算符

算术运算符的描述和用例如图所示:

pythonif要加括号吗_运算符

比较运算符

比较运算符的返回值为true或false,其描述和用例如图所示:

pythonif要加括号吗_python_02

赋值运算符

赋值运算符的描述和用例如图所示:

pythonif要加括号吗_python_03

逻辑运算符

逻辑运算符的描述和用例如图所示:

pythonif要加括号吗_python_04

位运算符

位运算符是对于数字的二进制进行操作,与c语言中相同,其描述和用例如图所示:

pythonif要加括号吗_运算符_05

成员运算符

成员运算符用于判断指定序列中是否有对应的元素,其描述和用例如图所示:

pythonif要加括号吗_运算符_06

身份运算符

身份运算符用于判断两个标识符是否引自相同对象,其描述和用例如图所示:

pythonif要加括号吗_python_07

运算符优先级

python中运算符的优先级顺序如下表所示:

pythonif要加括号吗_运算符_08

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)

pythonif要加括号吗_pythonif要加括号吗_09

fruit = ['apple','banana','peach','orange']   
for i in range(len(fruit)):
    print(i,fruit[i])

pythonif要加括号吗_python_10

for i in range(1,10,3):
    print(i)

pythonif要加括号吗_python_11

循环控制语句

break语句

break语句可以跳出一层for和while的循环体。
如果你从for或while循环中终止,任何对应的循环else块将不再执行。用例如下:

for letter in 'python':
    if letter=='h':
        break
    print('输出的字母为:',letter)

pythonif要加括号吗_运算符_12

continue语句

continue语句用于退出本次循环,继续下一次循环。用例如下:

var=10
while var>0:
    var=var-1
    if var==5:
        continue
    print('当前变量值为:',var)
print('stop')

pythonif要加括号吗_python_13

pass语句

pass在程序中无作用
仅仅是提示空白
也就是占位符,类似于c语言中的空语句
是为了代码的完整性和美观

for letter in 'python':
	if letter=='o':
		pass
		print('执行pass语句')
	print('当前字母:',letter)
print('stop')

pythonif要加括号吗_pythonif要加括号吗_14

函数

函数定义

在数学领域中,函数用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

pythonif要加括号吗_pythonif要加括号吗_15

函数定义的两种形式

无参数:应用场景仅仅只是执行一些操作,比如与用户交互,打印。例如:

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))

pythonif要加括号吗_pythonif要加括号吗_16

函数传参

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))

pythonif要加括号吗_pythonif要加括号吗_17


如图所示,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))

pythonif要加括号吗_python_18


在函数定义时,‘*’可以将按位置传递进来的参数“打包”成元组(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))

pythonif要加括号吗_pythonif要加括号吗_19


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中程序的变量并不是在哪个位置都可以访问的,访问权限决定于这个变量是在哪里赋值的。
变量的作用域决定了在哪一部分可以访问哪个特定的变量名称。

全局变量和局部变量

定义在函数内部的变量拥有一个局部作用域,定义在函数外的拥有全局作用域。。

局部变量只能在其被声明的函数内部访问,而全局变量可以在整个程序范围内访问。调用函数时,所有在函数内声明的变量名称都将被加入到作用域中。

pythonif要加括号吗_pythonif要加括号吗_20


实例:

total=0
def sum(arg1,arg2):
    total=arg1+arg2
    print('函数内是局部变量:',total)
    return total

sum(10,20)
print('函数外是全局变量:',total)

pythonif要加括号吗_python_21


通过例子不难看出局部变量改变并不会影响同名的全局变量,因为函数的返回值并没有起到作用,这时我们就会引入一个关键字,即global关键字,实例如下:

total=0
def sum(arg1,arg2):
    global total
    total=arg1+arg2
    print('函数内是局部变量:',total)
    return total

sum(10,20)
print('函数外是全局变量:',total)

pythonif要加括号吗_pythonif要加括号吗_22


在使用global关键字后,函数中的total便不再是局部变量,而是一个全局变量,因此会改变函数外的全局变量total的值。

Python中的一些内置函数

pythonif要加括号吗_运算符_23

结束语

本篇博客主要介绍了Python中运算符及其优先级、程序流程控制以及函数的相关知识,后面将继续更新Python的文件读写、模块化和numpy基础等内容,感谢观看。