什么是函数?
函数是一段可以直接被另外一段程序或代码引用的程序或代码, 也叫做子程序, 方法.
函数的目的
在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
算术运算
+
-
*
乘法
/
除法
//
整除
%
取余数
**
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
位运算
二进制运算, 未来刷题的时候再说, 有兴趣的同学可以了解一下
~
^
>>
<<
&
|
运算符 | 描述 |
---|---|
or | 布尔运算或 |
and | 布尔运算与 |
not | 布尔运算逻辑取反 |
in, not in, is, is not, <, !=, ... | 比较运算, 成员检测运算, 标识号检测 |
+, - | 加法和减法 |
*, /, //, % | 乘法, 除法, 整除, 取余 |
+x, -x | 正负数 |
** | 幂 |
自定义优先级
如果不确定优先级, 出于可读性和避免未知的BUG, 我们都应该用()来自定义优先级
通过()
(not b and c) or (d and e)