-
第一章
print():打印输出内容
“,” 可以隔离打印的内容print(“xxxx”,67,money,”xxxx”),以空格隔开
输出会自动换行,不需要的话,设置end=‘’ 例如print(“Helllo”,end=‘’)
\t可以对齐
type():查看数据类型
变量无类型,数据有类型
强制类型转换
int(x)、float(x)、str(x)
任何类型都可以通过str转换成字符串
标识符:给方法、变量、类起的名字
只允许出现英文、数字、下划线
大小写敏感
不可使用关键字
运算符
“//” 取整除
“**” 指数,比如a**b=ab
字符串的定义
单引号,双引号,三引号“”“xxx”“”支持换行的操作
字符串中包含双引号、单引号,使用转义符号\
字符串的拼接
使用“+”,但是无法和其他数据类型进行拼接
字符串的格式化1
a=70,b=20.6; message=“我的答案是%s和%s”%(a,b)
%s %d %f
数字精度的控制m.n
m指的是小数点前的位数,n指的是小数点后的位数
对于11来说 使用%5d输出,会得到(空格空格空格11)
使用%1d输出,会得到11
字符串的格式化2
a=70,b=20.6; message=f“我的答案是{a}和{b}”
不能控制精度
input()
input(“可以写提示词”)
不管输入的是什么,获取输入的类型都是string
-
第二章
布尔类型 :True、False
if 条件:
if 条件: else:
if 条件: elif 条件: else:
循环 while 条件:
循环 for 临时变量 in 待处理数据集(序列类型):
循环处理字符串 for x in str:
序列类型:字符串、列表、元祖
range(num):0~num-1
range(num1,nums2):num1~num2-1
range(num1,num2,step) 例子:range(5,10,2) ➡️ [5,7,9]
continue、break
-
第三章
函数
def 函数名(传入参数):\n 函数体\n return返回值
None
-
第四章
数据容器
列表(list)、元组(tuple)、字符串(str)、集合(set)、字典(dict)
列表(list):
特点
可以存储不同的数据类型,支持嵌入列表
有序存储
数据可以重复
可以修改
定义 :1️⃣ [元素1、元素2…] 2️⃣ list() 3️⃣ []
下标:列表.index(元素)
插入元素
列表.insert(下标,元素):在指定的下标位置,插入指定的元素
该位置及其后续的位置都往后平移一个
追加1个元素
列表.append(元素):将指定元素追加到列表的尾部
追加1批元素
列表.extend (其他数据容器):将其他数据容器追加到列表的尾部
删除指定下标的元素
del列表[下标]
变量=列表.pop(下标)
删除指定数值的元素:删除元素在列表中的第一个匹配项
列表.remove(元素)
清空列表内容:列表.clear()
统计某元素在列表内的数量:列表.count(元素)
列表的长度:只看最外层
len(列表)
元组(tuple):
特点:
可以存储不同的数据类型,支持嵌入元组;
有序存储;
数据可以重复;
不可以修改!(如果元组中嵌套了list,list是可以修改的)
定义: 1️⃣(元素1、元素2…)2️⃣tuple() 3️⃣() (“hello”,):必须要写逗号
字符串(str):无法修改
必须要修改,只能得到新的字符串
字符串的替换:将字符串内的全部“字符串1”替换成为“字符串2”
新的字符串=字符串.replace(字符串1,字符串2)
字符串的分割:按照指定的分隔符字符串,将字符串划分为多个字符串,并存入列表对象中
列表对象=字符串.split(分隔符字符串)
字符串的规整操作:
列表对象=字符串.strip():去前后空格
列表对象=字符串.strip(字符串):去前后指定字符串(去除字符串中所有出现的字符,按照字符的维度去除)
序列切片:从一个序列中取出一个子序列
序列[起始下标:结束下标:步长];起始下标~结束下标-1;
步长为负表示从尾向前取; s[3:1:-1]->“32”; s[1:3:-1]->“”
从1开始走,已经<=3了,所以为空
集合:{} 无序,无重复元素
定义:1️⃣ {元素1、元素2…} 2️⃣set() 3️⃣{}
特点:
集合不支持下标索引访问
集合和列表一样,是允许修改的
集合.add(元素):将指定元素添加到集合内
element = 集合.pop() :从集合中随机取出一个元素,同时集合本身被修改,元素被移除
集合.clear():清空集合
新集合=集合1.difference(集合2):取出集合1和集合2的差集(集合1有而集合2没有的)
集合1.difference_update(集合2):删除集合1内和集合2相同的元素,集合1被修改,集合2不变
新集合=集合1.union(集合2):将集合1和集合2组合成新集合
len(集合)
for x in 集合:
字典(Key-Value)
定义:1️⃣{key1:value1,key2:value2} 2️⃣{} 3️⃣dict()
value=字典[key],key不可以是字典,value可以是字典、列表...
字典[key]=value
element=字典.pop(key)
字典.clear()
dict_keys[]=字典.keys():获取字典中的全部Key,可以用来遍历字典
直接遍历字典获取的是字典的key
len(字典):获取字典中的元素个数
数据容器的通用操作:
遍历
len()、min()、max() 其中dict比较的是key
类型转换:list(容器)、str(容器):输出啥样,转换成啥样、tuple(容器)、set(容器)
排序:列表对象=sorted(容器,reverse=True):默认从小到大排序,如果要反过来,加上reverse=True
-
第五章
函数多返回值
return 1,2
x,y=function() _,y=function()
函数传参
def function(name,age,gender):略
位置参数:function("Tom",20,{"female")传递的参数和定义的参数顺序及个数必须一致
关键字参数:function(age=20,name=“Tom”,gender=“female”)
注意:函数调用时,如果有位置参数时,位置参数必须在关键字参数的前面,但关键词参数之间不存在先后顺序
混用:例如:function("Tom",gender="female",age=20)
缺省参数:def function(name,age,gender="female") 默认值必须设置在最后
function("Tom",20)
可变参数(不定长参数):不确定调用的时候会传多少个参数
1️⃣位置传递 :def function(*args) 其中args 是元组类型
function("Tom",18) function("Tom")
2️⃣关键字传递 :def function(**kwargs) 其中kwargs是字典类型
function(name="Tom",age=20) function(name="Tom")
-
第六章
类的定义和使用
class 类名称:
类的属性(成员变量)
类的方法(成员方法)
def 方法名(self,形参1,...,形参N):
方法体
创建类对象的语法:
对象=类名称()
类和对象
设计类,基于类创建对象,并使用对象来完成具体的工作
构造方法:向成员变量赋值
__init__():构造方法
在创建类对象时,会自动执行
在创建类对象时,将传入参数自动传递给__init__方法使用
其中class下面的name、age、tel是可以不写的,相当于在__init__中定义并赋值
内置方法:
1️⃣__init__:构造方法 2️⃣__str__:字符串方法 3️⃣__it__:小于、大于符号比较 4️⃣ __le__: 小于等于大于等于符号比较 5️⃣__eq__:等于比较
__str__:控制类转化为字符串的行为
原来返回的是类对象的内存地址
__it__:小于符号比较,定义好小于以后大于也可以比较
封装
私有成员:私有方法和属性使用__
私有方法无法直接被类对象使用
在类中提供仅供内部使用的属性和方法,而不对外开放
继承:
class 类名(父类)
类内容体
多继承:
class 类名(父类1,父类2,...,父类N)
类内容体
(pass)替代啥也不写
⚠️:对于同名的属性或方法,先继承的优先级高于后继承
复写和使用父类成员:
复写:在子类中重新定义父类中同名的属性或方法
一旦复写父类成员,那么类对象调用成员的时候,就会调用复写后的新成员
如果需要使用被复写的父类成员,需要特殊的调用方式
调用父类成员
方法1:
使用成员变量:父类名.成员变量
使用成员方法:父类名.成员方法(self)
方法2:
使用super()调用父类成员
使用成员变量:super.成员变量()
使用成员方法:super.成员方法()
类型注解: 只是提示的,不是决定
在代码中涉及数据交互的地方,提供数据类型的注解
变量的类型注解
第一种方法 变量:类型
var_1 : int=10
my_list : list=[1,2,3]
my_tuple : tuple[str,int,bool]=("inrhsdd",54,True)
stu : Student=student()
第二种方法 在注释中,# type:类型
var_1 = 10 # type:int
var_2 = json.loads('{"name":"zhangsan"}') # type:dict[str,str]
函数(方法)形参列表和返回值的类型注解
def 函数方法名(形参名:类型,形参名:类型,...)
def add(x:int,y:int):
return x+y
def 函数方法名(形参名:类型,形参名:类型,...)->返回值类型 :
def add(x:int,y:int)->int:
return x+y
多态: 多种状态,即完成某个行为时,使用不同的对象会得到不同的状态
抽象类:包含抽象方法的类
抽象方法:没有具体实现的方法(pass)称为抽象方法
-
第七章 PySpark
-
第八章
闭包
让内部函数可以依赖外部变量
使用nonlocal关键字修改外部函数的值
装饰器
在不破坏目标函数原有的代码和功能的前提下,为目标函数增加新功能
















26万+

被折叠的 条评论
为什么被折叠?



