zl程序教程

您现在的位置是:首页 >  后端

当前栏目

python 函数、运算符以及运算符优先级

Python 函数 以及 运算符 优先级
2023-06-13 09:11:05 时间

Python函数的基本介绍

什么是函数?

函数是一段可以直接被另外一段程序或代码引用的程序或代码, 也叫做子程序, 方法.

  • 可重复使用
  • 可互相调用

函数的目的

  • 为了代码段的复用

Python中如何定义一个函数?

def foo(arg):
    return "Hello " + str(arg)

函数的组成

参数列表

必须参数

当前参数必须按顺序传入

关键字参数

根据关键字参数传参可以无视顺序

def foo(arg=None, arg_2=None)

默认参数

def foo(arg='tunan', arg_2=None)

不定长参数

在装饰器中会大量应用

可以接受任意长度的参数.

  • * 代表了省略, 省略了参数tuple(元组)
  • ** 省略了关键字参数dict(字典)

函数体

返回值

默认返回None

return None

Python的运算符

算术运算

+

-

*

乘法

/

除法

//

整除

%

取余数

**

x的y次幂

开方(没有提供直接的运算符)

x ** (1/2)

abs()

取绝对值

赋值运算

通过=赋值

a = 1

比较运算

比较的是两个对象的字面值, 字面值暂时可以简单地理解为输出值

  • <
  • >
  • <=
  • >=
  • == 等于
  • != 不等于

标识号比较运算

比较的是两个变量的内存地址

is

is not

赋值类型为str, int的时候要考虑Python常量池

a = "test_1"
b = "test_1"

a is b
>>> True

a = '你好'
b = '你好'
a is b
>>> False

成员检测运算

判断元素是否在当前序列当中

in

a = [1,2,3]
1 in a
>>> True

b = [1, 2]
b in a
>>> False

not in

布尔运算

判断当前语句的结果是True还是False

and

只有两边都是True才返回True

or

两边表达式有一个True返回的结果为True

短路

表达式A or 表达式B
当表达式A为True时, 表达式B就不会运行

逻辑取反

not

位运算

二进制运算, 未来刷题的时候再说, 有兴趣的同学可以了解一下
  • ~
  • ^
  • >>
  • <<
  • &
  • |

Python运算符优先级

运算符

描述

or

布尔运算或

and

布尔运算与

not

布尔运算逻辑取反

in, not in, is, is not, <, !=, ...

比较运算, 成员检测运算, 标识号检测

+, -

加法和减法

*, /, //, %

乘法, 除法, 整除, 取余

+x, -x

正负数

**

自定义优先级

如果不确定优先级, 出于可读性和避免未知的BUG, 我们都应该用()来自定义优先级

通过()

(not b and c) or (d and e)