python基础语法:
python标识符:
- 第一个字符必须是字母表中字母或下划线 _ 。
- 标识符的其他的部分由字母、数字和下划线组成。
- 标识符对大小写敏感。
注:python中包含保留字,这些保留字不能作为标识符。
python的行与缩进:
python不使用{}来表示语句块,而是使用缩进,缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数。
例:
if True: print ("Answer") print ("True") else: print ("Answer") print ("False") # 缩进不一致,会导致运行错误
python的注释:
注释以 #
开头,Python 将忽略它们
多行注释时可以使用"“”(三个双引号)或’‘’(三个单引号)
python的基本数据类型:
Python 中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。
等号(=)用来给变量赋值
python允许同时为多个变量赋值
例:
a=b=c=1
也可以为多个对象指定多个变量
例:
a,b,c=1,2,"apple"
python的标准数据类型:
- Number(数字)
- String(字符串)
- List(列表)
- Tuple(元组)
- Set(集合)
- Dictionary(字典)
数字
Python 中有三种数字类型:
- int
- float
- complex
为变量赋值时,将创建数值类型的变量
字符串字面量
python 中的字符串字面量由单引号或双引号括起。
'hello'等于"hello"
通过使用变量名称后跟等号和字符串,可以把字符串赋值给变量
a="hello"
print(a)
布尔
布尔表示两值之一:True 或 False。
在编程中,通常需要知道表达式是 True 还是 False。
函数可返回布尔
Python 还有很多返回布尔值的内置函数,例如 isinstance() 函数,该函数可用于确定对象是否具有某种数据类型:
Python 集合(数组)
Python 编程语言中有四种集合数据类型:
- *列表(List)*是一种有序和可更改的集合。允许重复的成员。
- *元组(Tuple)*是一种有序且不可更改的集合。允许重复的成员。
- *集合(Set)*是一个无序和无索引的集合。没有重复的成员。
- *词典(Dictionary)*是一个无序,可变和有索引的集合。没有重复的成员
Python 语言支持以下类型的运算符:
- 算术运算符
- 赋值运算符
- 比较运算符
- 逻辑运算符
- 身份运算符
- 成员运算符
- 位运算符
Python算术运算符
此处a为10,b为20
运算符 | 描述 |
---|---|
+ | 加 - 两个对象相加 |
- | 减 - 得到负数或是一个数减去另一个数 |
* | 乘 - 两个数相乘或是返回一个被重复若干次的字符串 |
/ | 除 - x 除以 y |
% | 取模 - 返回除法的余数 |
** | 幂 - 返回x的y次幂 |
// | 取整除 - 向下取接近商的整数 |
Python比较运算符
运算符 | 描述 |
---|---|
== | 等于 - 比较对象是否相等 |
!= | 不等于 - 比较两个对象是否不相等 |
> | 大于 - 返回x是否大于y |
< | 小于 - 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。注意,这些变量名的大写。 |
>= | 大于等于 - 返回x是否大于等于y。 |
<= | 小于等于 - 返回x是否小于等于y。 |
Python比较运算符
运算符 | 描述 |
---|---|
== | 等于 - 比较对象是否相等 |
!= | 不等于 - 比较两个对象是否不相等 |
> | 大于 - 返回x是否大于y |
< | 小于 - 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。注意,这些变量名的大写。 |
>= | 大于等于 - 返回x是否大于等于y。 |
<= | 小于等于 - 返回x是否小于等于y。 |
Python赋值运算符
运算符 | 描述 | 实例 |
---|---|---|
= | 简单的赋值运算符 | c = a + b 将 a + b 的运算结果赋值为 c |
+= | 加法赋值运算符 | c += a 等效于 c = c + a |
-= | 减法赋值运算符 | c -= a 等效于 c = c - a |
*= | 乘法赋值运算符 | c *= a 等效于 c = c * a |
/= | 除法赋值运算符 | c /= a 等效于 c = c / a |
%= | 取模赋值运算符 | c %= a 等效于 c = c % a |
**= | 幂赋值运算符 | c **= a 等效于 c = c ** a |
//= | 取整除赋值运算符 | c //= a 等效于 c = c // a |
Python 位运算符
位运算符用于比较(二进制)数字:
运算符 | 描述 | 实例 |
---|---|---|
& | AND | 如果两个位均为 1,则将每个位设为 1。 |
\ | OR | |
^ | XOR | 如果两个位中只有一位为 1,则将每个位设为 1。 |
~ | NOT | 反转所有位。 |
<< | Zero fill left shift | 通过从右侧推入零来向左移动,推掉最左边的位。 |
>> | Signed right shift | 通过从左侧推入最左边的位的副本向右移动,推掉最右边的位 |
Python逻辑运算符
Python语言支持逻辑运算符,以下假设变量 a 为 10, b为 20:
运算符 | 逻辑表达式 | 描述 | 实例 |
---|---|---|---|
and | x and y | 布尔"与" - 如果 x 为 False,x and y 返回 x 的值,否则返回 y 的计算值。 | (a and b) 返回 20。 |
or | x or y | 布尔"或" - 如果 x 是 True,它返回 x 的值,否则它返回 y 的计算值。 | (a or b) 返回 10。 |
not | not x | 布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 | not(a and b) 返回 False |
Python成员运算符
除了以上的一些运算符之外,Python还支持成员运算符,测试实例中包含了一系列的成员,包括字符串,列表或元组。
运算符 | 描述 | 实例 |
---|---|---|
in | 如果在指定的序列中找到值返回 True,否则返回 False。 | x 在 y 序列中 , 如果 x 在 y 序列中返回 True。 |
not in | 如果在指定的序列中没有找到值返回 True,否则返回 False。 | x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。 |
Python身份运算符
身份运算符用于比较两个对象的存储单元
运算符 | 描述 | 实例 |
---|---|---|
is | is 是判断两个标识符是不是引用自一个对象 | x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 False |
is not | is not 是判断两个标识符是不是引用自不同对象 | x is not y , 类似 id(x) != id(y)。如果引用的不是同一个对象则返回结果 True,否则返回 False。 |
Python运算符优先级
以下表格列出了从最高到最低优先级的所有运算符, 相同单元格内的运算符具有相同优先级。 运算符均指二元运算,除非特别指出。 相同单元格内的运算符从左至右分组(除了幂运算是从右至左分组):
运算符 | 描述 |
---|---|
(expressions...) ,[expressions...] , {key: value...} , {expressions...} | 圆括号的表达式 |
x[index] , x[index:index] , x(arguments...) , x.attribute | 读取,切片,调用,属性引用 |
await x | await 表达式 |
** | 乘方(指数) |
+x , -x , ~x | 正,负,按位非 NOT |
* , @ , / , // , % | 乘,矩阵乘,除,整除,取余 |
+ , - | 加和减 |
<< , >> | 移位 |
& | 按位与 AND |
^ | 按位异或 XOR |
`\ | ` |
`in`,`not in`, `is`,`is not`, `<`, `<=`, `>`, `>=`, `!=`, `==` | 比较运算,包括成员检测和标识号检测 |
`not x` | 逻辑非 NOT |
`and` | 逻辑与 AND |
`or` | 逻辑或 OR |
`if` -- `else` | 条件表达式 |
`lambda` | lambda 表达式 |
:= | 赋值表达式 |
Python 条件和 If 语句
Python 支持来自数学的常用逻辑条件:
- 等于:a == b
- 不等于:a != b
- 小于:a < b
- 小于等于:a <= b
- 大于:a > b
- 大于等于:a >= b
这些条件能够以多种方式使用,最常见的是“if 语句”和循环。
if 语句使用 if 关键词来写。
if 语句
Python中if语句的一般形式如下所示:
``if condition_1: `
statement_block_1
elif condition_2:
statement_block_2
else:
` statement_block_3``
- 如果 “condition_1” 为 True 将执行 “statement_block_1” 块语句
- 如果 “condition_1” 为False,将判断 “condition_2”
- 如果"condition_2" 为 True 将执行 “statement_block_2” 块语句
- 如果 “condition_2” 为False,将执行"statement_block_3"块语句
if 嵌套
在嵌套 if 语句中,可以把 if…elif…else 结构放在另外一个 if…elif…else 结构中。
if 表达式1: 语句 if 表达式2: 语句 elif 表达式3: 语句 else: 语句 elif 表达式4: 语句 else: 语句
缩进
Python 依赖缩进,使用空格来定义代码中的范围。其他编程语言通常使用花括号来实现此目的
Elif
elif 关键字是 python 对“如果之前的条件不正确,那么试试这个条件”的表达方式 Else else 关键字捕获未被之前的条件捕获的任何内容。
And
and 关键字是一个逻辑运算符,用于组合条件语句
Or
or 关键字也是逻辑运算符,用于组合条件语句
python while 循环
如果使用 while
循环,只要条件为真,我们就可以执行一组语句。
Python 中 while 语句的一般形式:
while 判断条件(condition):
执行语句(statements)……
注:同样需要注意冒号和缩进。
break 语句
如果使用 break
语句,即使 while 条件为真,我们也可以停止循环
例:
i = 1 while i < 7: print(i) if i == 3: break i += 1
continue 语句
如果使用 continue
语句,我们可以停止当前的迭代,并继续下一个
例:
i = 0 while i < 7: i += 1 if i == 3: continue print(i)
else 语句
通过使用 else 语句,当条件不再成立时,我们可以运行一次代码块SS
python函数
函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。
函数能提高应用的模块性,和代码的重复利用率。
python中提供许多内置函数,如print()函数
同时也可以自定义函数
定义函数:
- 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 ()。
- 任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。
- 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
- 函数内容以冒号 : 起始,并且缩进。
- return [表达式] 结束函数,选择性地返回一个值给调用方,不带表达式的 return 相当于返回 None。
基本形式如下
def 函数名(参数列表):
函数体
函数调用
定义一个函数:给了函数一个名称,指定了函数里包含的参数,和代码块结构。
这个函数的基本结构完成以后,你可以通过另一个函数调用执行,也可以直接从 Python 命令提示符执行。
调用函数使用函数名称后跟括号:
def my_function(): print("Hello from a function") my_function()
参数
信息可以作为参数传递给函数。
参数在函数名后的括号内指定。您可以根据需要添加任意数量的参数,只需用逗号分隔即可
return 语句
return [表达式] 语句用于退出函数,选择性地向调用方返回一个表达式。不带参数值的 return 语句返回 None。
列表的定义:
基本语法:
字面量:
[元素1,元素2,…]
定义变量:
变量名称 = [元素1,元素2,元素3,…]
定义空列表:
变量名称 = []
变量名称 = list( )
注:
列表中的每一个数据称之为元素
以[ ]作为标识
列表内每一个元素只用逗号隔开
列表一次可以储存多个数据,且可以为不同的数据类型,支持嵌套(在列表里面再储存一个列表)
索引
列表中的每个值都有对应的位置值,称之为索引,第一个索引是 0,第二个索引是 1,依此类推。
负的索引
负索引表示从末尾开始,-1 表示最后一个项目,-2 表示倒数第二个项目,依此类推。
索引范围
您可以通过指定范围的起点和终点来指定索引范围。
指定范围后,返回值将是包含指定项目的新列表。
Python 有一组可以在列表上使用的内建方法。
方法 | 描述 |
---|---|
append() | 在列表的末尾添加一个元素 |
clear() | 删除列表中的所有元素 |
copy() | 返回列表的副本 |
count() | 返回具有指定值的元素数量。 |
extend() | 将列表元素(或任何可迭代的元素)添加到当前列表的末尾 |
index() | 返回具有指定值的第一个元素的索引 |
insert() | 在指定位置添加元素 |
pop() | 删除指定位置的元素 |
remove() | 删除具有指定值的项目 |
reverse() | 颠倒列表的顺序 |
sort() | 对列表进行排序 |