Python编程入门与提高.docx

上传人:b****5 文档编号:8636599 上传时间:2023-02-01 格式:DOCX 页数:12 大小:22.40KB
下载 相关 举报
Python编程入门与提高.docx_第1页
第1页 / 共12页
Python编程入门与提高.docx_第2页
第2页 / 共12页
Python编程入门与提高.docx_第3页
第3页 / 共12页
Python编程入门与提高.docx_第4页
第4页 / 共12页
Python编程入门与提高.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

Python编程入门与提高.docx

《Python编程入门与提高.docx》由会员分享,可在线阅读,更多相关《Python编程入门与提高.docx(12页珍藏版)》请在冰豆网上搜索。

Python编程入门与提高.docx

Python编程入门与提高

Python入门与提高

一、Python:

Python是一种跨平台的、开源的、免费的、解释型的高级编辑语音。

它具有丰富和强大的库,能够把用其他语言制作额各种模块很轻松地联结在一起,所以Python常被称为“胶水”语言。

优点:

学习成本低、开源、适应人群广泛、应用领域广泛。

二、注释:

单行:

#注释内容,快捷方式ctr+/

多行注释:

‘’‘’‘’注释内容‘’‘’‘’或’’’注释内容’’’

三、变量

1、标识符

由数字、字母、下划线组成

不能数字开头

不能使用内置关键字

严格区分大小写

2、命名习惯

见名知义

大驼峰:

即每个单词首字母都大写

小驼峰:

第二个(含)以后的单词首字母大写

下划线

四、输出

1、格式化符号

%s:

格式化输出字符串

%d:

格式化输出整数

%f:

格式化输出浮点数

%06d,表示输出的整数显示位数,不足以0补全,超出当前位数则原样输出

%.2f,表示小数点后显示的小数位数。

2、f-字符串

f’{表达式}’

3、print(‘内容’,end=‘“”)结束符

五、输入

一般将input接收的数据存储到变量

input接收的任何数据默认都是字符串数据

六、数据转换类型

int(x,[,base])将x转换为整数

float(x)将x转换为浮点数

complex(real[,imag])创建一个复数,real为实部,imag为虚部

str(x)将x转换为字符串

repr(x)将x转换为表达式字符串

eval(str)用来计算在字符串中的有效Python表达式,并返回一个对象

tuple(s)将s转换为一个元组

list(s)将s转换为一个列表

chr(x)将一个整数转换为一个Unicode字符

ord(x)将一个整数转换为它的ASCII整数值

hex(x)将一个整数转换为一个十六进制字符串

oct(x)将一个整数转换为一个八进制字符串

bin(x)将一个整数转换为一个二进制字符串

七、字符串

1、字符串查找语法

字符串序列.find(子串,开始位置下标,结束位置下标),检测某个子串是否包含在这个字符串中,如果在返回这个子串开始的位置下标,否则返回-1。

注意:

开始和结束位置下标可以省略,表示在整个字符串序列中查找。

字符串序列.index(子串,开始位置下标,结束位置下标),检测某个子串是否包含在这个字符串中,如果在返回这个子串开始的位置下标,否则报异常。

注意:

开始和结束位置下标可以省略,表示在整个字符串序列中查找。

rfind():

和find()功能相同,但查找方向为右侧开始。

rindex():

和index()功能相同,但查找方向为右侧开始。

字符串序列.find(子串,开始位置下标,结束位置下标),返回某个子串在字符串中出现的次数。

注意:

开始和结束位置下标可以省略,表示在整个字符串序列中查找。

2、字符串修改语法

字符串序列.replace(旧子串,新子串,替换次数),替换。

注意:

替换次数如果超出子串出现次数,则替换次数为该子串出现次数。

字符串序列.split(分割字符,num),按照指定字符分割字符串。

注意:

num表示的是分割字符出现的次数,即将来返回数据个数为num+1。

字符或子串.join(多字符串组成的序列),用一个字符或子串合并字符串,即是将多个字符串合并为一个新的字符串。

capitailize(),将字符串第一个字符转换成大写。

注意:

capitalize()函数转换后,只字符第一个字符大写,其他的字符全部小写。

title(),将字符串每个单词首字母转换成大写。

lower(),将字符串中大写转小写。

upper(),将字符串中小写转大写。

Istrip(),删除字符串左侧空白字符。

rstrip(),删除字符串右侧空白字符。

strip(),删除字符串两侧空白字符。

字符串序列.ljust(长度,填充字符),返回一个原字符串左对齐,并使用指定字符(默认空格)填充至对应长度的新字符串。

字符串序列.rjust(长度,填充字符),返回一个原字符串左对齐,并使用指定字符(默认空格)填充至对应长度的新字符串。

字符串序列.center(长度,填充字符),返回一个原字符串左对齐,并使用指定字符(默认空格)填充至对应长度的新字符串。

3、字符串判断语法

字符串序列.startswith(子串,开始位置下标,结束位置下标),检查字符串是否以指定子串开头,是则返回True,否则返回False。

如果设置开始和结束位置下标,则在指定范围内检查。

字符串序列.endswith(子串,开始位置下标,结束位置下标),检查字符串是否以指定子串开头,是则返回True,否则返回False。

如果设置开始和结束位置下标,则在指定范围内检查。

isalpha(),如果字符串至少有一个字符并且所有字符都是字母则返回True,否则返回False。

isdigit(),如果字符串中只包含数字则返回True,否则返回False。

isalnum(),如果字符串至少有一个字符并且所有字符都是字母或数字则返回True,否则返回False。

isspace(),如果字符串中只包含空白,则返回True,否则返回False。

八、列表

1、列表查找函数

len(),访问列表长度,即列表中数据的个数。

index(),返回指定数据所在位置下标,如果查找的数据不存在则报错。

count(),统计指定数据在当前列表中出现的次数。

2、判断是否存在

in:

判断指定数据在某个列表序列,如果在返回True,否则返回False。

notin:

判断指定数据不在某个列表序列,如果在返回True,否则返回False。

3、增加

列表序列.append(数据),列表结尾追加数据。

如果追加的数据是一个序列,则追加整个序列到列表。

列表序列.extend(数据),列表结尾追加数据,如果数据是一个序列,则将这个序列的数据逐一添加到列表。

列表序列.insert(位置下标,数据),指定位置新增数据。

4、删除

del目标

列表序列.pop(下标),删除指定下标的数据(默认为最后一个),并返回改数据。

列表序列.remove(数据),移除列表中某个数据的第一个匹配项。

Clear(),清空列表

5、列表修改

reverse(),逆置

列表序列.sort(key=None,reverse=False),排序。

revese表示排序规则,revese=True降序,revese=False升序(默认)。

copy()复制。

九、元组

一个元组可以存储多个数据,元组内的数据是不能修改的。

元组使用小括号,且逗号隔开各个数据,数据可以是不同类型的数据类型。

如果定义的元组只有一个数据,那么这个数据后面也需添加逗号,否则数据类型为唯一的这个数据的数据类型。

元组内的直接数据如果修改则立即报错,但是如果元组里有列表,修改列表里面的数据则是支持的,故很重要。

十、字典查找

Key,如果当前查找的key存在,则返回对应的值,否则报错。

字典序列.get(key,默认值),如果当前查找的key不存在则返回第二个参数(默认值),如果省略第二个参数,则返回None。

Keys()

values()

items()

十一、集合

有数据集合S1={数据1,数据2,…}

无数据集合S1=set()

创建集合使用{}或set(),但如果要创建空集合只能使用set(),因为{}用来创建空字典。

add(),因为集合有去重功能,所以当向集合追加的数据是当前集合已有数据的话,则不进行任何操作。

update(),追加的数据是序列。

remove(),删除集合中的指定数据,如果数据不存在则报错。

discard(),删除集合中的指定数据,如果数据不存在也不会报错。

pop(),随机删除集合中的某个数据,并返回这个数据。

十二、运算符

+合并,支持字符串、列表、元组

*复制,支持字符串、列表、元组

in元素是否存在,支持字符串、列表、元组、字典

notin元素是否不存在,支持字符串、列表、元组、字典

range(start,end,step),生成从start到end的数字,步长为step,供for循环使用,range()生成的序列不包含end数字。

enumerate(可遍历对象,start=0),函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标一般用在for循环当中。

注意:

start参数用来设置遍历数据的下标的起始值,默认为0。

十三、容器类型转换

tuple(),将某个序列转换成元组。

list(),将某个序列转换成列表。

set(),将某个序列转换成集合,集合可以快速完成列表去重,集合不支持下标。

十四、推导式

列表推导式:

用一个表达式创建一个有规律的列表或控制一个有规律列表。

又叫列表生成式。

十五、函数

函数就是将一段具有独立功能的代码块整合到一个整体并命名,在需要的位置调用这个名称即可完成对应的需求。

函数必须先定义后使用。

定义函数

def函数名(参数)

“””说明文档”””

代码1

……

Global定义全局变量

1、函数的参数

位置参数:

调用函数时根据函数定义的参数位置来传递参数。

注意:

传递和定义参数的顺序及个数必须一致。

关键字参数:

函数调用,通过“键=值”形式加以指定。

可以让函数更加清晰、容易使用,同时也清楚了参数的顺序需求。

注意:

函数调用时,如果有位置参数时,位置参数必须在关键字参数的前面,但关键字参数之间不存在先后顺序。

缺省参数:

缺省参数也叫默认参数,用于定义函数,为参数提供默认值,调用函数时可不传该默认参数的值(注意:

所有位置参数必须出现在默认参数前,包括函数定义和调用)。

注意:

函数调用时,如果为缺省参数传递值则修改默认参数值;否则使用这个默认值。

不定长参数:

也叫可变参数。

用于不确定调用的时候会传递多少个参数(不传参也可以)的场景。

此时,可用包裹位置参数,或者包裹关键字参数,来进行参数传递,会显得非常方便。

包裹位置传递*args;包裹关键字传递**kwargs

2、拆包和交换变量值

拆包元组数据

拆包字典数据,对字典进行拆包,取出来的是字典的key。

交换变量,a,b=b,a

3、引用

在python中,值是靠引用来传递的。

我们可以用id()来判断两个变量是否为同一个值的引用。

我们可以将id值理解为那块内存的地址标识。

4、可变和不可变类型

所谓可变类型和不可变类型是指:

数据能够直接进行修改,如果能直接修改那么就是可变,否则是不可变。

可变类型:

列表、字典、集合

不可变类型:

整形、浮点型、字符串、元组

十六、递归

递归的特点:

函数内部自己调用自己;必须有出口。

十七、lambda表达式

如果一个函数有一个返回值,并且只有一句代码,可以使用lambda简化。

lambda参数列表:

表达式,

注意:

lambda表达式的参数可有可无,函数的参数在lambda表达式中完全适用。

Lambda表达式能接收任何数量的参数但只能返回一个表达式的值。

无参数

一个参数

默认参数

可变参数:

*args,这里的可变参数传入到lambda,返回值为元组。

可变参数:

**kwargs

Fn1=lambdaa,b:

aifa>belseb

十八、高阶函数

把函数作为参数传入,这样的函数称为高阶函数。

abs()完成对数字求绝对值计算

round()完成对数字的四舍五入计算

map(func,lst),将传入的函数变量func作用到lst变量的每个元素中,并将结果组成新的列表(Python2)/迭代器(Python3)返回。

导入模块importfunctools调用functools.redunce

reduce(func(x,y),lst),其中fuc必须有两个参数。

每次func计算的结果继续和序列的下一个元素做累积计算。

Filter(func,lst)函数用于过滤序列,过滤掉不符合条件的元素,返回一个filter对象。

如果转换为列表,可以使用list()来转换。

十九、文件的操作

open(name,mode),可以打开一个已经存在的文件,或者创建一个新文件。

name是要打开的目标文件名的字符串(可以包含文件所在的具体路径)。

mode设置打开文件的模式:

只读、写入、追加等。

w:

写,文件不存在则新建改文件;r:

读,文件不存在则报错;a:

追加

f=open(‘test.txt’,’w’),f是open函数的文件对象。

对象文件.write(‘内容’),写入

对象文件.read(num),num表示要从文件中读取的数据的长度(单位是字节),如何没有传入num,那么就表示读取文件中所有的数据。

readlines(),可以按照行的方式把整个文件中的内容进行一次性读取,并且返回的是一个列表,其中每一行的数据为一个元素。

readline(),一次读取一行内容。

seek():

用来移动文件指针。

语法:

文件对象.seek(偏移量,起始位置)

起始位置:

0文件开头;1当前位置;2文件

os.rename(目标文件名,新文件名)文件重命名

os.remove(目标文件名)删除文件

os.mkdir(文件夹名字)创建文件夹

os.rmdir(文件夹名字)删除文件夹

os.getcwd()获取当前目录

os.chdir(目录)改变默认目录

os.listdir(目录)获取目录列表

魔法方法

__init__():

初始化

__str__():

输出对象信息

__del__():

删除对象时调用

二十、面向对象

1、面向对象三大特性;

(1)封装

将属性和方法书写到类的里面的操作即为封装

封装可以为属性和方法添加私有权限

(2)继承

子类默认继承父类的所有属性和方法

子类可以重写父类属性和方法

(3)多态

传入不通的对象,产生不通的结果

2、多态

多态指的是一类事物有多种形态,(一个抽象类有多个子类,因而多态的概念依赖于继承)。

(1)定义:

多态是一种使用对象的方式,子类重写父类方法,调用不同子类对象的相同父类方法,可以产生不同的执行结果。

(2)好处:

调用灵活,有了多态,更容易编写出通用的代码,做出通用的编程,以适应需求的不断变化。

(3)实现步骤:

定义父类,并提供公共方法

定义子类,并重写父类方法

传递子类对象给调用者,可以看到不同子类执行效果不同

3、类属性和实例属性

(1)、设置和访问类属性

类属性就是类对象所拥有的的属性,它被该类的所有实例对象所共有。

类属性可以使用类对象或实例对象访问

优点:

记录的某项数据始终保持一致时,则定义类属性。

实例属性要求每个对象为其单独开辟一份内存空间来记录数据,而类属性为全类所共有,仅占用一份内存,更加节省内存空间。

(2)、修改类属性

类属性只能通过类对象修改,不能通过实例对象修改,如果通过实例对象修改类属性,表示的是创建了一个实例属性。

4、类方法和静态方法

(1)、类方法特点

需要用装饰器@classmethod来标识其为类方法,对于类方法,第一个参数必须是类对象,一般以cls作为第一个参数

(2)、类方法使用场景

当方法中需要使用类对象(如访问私有类属性等)时,定义类方法

类方法一般和类属性配合使用

(3)、静态方法特点:

需要通过装饰器@staticmethod来进行装饰,静态方法既不需要传递类对象也不需要传递实例对象(形参没有self/cls)。

静态方法也能够通过实例对象和类对象去访问。

(4)、静态方法使用场景

当方法中既不需要使用实例对象(如实例对象,实例属性),也不需要使用类对象(如类属性、类方法,创建时实例等)时,定义静态方法。

取消不需要的参数传递,有利于减少不必要的内存占用和性能消耗

二十一、异常

1、异常语法:

try:

可能发生错误的代码

except:

如果出现异常执行的代码

2、捕获指定异常语法:

try:

可能发生错误的代码

except异常类型:

如果捕获到该异常类型执行的代码

注意:

如果尝试执行的代码的异常类型和要捕获的异常类型不一致,则无法捕获异常。

一般try下方只放一行尝试执行的代码。

当捕获多个异常时,可以把要捕获的异常类型的名字,放到except后,并使用元组的方式书写。

3、捕获异常描述信息

try:

print(num)

except(NameError,ZeroDivisionError)asresult:

print(result)

4、捕获所有异常:

Exception是所有程序异常类的父类

try:

print(num)

exceptExceptionasresult:

print(result)

else:

print(‘’)

5、异常的finally,finally表示的是无论是否异常都有执行的代码,例如关闭文件。

6、python中,抛出自定义异常的语法为raise异常类对象

class异常类类名(Exception):

#自定义异常类

代码

def__str__(self):

return…

raise异常类名()#抛出异常

exceptException…#捕获异常

二十二、模块和包

1、导入模块三种方法

import模块名1,模块2…

from模块名import功能名1,功能名2…

from模块名import*

2、as定义别名

import模块名as别名#模块定义别名

from模块名import功能as别名

3、导入模块:

只在当前文件中调用函数,其它导入的文件内不符合该条件,则不执行函数调用。

if__name__==’__main__’

4、__all__:

如果一个模块文件中有__all__变量,当使用fromxximport*导入时,只能导入这个列表的元素。

5、包:

包将有联系的模块组织在一起,即放到同一个文件夹下,并且在这个文件夹创建一个名字为__init__.py文件,那么这个文件夹就称为包。

方法1:

import包名.模块名

方法2:

from包名import*

必须在__init__.py文件中添加__all__=[],控制允许导入的模块列表。

pattern=r’[1-9]{1,3}(\.[0-9]{1,3}{3}#模式字符串

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 思想汇报心得体会

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1