目录
❤ 执行Python程序的两种方式
交互式
命令行式
❤ 执行Python程序的两种IDE
Pycharm
Jupyter
❤ 变量
什么是变量?
变量的组成?
变量名的定义规范
定义变量的两种方式
常量
❤ 注释
单行注释
多行注释
引用计数
垃圾回收机制
小整数池
❤ 花式赋值
链式赋值
交叉赋值
❤ 与用户交互
❤ input
❤ 格式化输出
占位符
format格式化
f-string格式化
❤ 基本运算符
算术运算符
逻辑运算符
比较运算符
赋值运算符
身份运算符
运算符优先级(略)
解压缩
❤ 流程控制
流程控制之if判断
if
if...else
if...elif....elif...else
流程控制之while循环
while
while + break
while + continue
while + else
流程控制之for循环
for
for + break
for + continue
for + else
❤ 异常TODO
❤ 深浅拷贝
拷贝
浅拷贝
深拷贝
❤ 数据类型内置方法
数字类型内置方法
整型
浮点型
字符串类型内置方法
列表类型内置方法
元祖类型内置方法
字典类型内置方法
集合类型内置方法
布尔类型
❤ 数据类型分类
按值个数
按有序无序
按可变不可变
python从小白到总裁完整教程目录:https://blog.csdn.net/weixin_67859959/article/details/129328397?spm=1001.2014.3001.5501
在终端内输入python3,然后输入python代码
在终端内输入python3 文本文件路径
变量一般用来用来描述世间万物变化的状态
变量名 = 变量值
变量名是用来接收变量值的
['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']
- 驼峰体:
NameOfNick
- 下划线:
name_of_nick
(推荐)
常量是约定俗成的一种规范,常量名的定义方式为全大写.实际上可以被修改.
#注释的语句
,#后面的字符不执行语法,即只为普通字符,一般用来解释某一段代码
三单引号/三双引号
变量值的引用次数
x = 257 # 257的引用计数为1
y = x # 257的引用计数为2
del x # 257的引用计数为1
当变量值的引用计数为0的时候,该变量值会被Python自动回收它的内存占用
[-5,256]之间的整数会在Python解释器启动的时候,自动开辟一块内存存入这些整数.也就是说这些整数不会因为引用计数为0而被删除
x = y = z = 10
# 交叉赋值
x = 10
y = 20
x, y = y, x
print(x, y)
# 使用临时变量
x = 10
y = 20
temp = x
x = y
y = temp
print(x, y)
input输入的都是字符串形式
%s接收任意数据类型的数据
%d接收数字类型的数据
name = 'nick'
'nick name is %s'%name
{}接收任意数据类型的数据
name = 'nick'
'nick name is {}'.format(name)
在字符串前面加上f或F,然后使用{}接收任意数据类型的数据
name = 'nick'
f'nick name is {name}'
+ - * / % // **
and or not
> >= < <= == !=
= += -= *= /= //= **= %=
is is not
如果需要某个运算符优先运算,则加个括号
hobby_list = ['read','run','sleep','fishing','piao']
# 如果取第2-3个爱好
_,hobby2,hobby3,*_ = hobby_list
print(hobby2, hobby3)
if 条件:
代码块
if 条件:
代码块
else:
代码块
if 条件:
代码块
elif 条件:
代码块
elif 条件:
代码块
...(可以写任意个elif)
else:
代码块
while 条件:
代码块
while 条件:
代码块
break # 结束本层循环,跳出循环
while 条件:
代码块
if 条件:
代码块
cotinue # 不执行下面代码,然后继续循环,即跳出本次循环
代码块
while 条件:
代码块
else:
print('如果我没有被break,我就会被打印出来')
for i in range/str/list/tuple/dict/set(可迭代对象):
print(i)
for i in range/str/list/tuple/dict/set(可迭代对象):
print(i)
break # 结束本层循环
for i in range/str/list/tuple/dict/set(可迭代对象):
print(i)
if 条件:
continue # 结束本次循环,即不执行下面代码,继续循环
代码块
for i in range/str/list/tuple/dict/set(可迭代对象):
print(i)
else:
print('如果我没有被break,我就会被打印出来')
万能捕捉异常公式
try:
# 逻辑代码
1/0
except Exception as e:
print(e)
default
division by zero
拷贝/浅拷贝/深拷贝都是针对可变类型数据而言的
l1 = ['a','b','c',['d','e','f']]
l2 = l1
l1.append('g')
print(l1) # ['a','b','c',['d','e','f'],'g']
print(l2) # ['a','b','c',['d','e','f'],'g']
如果l2是l1的拷贝对象,则l1内部的任何数据类型的元素变化,则l2内部的元素也会跟着改变,因为可变类型值变id不变
import copy
l1 = ['a','b','c',['d','e','f']]
l2 = copy.copy(l1)
l1.append('g')
print(l1) # ['a','b','c',['d','e','f'],'g']
print(l2) # ['a','b','c',['d','e','f']]
l1[3].append('g')
print(l1) # ['a','b','c',['d','e','f','g'],'g']
print(l2) # ['a','b','c',['d','e','f','g']]
如果l2是l1的浅拷贝对象,则l1内的不可变元素发生了改变,l2不变;如果l1内的可变元素发生了改变,则l2会跟着改变
import copy
l1 = ['a','b','c',['d','e','f']]
l2 = copy.deepcopy(l1)
l1.append('g')
print(l1) # ['a','b','c',['d','e','f'],'g']
print(l2) # ['a','b','c',['d','e','f']]
l1[3].append('g')
print(l1) # ['a','b','c',['d','e','f','g'],'g']
print(l2) # ['a','b','c',['d','e','f']]
如果l2是l1的深拷贝对象,则l1内的不可变元素发生了改变,l2不变;如果l1内的可变元素发生了改变,l2也不会变,即l2永远不会因为l1的变化而变化
age = 18
age = int('18')
+ - * / % // **
salary = 3.2
salary = float('3.2')
+ - * / % // **
name = 'nick'
name = "nick"
name = '''
nick
nick
'''
name = """
nick
nick
"""
name = "'nick'"
name = '"nick"'
方法
索引取值
切片
长度
切分split
除两边空白strip
成员运算in&emsp;not in
for循环
lstrip/rstrip:左/右除空白
rsplit:从右开始切割
upper/lower:大写/小写
startstwith/endswith:以某开头/以某结尾
join:连接列表为字符串
replace:替换字符
isdigit:判断是否为数字
find/rfind/index/rindex/count:查找/从右开始查找/索引结果/从右开始索引结果/计数
center/ljust/rjust/zfill:居中填充/居左填充/居右填充/填充0
expantabs:扩展tab键
capitalize/swapcase/title:大写/大小写转换/首字母大写
is系列:略
friends_list = ['longzeluola','canglaoshi','qiaobenai','nick']
lis = list('abcd')
方法:
索引取值(即可取又可改)
切片
长度
append
成员运算
for循环
count:元素个数计数
remove:移除元素
reverse:反转列表
pop:删除元素
insert:插入元素
sort:列表排序
index:索引元素
del:删除元素
extend:扩展列表
clear:清除列表
friends_tuple = ('longzeluola','canglaoshi','qiaobenai','nick')
tup = tuple('abcd')
方法
索引取值(无法更改)
切片
长度
成员运算
for循环
count:元素个数计数
index:元素位置索引
nick_info_dict = {
'name':'nick',
'height':180,
'weight':140,
'hobby_list':['read','run','music','fishing','programming','coding','debugging']
}
for k,v in nick_info_dict.items():
print(k,v)
方法
按键取值
长度
keys/values/items
for循环
成员运算
pop:删除元素
fromkeys:由一个列表生成一个字典,默认值为None
setdefault:有指定key不会改变值;无指定key则改变值
get:通过key获取value,无key默认获取None
update:扩展字典
del:删除字典键值对
s = set()
s = {1,2,3,4,5,1}
方法:
去重
并集 |
交集 &
差集 -
对称差集 ^
父集 >&emsp;>=
子集 <&emsp;<===
add:添加元素
difference_update:更新该集合没有的元素
isdisjoint:如果两个元素交集为空返回True,否则返回False
remove:移除元素 # 值不存在会报错
discard :移除元素 # 不会报错
一个值 | 多个值 |
---|---|
整型/浮点型/字符串 | 列表/元祖/字典/集合/ |
有序 | 无序 |
---|---|
字符串/列表/元祖 | 字典/集合 |
可变 | 不可变 |
---|---|
列表/字典/集合 | 整型/浮点型/字符串 |