-
注释
一般情况下python解释器不会执行注释的代码块。注释一般用于说明代码块的功能与作用方便开发人员的理解。提高代码的可读性。
-
单行注释—— #
# 这是一个单行注释
-
多行注释(1)—— '''
'''
单引号多行注释
'''
-
多行注释(2)——"""
"""
双引号多行注释
def print(*values: object,
sep: Optional[str] = ...,
end: Optional[str] = ...,
file: Optional[SupportsWrite[str]] = ...,
flush: bool = ...) -> None
"""
-
缩进
python中采用代码缩进来区分代码支架的层次,缩进可以使用4格空格或者一个tab键作为一个缩进量实现,类似于其他语言的{}
-
示例
def func_a():
if True:
pass
-
输入与输出
-
print函数
-
输出到python控制台
参数 | 意义 |
*value | 输出到控制台的对象,不定长参数 |
sep | 多个参数的分隔步长 |
end | 行尾符默认为\n |
file | 输出到文件 |
flush | 刷新缓存区 |
-
示例
# python输出与输入
print("welcome python")
"""
def print(*values: object,
sep: Optional[str] = ...,
end: Optional[str] = ...,
file: Optional[SupportsWrite[str]] = ...,
flush: bool = ...) -> None
"""
E:\python\python.exe E:1001_python_dp/base_python/1001_python输入与输出.py
welcome python
进程已结束,退出代码为 0
-
input函数
__prompt | 控制台提示输入的内容 |
"""
def input(__prompt: Any = ...) -> str
"""
# 使用 user_input 接受输入的参数
user_input = input("输入的参数")
# 将输入的参数输出到控制台
print("输入的参数: ", user_input)
输入的参数python
输入的参数: python
-
命名规则
-
驼峰命名(camel case)
-
大驼峰
UserName = "black"
-
小驼峰
userName = "black"
-
蛇形命名(snake case)
user_name = "black"
-
变量
python中变量都是弱类型,可以不用指定数据类型
变量命名规则:
变量名在程序中就是标识符,标识符构造的规则: 由数字、字母和下划线构成,不能以数字开头
-
定义变量并赋值
my_name = "sek"
-
操作变量
# 变量重新赋值
my_name = "black"
# 多个变量赋值
my_age = you_age = 18
you_name, you_hobby = "Nancy", "game"
# 输出变量
print(my_name, my_age, you_age, you_name, you_hobby)
结果展示
black 18 18 Nancy game
进程已结束,退出代码为 0
-
删除变量
del my_name
# 运行报错: NameError
print(my_name)
输出结果
NameError: name 'my_name' is not defined
-
关键字
使用keyword模块展示当前关键字
import keyword
print(keyword.kwlist)
keyword_list = ['False', 'None', 'True', 'and', 'as', 'assert',
'async', 'await', 'break', 'class', 'continue',
'def','del', 'elif', 'else', 'except', 'finally',
'for', 'from', 'global', 'if', 'import', 'in',
'is', 'lambda', 'nonlocal', 'not', 'or', 'pass',
'raise', 'return', 'try', 'while', 'with', 'yield']
-
数据类型
-
基本数据类型
-
Number(数字)
-
String(字符串)
-
List(列表)
-
Tuple(元组)
-
Set(集合)
-
Dictionary(字典)
-
序列构成的数组
-
容器序列
list、tuple 这些序列能存放不同类型的数据。
-
扁平序列
str、bytes、array.array,这类序列只能容纳一种类型。
-
运算符
-
算数运算符
+ | 加 - 两个对象相加 |
- | 减 - 得到负数或是一个数减去另一个数 |
* | 乘 - 两个数相乘或是返回一个被重复若干次的字符串 |
/ | 除 - x 除以 y |
% | 取模 - 返回除法的余数 |
** | 幂 - 返回x的y次幂 |
// | 整除(向下取整) |
-
比较运算符
返回类型: bool
== | 等于: 比较对象是否相等 |
!= | 不等于: 比较两个对象是否不相等 |
> | 大于 : 返回x是否大于y |
< | 小于 : 返回x是否小于y |
>= | 大于等于 : 返回x是否大于等于y。 |
<= | 小于等于: 返回x是否小于等于y。 |
-
增量运算符
减少变量重复调用。简化代码
+= | 加法赋值运算符 | c += a 等效于 c = c + a |
-= | 减法赋值运算符 | - |
*= | 乘法赋值运算符 | - |
/= | 除法赋值运算符 | - |
%= | 取模赋值运算符 | - |
**= | 幂赋值运算符 | - |
//= | 取整除赋值运算符 | - |
:= | 海象运算符 | while (psw := input("输入密码:")) != "123": continue |
-
身份运算符
比较对象的内存地址
is | x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 False |
is not | x is not y , 类似 id(a) != id(b)。如果引用的不是同一个对象则返回结果 True,否则返回 False。 |
-
逻辑运算符
and | 布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。 |
or | 布尔"或" - 如果 x 是非 0,它返回 x 的计算值,否则它返回 y 的计算值。 |
not | 布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 |
-
成员运算符
判断一个值是否在序列内
in | 如果在指定的序列中找到值返回 True,否则返回 False。 |
not in | 如果在指定的序列中没有找到值返回 True,否则返回 False。 |
-
位运算符
将数转为二进制数进行位运算
& | 按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0 | (a & b) 输出结果 12 ,二进制解释: 0000 1100 |
| | 按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。 | (a | b) 输出结果 61 ,二进制解释: 0011 1101 |
^ | 按位异或运算符:当两对应的二进位相异时,结果为1 | (a ^ b) 输出结果 49 ,二进制解释: 0011 0001 |
~ | 按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1 。~x 类似于 -x-1 | (~a ) 输出结果 -61 ,二进制解释: 1100 0011,在一个有符号二进制数的补码形式。 |
<< | 左移动运算符:运算数的各二进位全部左移若干位,由 << 右边的数字指定了移动的位数,高位丢弃,低位补0。 | a << 2 输出结果 240 ,二进制解释: 1111 0000 |
>> | 右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,>> 右边的数字指定了移动的位数 | a >> 2 输出结果 15 ,二进制解释: 0000 1111 |
-
运算符优先级
运算符 | 说明 | 优先级 |
() | 小括号 | 20 |
x[index]、x[index:index2[:index3]] | 索引 | 18、19 |
x.attrbute | 访问属性 | 17 |
** | 乘方 | 16 |
~ | 取反 | 15 |
+(正号)、-(负号) | 符号运算符 | 14 |
乘、除 | *、/、//、% | 13 |
加、减 | +、- | 12 |
位移 | >>、 << | 11 |
按位与 | & | 10 |
按位异或 | ^ | 9 |
按位或 | | | 8 |
比较运算符 | ==、!=、>、>=、<、<= | 7 |
身份运算符 | is、is not | 6 |
成员运算符 | in、not in | 5 |
逻辑非 | not | 4 |
逻辑与 | and | 3 |
逻辑或 | or | 2 |