python初涉

Python

简介:python是一种解释性语言,没有编译环节,是交互式语言,是面向对象的

标识符:由字母数字下划线构成,开头为字母或下划线,对大小写敏感

单行注释#开头,多行注释'''或者"""

python使用缩进代表代码块,不需使用大括号{},缩进的空格数可变,同一个代码块的语句包含相同的缩进空间

Python通常一行写完一条语句,如果语句过长,使用反斜线\实现

数字类型(Number):长整数int,布尔型bool,浮点数float和复数complex

字符串String

Python中单引号''和多引号""使用相同,使用三引号指定多行字符串,转义符\。可以使用r让反斜杠不转义。字符串可以使用+连接,用*运算符重复。

字符串不能改变,字符串索引方式从左到右从0开始,从右到左以-1开始。一个字符就是长度为1的字符串。

字符串切片str[start:end:step],start(包含)为切片开始的索引,end(不包含)切片结束的索引,字符串的切片可以加上步长参数step

函数和类方法直接用空行分隔,表示代码的开始,空行不是Python语法的一部分

在同一行使用多条语句,语句之间使用分号隔开;

print默认输出是换行的,实现不换行在变量末尾加上 end=""

python使用import或者from...import来导入相应模块

Python的变量不需要声明,每个变量使用前必须赋值,赋值后才能创建。变量没有类型,'类型'是指变量所指内存中对象的类型

python可以同时为多个变量赋值

python的数据类型:

不可变数据:Number数字,String字符串,Tuple元组

可变数据:List列表,Dictionary字典,Set集合

bool布尔类型,即True或者False

List列表[],列表中的元素可以不同,用逗号分隔 列表截取 变量[头下标:尾下标] 索引值从0开始,-1为末尾开始位置,List中元素可以改变

Tuple元组(),元组内元素不能修改可以包含可变的列表,元素内用逗号隔开,创建只有一个元素的元组,注意在元素后面加逗号(元素,)

Set集合{},无序,可变的数据类型,用于存储唯一的元素,创建一个空集合必须用set()

Dictionary字典{},无序对象集合,通过键存取,无序的key:value的集合,key不可变且唯一,字典是一种映射类型

bytes类型,表示不可变的二进制序列,元素是整数值0~255,通常处理二进制数据,创建bytes对象使用b前缀

Pythong3的数据类型转换

隐式类型转换-自动完成

显式类型转换-需要使用类型函数来转换

python逻辑运算符 and or not

in not in 。  is is not

is和==区别,is判断两个变量引用对象是否为同一个,==判断引用变量值是否相等

type()函数判断变量所指对象类型

ord()函数将字符转换成相应的整数值

operator.eq(list1,list2) 列表比较

元组不可变是指元组所指内存中的内容不可变,指定的地址可变

数字类型(Number)存储数值,不允许改变,如果改变值重新分配内存空间

可以通过del 删除数字对象的引用

变量在使用前先定义,否则会报错

字典dict{},字典值可以是任何对象,同一个键只能出现一次,

键可以用数字,字符串或元组充当,不能用列表

创建一个空集合必须用set{}

if-elif-else 每个条件后用冒号:

match...case 匹配,_匹配一切

while循环,while 判断条件: 执行语句...

for循环遍历可迭代对象 for...in ...

for...else语句在循环结束后执行一段代码

break跳出循环

range()函数,生成数列

pss语句,空语句一般用作占位语句

python推导式,从一种数据序列构建另一个数据序列的结构体

列表推导式: 表达式 for 变量 in 列表 if 条件

字典推导式:{ key_expr: value_expr for value in collection if condition }

集合推导式:{ expression for item in Sequence if conditional }

迭代器对象从集合第一个元素访问,直到所有元素遍历,只能向前

迭代器方法:iter()和next() 字符串,列表和元组对象创建迭代器

iter()创建迭代器对象  next()输出迭代器下一个元素

StopIteration异常用于标识迭代的完成,防止无限循环在next()设置循环次数触发异常结束迭代

yield关键字,定义生成器函数,在迭代过程中逐步产生值,生成器返回迭代器的函数

自定义函数: 函数代码块def关键字开头,后接函数标识符名和圆括号(),圆括号定义参数,函数第一行语句存放函数说明,以冒号起始并且缩进

return 表达式 结束函数,不带表达式的相当于返回None

def 函数名 (函数列表): 函数体

类型属于对象,对象有不同类型的区分,变量没有类型

python中传不可变对象和传可变对象

id()函数查看内存地址变化

参数:必备参数,关键字参数,默认参数,不定长参数

必备参数:以正常的顺序传入函数,调用时的数量与声明时一致

关键字函数:与函数调用时的顺序和声明可以不一致,python解释器能用参数名匹配参数值

默认参数:调用函数时,默认参数的值如果没有传入,认为是默认值

不定长参数:加了*的变量名会存放所有未命名的变量参数

匿名参数:使用lambda来创建匿名函数

lambda只是一个表达式,有自己的命名空间不能访问自有参数列表之外或全局命名空间里的参数

lambda arguments: expression

arguments是参数列表,可以包含多个或0个,但必须在冒号:前指定

expression是一个表达式,用于计算并返回函数的结果

python装饰器,允许动态修改函数或类的行为,是一种函数

装饰器本质是接收函数作为输入并返回一个新的包装后的函数的对象

数据结构:

python列表可变,列表可以修改,字符串和元组不能

模块:包含定义的函数和变量的文件,后缀为.py 模块可以被其他程序引入使用函数

一个模块只能导入一次,防止导入模块多次执行

from...import语句从模块中导入指定的部门到当前命名空间

一个模块被另一个模块第一次引入,其主程序将运行

__name__属性,定义该程序仅在模块自身运行时执行

每个模块都有一个__name__属性,当值为'__main__'时表明该模块在自身运行,否则为被引入

内置的函数dir()可以找到模块内所有定义的所有名称,以一个字符串列表形式返回

包:管理python模块命名空间的形式,采用点模块名称

目录中包含__init__.py的文件被认为是个包

标准输出文件可以用sys.stdout引用

str()函数返回一个用户已读的表达形式

repr()产生一个解释器易读的表达形式

input()内置函数标准读入一行文本,默认标准输入是键盘

open()返回一个file对象 open(filename,mode) filename文件名称,mode打开文件的模式

open()方法一定要保证文件对象的关闭,即调用close()方法一定要保证文件对象的关闭,即调用close

python的错误和异常

assert断言,判断一个表达式,在表达式为false的时候触发异常

异常捕捉try/except语句

try.执行代码.except.异常发生时代码.else.没异常时代码.finally.都会执行的代码.

raise [Exception [, args [, traceback]]]

类:描述相同属性和方法的对象的集合,定义集合中每个对象共有的属性和方法,对象是类的实例

属性引用和python中所有属性引用一样的标准语句obj.name

类有名为__init__()的构造方法,该方法会在类实例化的时候自动调用

类的方法和普通函数的区别——有额外的第一个参数名称self,self表示类的实例,代表当前的对象地址

self.class指向类

def 定义一个方法,类方法必须包含参数self,且为第一个参数

子类会继承父类的属性和方法

class 子类(父类)

如果为多继承时,如果父类中有相同的方法名,子类使用时未指定默认调用括号内参数位置排名前父类的方法

类的私有属性:__两个下划线开头,声明该属性为私有,不能在类外部或直接访问

命名空间的生命周期取决于对象的作用域,如果对象执行完成,该命名空间的生命周期结束

内部作用域变量修改外部作用域的变量使用global关键字

修改嵌套作用域(enclosing 作用域,外层非全局作用域)中的变量则需要 nonlocal 关键字

type()的参数是函数的返回值

正则表达式 re模块 re.match(pattern,string,flags=0)  从字符串起始位置开始匹配,匹配成功返回匹配对象,否则返回None

pattern 匹配的正则表达式

string 要匹配的字符

flags 标志位

group(num=0) 匹配整个表达式的字符串,返回一个包含这些组的所对应的元组

groups()返回一个包含所有小组字符串的元组,从1到所含的小组号

# .*表示人员匹配换行符(\n,\r)之外的任何单个或多个字符

#(.*?)表示非贪婪模式,只保存第一个匹配的子串

re.search 方法扫描整个字符串并返回第一个成功的匹配

re.sub(pattern,rep1,string,count=0,flags=0)

complie函数用于编译正则表达式,生产正则表达式对象RegexObject

re.findall(pattern,string,flags=0) 在字符串找到正则表达式匹配的所有子串,并返回一个列表,如果没有找到返回空列表

CGI通用网管结构,一段程序运行在服务器中

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值