Python with 工作原理、装饰器、回收机制、内存管理机制、拷贝、作用域等

01、基础语法的介绍
编程语言分为三种类型:编译型(C、C++、GO)、解释型(、)、混合型(Java、C#)
Java虚拟机运行脚本:
是运行在Java平台上的解释器 , 可以直接把代码编译成Java字节码执行 。
编码介绍:ASCII:8bit 1字节  , GBK:16bit 2字节  ,  :32bit 4字节
UTF-8:可变长度的 英文:8bit 欧洲:16bit 汉字:24bit
在中有时候能看到定义一个def函数 , 函数内容部分填写为pass , 这里的pass主要作用就是占据位置 , 让代码整体完整 。如果定义一个函数里面为空 , 那么就会报错 , 当你还没想清楚函数内部内容 , 就可以用pass来进行填坑 。
中的基本数据类型:- (数字类型)- (字符串类型)- Tuple(元组类型)- List(列表类型)- Set(集合类型)- (字典类型)- Bool(布尔类型)
tuple’does notitem元组对象不支持项目分配
中不可变数据类型和可变数据类型
不可变数据类型: 当该数据类型的对应变量的值发生了改变 , 那么它对应的内存地址也会发生改变 , 对于这种数据类型 , 就称不可变数据类型 。
可变数据类型 :当该数据类型的对应变量的值发生了改变 , 那么它对应的内存地址不发生改变 , 对于这种数据类型 , 就称可变数据类型 。
总结:不可变数据类型更改后地址发生改变 , 可变数据类型更改地址不发生改变
id()返回对象的唯一身份标识 , 在中即是对象在内存中的地址 , 具有非重叠生命周期的两个对象可能有相同的id 。
is判断两个对象是不是同一个对象 , 逻辑是判断同一时刻这两个对象的id是否相同 。
查看函数的参考文档:函数名称.
def showName(value):""":param value: 传入值:return: 结果"""print("show myname")print(showName.__doc__)# 返回showName函数的介绍文档print(str.__doc__) # 返回str函数的介绍文档
赋值运算符介绍:增量赋值、链式赋值、解压赋值、交换赋值
# 增量赋值:a += 1# 链式赋值:a = b = c = 1# 解压赋值:list = [1, 2, 3, 4, 5]num1, num2, *num = list# 交换赋值:a = 1b = 2a, b = b, a
成员运算符、身份运算符的介绍:
in : 如果在指定的序列中找到值返回True ,  否则返回False;not in : 如果在指定的序列中没有找到值返回True , 否则返回False
# 成员运算符print("wrist" in "my name is wrist")# Trueprint("唤醒手腕" not in "my name is wrist")# False# 身份运算符list1 = [1, 2, 3]list2 = [1, 2, 3]list3 = list1print(list1 is list2) # Falseprint(list1 is list3) # True
if 判断:if - elif - else
进制的转换:int() 十进制、 oct() 八进制、 hex() 十六进制、 bin() 二进制
字符串的相关操作:字符串切片、字符串切分、字符串去空格
string = "wrist waking hello world"string.split(" ")# ['wrist', 'waking', 'hello', 'world']string.split(" ", 2)# ['wrist', 'waking', 'hello world'] 2是切换次数string[0:5:2]# wit 前闭后开 , 顾头不顾尾 , 2是步长string.strip()# 去掉前后的空格# 左空格 string.lstrip() 右空格 string.rstrip()string = " wrist waking hello world "string.split(" ")# ['', 'wrist', 'waking', 'hello', 'world', '']# string2.rsplit 从右往左切string = "wrist waking hello world"string.startswith("wrist")# Truestring.endswith("world")# Truelist = ["wrist", "waking", "I", "love", "you"]" ".join(list)# wrist waking I love you 只能是字符串数组".".join(list)# wrist.waking.I.love.you 只能是字符串数组"12345".isdigit()# True 判断是否是纯数字"12.345".isdigit()# False 判断是否是纯数字