python基础小结

变量:标识符(变量名,函数名,类名)

标识符命名规则:1、只能包含字母、数字和下划线。变量名可以以字母或者下划线开头。但是不能以数字开头。

2、不能包含空格,但可以使用下划线来分隔其中的单词。

3、不能使用Python中的关键字作为变量名

4、建议使用驼峰命名法,驼峰式命名分为大驼峰(UserName)。和小驼峰(userName)。

 

数据类型:Number string list tuple sets dict

 

list:使用方括号表示,有序可变对象,可以使用切片进行修改和访问

tuple:使用圆括号,有序不可变对象,只能使用切片进行访问

sets:使用花括弧,无序可变对象

dict:使用花括弧,key与value之间用冒号隔开,每个键值对用逗号,无序可变对象

 

总结:不可变对象(number,string,tuple)可变对象(list,sets,dict)

 

运算符:算术,赋值,比较,逻辑(and or not),位运算符

 

字符串处理

输入和输出:input print

下标和切片:下标没有冒号,切片是有冒号[start:end:step],类似于range(start,end,step)

常见的字符串函数:find,replace

 

列表

访问列表:可以用下标进行访问,也可以使用切片

操作列表:增删改查,增(append,insert),删除(pop,del,remove,clear),改(使用下标,insert),查询(使用下边,切片)

列表函数:

 

元祖和字典

元祖:使用圆括号,有序不可变对象,只能使用切片进行访问

元祖的函数:可以直接使用的函数len,max,min;元祖可以直接调用的方法index,count

字典:使用花括弧,key与value之间用冒号隔开,每个键值对用逗号,无序可变对象

操作字典:

深浅拷贝:只有可变对象才有深浅拷贝的概念;直接赋值;浅拷贝只是对原对象的应用,修改:如果对象元素是可变对象会影响原来的对象;深拷贝是对原对象一个完整的拷贝

 

条件控制和循环语句

条件控制:if

循环:while(循环条件不确定时)for(循环条件已经确定),都可以嵌套if判断

break,continue,pass:1:终止当前循环,如果还有上一层循环,从上一层循环从头开始;2:跳出当前循环,从当前循环从头开始;3:就是一个空语句,起到占位符的作用

range:range(start:end:step)

列表推导式:[expr for value in collection ifcondition]

 

函数

函数定义:def,函数名,形参(实参),缩进代码块

函数参数:必备参数(位置参数,关键字参数),默认值参数,不定长参数:加了星号(*)的变量名会存放所有未命名的变量参数。加了(**)会存放所有命名的变量参数

(*返回一个元祖,**返回的是字典)

返回值:return(递归函数使用),一个函数只有一次返回值,return后面的语句不会执行,返回值需要用print打印出来

局部变量:在函数里面定义的变量称为局部变量

全局变量:函数外面定义的变量称为全局变量(只有针对不可变对象才有意义)

注意:不可变对象(在函数中传递的是变量的值),在函数里面进行修改,等于声明一个新的变量,如果想在全局作用域生效,需要使用global进行声明

匿名函数:lambda 参数:表达式

递归函数:就是自己调用自己,结合return

高阶函数:map,filter,reduce

 

面向对象编程

面向对象:把对象的特征和行为提取出来进行分类和封装,提高代码的利用率

定义类:类(一些属性和方法的集合);类属性;实例属性;方法(类中定义的函数);方法重写(重载,在继承的时候用的多);实例化对象(类是对象的类型,对象是类的实例)

继承和多态:单继承(主要),super(),__init__();多态:多态即多种形态,在运行时确定其状态,在编译阶段无法确定其类型,这就是多态。

访问限制:__foo(私有属性),在类里面包装成 _类名__foo,在外面调用的话使用 对象名._类名__foo

类方法:装饰器@classmetho,不能访问实例属性,需要cls

静态方法:通过装饰器@staticmethod  装饰;不能访问实例属性;参数不能传入self(都可以通过类名,或者对象名调用) 

 

模块和包

模块:简单py文件看成是一个包,也可以把不包含__init__.py文件的目录看成是一个包

调用方法:import...;from...import... ;import as...;from...import*

自定义模块之间调用顺序:1,首先是当前目录;2,Pythonpath下的目录;3,安装Python的默认目录

注意事项:1,如果自定义是math(与系统模块重名),使用import math,不能覆盖系统模块;如果使用from...import math 会覆盖系统模块

        2,如果自定义是第三方类库(numpy)模块array(自定义重名模块),使用importarray,第三方系统(numpy)模块array会被覆盖

dir():一般查看你所要查询的对象的变量,模块,方法

包:包含__init__.py文件,我们就称为包

__init__.py:初始化文件,当调用这个包的时候,首先会执行__init__.py中的代码,可以为空,使用 from<module> import *就会报错

__all__:模块和包都可以使用这个属性,主要用在包的__init__.py文件里面,定义了当我们使用 from <module> import * 导入某个模块的时候能导出的符号(这里代表变量,函数,类等)

 

 

文件和异常

文件:open(name[, mode[,buffering[,encoding]]]) 需要结合close()方法关闭文件

 

with open(name[, mode[,buffering[,encoding]]]) as 名称,这种方式会在合适的时候自动关闭文件

 

write(),向文件中写入内容,如果想写入数字,需要包装成字符串

read(),读取文件的内容,r(只读)

readlines(),也是读取文件的内容,每一行作为列表的元素,返回的是一个列表

 

模式:r:只读模式,不能写入;如果文件不存在会报错

    w:只能写入,不能读取;当文件不存在时,会创建一个新的文件;如果文件存在会重写

    a:追加,指针放在文件最后一位;当文件不存在时,会创建一个新的文件

    r+:可读可写,如果文件不存在会报错

    w+:可读可写,当文件不存在时,会创建一个新的文件

    a+:可读可写可追加

seek():设置文件指针的位置,seek(0,0)就是把指针放在文件开头

 

异常:

# 第一:except语句不是必须的(else语句必须和except语句搭配使用,不能单独出现),finally语句也不是必须的,但是二者必须要有一个,否则就没有try的意义了。

#第二:except语句可以有多个,Python会按except语句的顺序依次匹配你指定的异常,如果异常已经处理就不会再进入后面的except语句。

#第三:except语句可以以元组形式同时指定多个异常。except语句后面也不指定异常类型,则默认捕获所有异常(不推荐)

#第四:如果要捕获异常后要重复抛出,请使用raise,后面不要带任何参数或信息。不建议捕获并抛出同一个异常

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值