【笔记】Python3学习笔记

前言

Python是一种广泛使用的解释型、高级和通用的编程语言。Python支持多种编程范型,包括函数式、指令式、结构化、>面向对象和反射式编程。它拥有动态类型系统和垃圾回收功能,能够自动管理内存使用,并且其本身拥有一个巨大而广>泛的标准库。(维基百科

解释器

交互式终端

1
python3

运行源码

1
python3 <file>.py

注释

1
# 单行注释
1
2
3
'''
多行注释
'''
1
2
3
"""
多行注释
"""

输出语句

传送门

1
print("文本内容")

输入语句

  • 从终端获取一个字符串
  • 获取到的数据都当作字符串处理
1
input()

有提示的输入

1
input("文本内容")

输入密码

1
2
3
import getpass

getpass.getpass("文本内容")

变量

定义变量与变量赋值

1
变量名 = 值

链式赋值

1
变量名1 = 变量名2 = 值

数据类型

  • 可变类型
    • 列表
    • 字典
    • 集合
  • 不可变类型
    • 整型
    • 浮点型
    • 字符串
    • 元祖

数值类型

整型(int)

1
n = 0
进制表示
  • 描述二进制的数值,需要以0b开头
1
binary = 0b1
  • 描述八进制的数值,需要以0o开头
1
octal = 0o7
  • 描述十六进制的数值,需要以0x开头
1
hexadecimal = 0xF

浮点型(float)

  • 包含小数点的数
1
变量名 = .1
1
变量名 = 1.
1
变量名 = 1.1
科学计数法
1
变量名 = 0.1e2

复数(complex)

  • 由实部和虚部组成
  • 虚部以jJ结尾
1
变量名 = 1+1j

字符串(str)

1
变量名 = '单行数据'
1
变量名 = "单行数据"
1
2
3
变量名 = '''
多行数据
'''
1
2
3
变量名 = """
多行数据
"""

布尔型(bool)

  • TrueFalse
  • 布尔值隐式类型转换
    • 如果是布尔值表示数值:True1False0
    • 如果是字符串表示布尔值:非空字符串为True,空字符串为False
    • 如果是数值表示布尔值:非0为True,0为False
    • 如果是列表表示布尔值:非空列表为True,空列表为False
    • 如果是None值表示为布尔值:False
1
变量名 = True
1
变量名 = False

列表类型(list)

1
变量名 = [值, 值]

元祖类型(tuple)

1
变量名 = (值, 值)

集合类型(set)

1
变量名 = {值, 值}

字典类型(dict)

1
变量名 = {键: 值, 键: 值}

空值对象(NoneType)

1
变量名 = None

释放变量

  • 通过手动解除变量与数据的关系,从而实现释放变量
1
del 变量名

获取数据类型

1
type(变量名)

运算符

算术运算符

  • +(正号)、-(负号)
  • +(加号)、-(减号)、*/%**//(整除)

关系运算符

  • ><>=<===!=

关系运算符的简写

1
18 <= age <= 60

逻辑运算符

  • andornot

数字的逻辑运算

  • and

    • 如果有0,返回0
    • 否则,返回最后一个非0数字
  • or

    • 如果全为0,返回0
    • 否则,返回第一个非0数字

赋值运算符

  • =+=-=*=/=%=//=**=
  • &=|=^=<<=>>=

按位运算符

  • &|^~<<>>

身份运算符

  • isis not

成员运算符

  • innot in

数据类型转换

x:一个变量

函数 说明
int(x)/int(x,y) 转换为整数
float(x) 转换为浮点数
str(x) 将表达式转换为字符串
eval(x) 用来计算在字符串中有效的Python表达式,并返回一个对象
tuple(x) 将序列转换为一个元祖
list(x) 将序列转换为一个列表
complex(real)/complex(real, imag) 创建一个复数,real为实部,imag为虚部
repr(x) 将对象转换为表达式字符串
chr(x) 将整数转换为Unicode字符
ord(x) 将字符转换为ASCII整数值
hex(x) 将整数转换为十六进制字符串
oct(x) 将整数转换为八进制字符串

分支语句

if语句

1
2
if 布尔表达式:
布尔表达式成立时执行的代码
1
2
3
4
if 布尔表达式:
布尔表达式成立时执行的代码
else:
布尔表达式不成立时执行的代码
1
2
3
4
5
6
if 布尔表达式1:
布尔表达式1成立时执行的代码
elif 布尔表达式2:
布尔表达式2成立时执行的代码
else:
以上布尔表达式都不成立时执行的代码
1
2
3
if 布尔表达式1:
if 布尔表达式2:
布尔表达式12都成立时执行的代码

循环语句

while语句

1
2
while 布尔表达式:
布尔表达式成立时反复执行的代码
1
2
3
4
while 布尔表达式:
布尔表达式成立时反复执行的代码
else:
循环正常结束后(没有遇到break)执行的代码

for语句

1
2
for 元素 in 可迭代对象:
迭代可迭代对象
1
2
3
4
for 元素 in 可迭代对象:
迭代可迭代对象
else:
循环正常结束后(没有遇到break)执行的代码

break关键字

  • 跳出循环
1
2
while True:
break

continue跳出当前循环

  • 结束当前循环,开始下一次循环
1
2
while True:
continue

三元运算

1
变量名 = 布尔表达式成立时执行的代码 if 布尔表达式 else 布尔表达式不成立时执行的代码

终止程序

0:缺省值,正常退出

1
quit(0)
  • exit()quit()的别名
1
exit(0)

缩进留空

  • pass关键字可以将缩进留空,不执行任何代码,直接跳过,并且程序让不报错
1
2
def fn():
pass

获取变量的引用的地址

1
id(变量名)

序列

  • 字符串、列表、元祖,所有有序的可迭代对象都属于序列

序列的下标

  • 通过下标,获取指定索引的元素

<index>:下标(正数或负数)

1
2
arr = []
变量名 = arr[<index>]

切片操作

  • 切片是截取一部分序列的元素的操作
  • Python3中切片得到的序列是一个新序列,操作新序列,原序列不变

<start>:开始截取位置索引(截取时包含开始位置)。省略不写默认从头开始选取
<end>:结束截取位置索引(截取时不包含结束位置)。省略不写默认选取到末尾
<step>:步长(正数或负数),选取间隔。省略不写默认为1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
str = "abc"
a = str[<start>:<end>:<step>]

# 步长为1
a = str[<start>:<end>]

# 从0开始选取
a = str[:<end>]

# 选取到末尾
a = str[<start>:]

# 选取全部
a = str[:]

# 选取倒叙全部
a = str[::-1]

完成

参考文献

哔哩哔哩——Python-清风
哔哩哔哩——千锋教育
哔哩哔哩——骆昊jackfrued