Python学习笔记

1、注释

        单行:# (注:在使用时和后面文字隔一个空格,以便规范)

        多行:""" *****   """

2、变量

        变量名 = 变量值

3、数据类型

        使用type()查看数据类型

4、常见的语句转化

        int(x)、float(x)、str(x)

5、字符串的格式化

        %s:%是占位,s将变量变成字符串放入占位地方

        %d:d是整数

        %f:f是浮点数

        快速写法,在输出语句前加上f,如:f"输出语句"

6、数据输入

        使用input函数

7、在输出时,使用end = " "来保证不换行

8、for轮询

        for 临时变量 in 待处理数据集:

                处理代码

        range语句:

                range(num)获取一个从0开始,到num结束的数字序列,不含num本身

                range(num1,num2)获取一个从num1开始,到num2结束的数字序列,不含num2本身

                range(num1,num2,step)获取一个从num1开始,到num2结束的数字序列,不含num2本身,step是步长

9、函数

        函数定义:

                def 函数名(传入参数):

                        函数体

                        return 返回值

        None:无返回值函数实际是返回了none的字面量,表示空的

10、使用global来在函数体中修改全局变量

11、5类数据容器

        列表(list):[元素1,元素2,元素3]

                定义空列表:变量名称 = [ ] 或 变量名称 = list()

        元组(tuple):与列表相似,但不可修改;(元素1,元素2,元素3)

                定义空元组:变量名称 = ()或 变量名称 = tuple()

                注意:元组只有一个数据,元素后必须带一个逗号

        字符串(str)

        集合(set):{元素,元素,元素}

                定义空集合:变量名称 = set()

        字典(dict):{key:value,key:value,......,key:value}

                定义空字典:变量名称 = {} 或 变量名称 = dict()

12、列表的方法

        列表.index(元素):获取元素的下标

        列表.insert(下标,插入元素):在指定下表位置插入值

        列表.append (元素):将指定元素主追加到列表的尾部

        列表.extend(其他数据容器):将其他容器的内容取出,依次追加到列表尾部

        删除元素:del 列表[下标] :无返回值

                          列表.pop(下标):有返回值

        列表.remove(元素):删除某元素在列表中的第一个匹配项

        列表.clear():清空列表内容

        列表.count(元素):统计某元素在列表内的数量

        len(列表):统计列表内有多少元素

13、元组的方法

        

14、字符串的方法

        字符串.replace(字符串1,字符串2):将字符串内的字符串1替换为字符串2

        字符串.split(分隔符字符串):将字符串划分为多个字符串,并存入列表对象中

        字符串.strip():字符串的规整操作(去前后空格)

        字符串.strip(字符串):字符串的规整操作(去前后指定字符串)

15、序列

        内容连续、有序、可使用下标索引的一类数据容器。

        列表、元组、字符串均可视为序列

        序列的切片:

                语法:序列[起始下标:结束下标:步长]

16、集合的方法

        

17、字典的方法

        

18、数据容器的总结

        

 19、数据容器通用方法

        

20、函数进阶

        ·可以同时返回多个返回值

        ·传参方式

                位置参数

                关键字参数

                缺省参数:可以设置默认值

                不定长参数:

                        位置:*变量参数名   元组接收

                        关键字:**变量参数名   字典接收

        函数可做为参数传递

21、lambda匿名函数

        语法:lambda 传入参数:函数体(一行代码)

22、文件操作

        文件的读取操作:

        

        文件的写入操作:w模式

                write():写入内容

                flush():刷新内容到硬盘中

        文件的追加操作:a模式

                方法与写入一致

23、捕获异常

        语法:

                try:

                        可能发生错误的代码

                except:

                        如果出现异常执行的代码

        捕获指定异常语法:

               try:

                        可能发生错误的代码

                except 异常类型 as 变量名:

                        如果出现异常执行的代码

        捕获多个异常:

                try:

                        可能发生错误的代码

                except (异常类型1,异常类型2)as 变量名:

                        如果出现异常执行的代码

        捕获所有异常:

                try:

                        可能发生错误的代码

                except  Exception as 变量名:

                        如果出现异常执行的代码

         在后面加上else表明没有异常时执行的代码

        在后面加上finally表明无论异常必须执行的代码

24、异常的传递性,类似java中的往上抛出异常

25、模块

        模块的导入:

                语法:[from 模块名] import [模块|类|变量|函数|*] [as 别名]

        自定义模块:

                定义一个python文件,常见函数即可

        __main__变量提供的功能在该模块内部才能运行,一般为__name__ == __main__

        __all__变量表明只提供__all__变量中提供的函数或变量

26、包

        实质上是文件夹,包含__init__.py的文件

        安装第三方包:

                pip install 包名称

                pip install -i 国内镜像网址 包名称

27、python数据和json数据的相互转化

        导入json模块,使用dumps方法转化为json数据,使用loads方法转化为python数据

28、列表的sort方法

        使用方法:

                列表.sort(key=选择排序依据的函数,reverse=True|False)

29、类

        定义:

                class 类名称:

                        类属性

                        类行为

                创建对象语法:对象 = 类名称()

        定义成员方法:

                def 方法名(self,形参1,形参2,......,形参N):

                        方法体

30、类的构造方法

        __init__方法

31、类的内置方法

        __str__:控制类转化为字符串的行为

        __it__:小于或大于符号的比较方法

        __ie__:小于等于或大于等于符号的比较方法

        __eq__:比较运算符实现方法

32、私有成员变量和私有成员方法

        变量名或方法名使用__开头

33、类的继承

        语法:

                单继承:

                class 类名(父类名):

                        类内容名

                多继承:

                class 类名(父类名1,父类名2,父类名3,......):

                        类内容名

        pass关键字:占位,保证完整性

34、在被复写状态下,父类的调用

        父类名.方法或属性

        super().方法或属性

35、类型注解

        变量设置类型注解:

                语法:

                        变量:类型

        类型注解语法:

                #type:类型

        函数形参注解:

                注解语法:

                        def 函数方法名(形参名:类型,形参名:类型,......):

                                pass

        返回值类型注解:

                def 函数方法名(形参名:类型,形参名:类型,......)-> 返回值类型

                                pass

        Union类型:

                导入包 from typing import Union

                使用Union[类型,......,类型]定义联合类型注解

36、创建MySql的数据库连接

        

37、pyspark库的使用

        

        数据输入:

                输入完成后得到一个RDD类对象。RDD全称是弹性分布式数据集

                通过parallelize成员方法将数据容器对象转化为RDD对象,查看RDD里面有什么需要使用collect(),也可以通过textFile来讲文件转化为RDD对象

        数据计算:

                map方法:将RDD的数据一条条处理,返回新的RDD,方法参数是一个处理函数,且该函数必须带参数

                flatMap方法:和map相比,执行了解除嵌套的功能

                reduceByKey方法:针对KV型的RDD,根据聚合逻辑,完成组内数据的聚合操作

                filter方法:过滤想要的数据进行保留

                distinct方法:对RDD的数据进行去重操作,无需传递参数

                sortBy方法:对RDD的数据进行排序,基于你指定的排序依据

                        语法:

                                rdd.sortBy(func,ascending=False,numPartitions=1)

        数据输出:

                reduce:对RDD数据集按照你传入的逻辑进行聚合,传入带参函数

                take:取RDD的前N个元素,组合成list返回,传入数字参数

                count:计算RDD有多少条数据,返回值是一个数字

                输出到文件中:

                        saveAsTextFile:将RDD的数据写入文件中

                                (注:需要配置Hadoop依赖)

                        修改RDD分区:SparkConf对象设置conf.set(“spark.default.parallelism”,"1")

38、闭包

        简单闭包

                

        需要使用nonlocal关键字修饰外部函数的变量才可以在内部函数中修改它

39、装饰器

        实质上是一种闭包,将函数作为参数对其进行功能增强

        装饰器的语法糖,在需要增强的方法上使用注解@outer,可直接使用该方法名调用

40、设计模式

        单例模式

        工厂模式

41、多线程

        使用threading模块完成多线程编程

        

42、网络编程

        服务端编程步骤:

                

                

        客户端网络编程:

                

                

43、正则表达式

        使用re模块

        三个基础方法:match、search、findall

                re.match(匹配规则,被匹配字符串):开头匹配

                re.search(匹配规则,被匹配字符串):从开头开始找到第一个

                re.findall(匹配规则,被匹配字符串):匹配整个字符串,找出全部匹配项

        

        注:在前面带上r表明转义字符无效

        

        

44、os模块的3个方法

        

 

 

        

 

 

        

                

                

 

 

        

 

                        

                

                

                

                

                

                

 

 

        

        

        

        

        

                

                

                

        

        

       

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值