Python基础进阶篇

一、SYS模块

0、基础语句
1)import sys
导入sys模块
2)sys?和help(sys)
查看sys的相关资料
3)dir(sys)
查看sys的方法和属性
1、常用语句
1)print(sys.__doc __)
查看sys模块里面的注释
2)print(sys.maxsize)
给出整数类型的最大值,在64位操作系统中为2^63-1
3)print(sys.maxunicode)
给出最大Unicode码对应的整数,即1114111(0x10FFFF十六进制)
4)print(sys.copyright)
以字符串形式返回python解释器的版权
5)print(sys.thread_info)
以元组形式返回线程的名称,锁的名称,线程库的名称和版本,即(name,lock,version)
6)print(sys.float_info)
以元组形式返回浮点型有关的信息在这里插入图片描述
7)print(sys.argv)
显示传入的参数在这里插入图片描述
8)print(sys.exc_info)
可以显示异常的信息,返回一个(type,value,traceback)组成的三元组,可以与"try/catch"块一起使用在这里插入图片描述
9)sys.stdin
标准输入:一般是键盘
stdin对象为解释器提供输入字符流,一般使用raw_input()input()函数
10)sys.stdout
标准输出:一般是屏幕
stdout对象接收到print语句产生的输出
11)sys.stderr
错误输出:一般是错误信息
stderr对象接收出错的信息
12)sys.exit(arg = 0)
用于推出python,0或None表示正常退出,其他值表示异常
13)sys.path
表示python搜索模块的路劲和查找顺序
14)sys.platform
显示当前操作系统信息
15)sys.getwindowsversion()
返回windows操作系统的版本
16)sys.version
python版本
17)sys.version_info
python版本信息

二、OS模块

0、定义
os模块提供了对系统文件进行操作的方法在这里插入图片描述
1、常用语句
1)os.getcwd()
返回当前的工作目录在这里插入图片描述
2)os.listdir(path)
返回指定目录下的所有文件夹和文件名在这里插入图片描述
3)os.linesep
返回当前操作系统的换行符在这里插入图片描述
4)os.sep
返回当前操作系统的路径分隔符在这里插入图片描述
5)os.pathsep
返回当前操作系统环境变量中的分隔符在这里插入图片描述
6)os.environ
以字典形式返回所有环境变量的值在这里插入图片描述
7)os.pardir
返回一个表示父目录的字符串,通常是‘..在这里插入图片描述
8)os.path.isfile(path)
检测一个路径是否为普通文件在这里插入图片描述
9)os.path.isdir(path)
检测一个路径是否为文件夹在这里插入图片描述
10)os.path.exists(path)
检测一个路径是否存在在这里插入图片描述
11)os.path.isabs(path)
检测一个路径是否为绝对路径
12)os.path.split(path)
拆分一个路径为上级路径和文件名,以元组形式返回(head,tail)在这里插入图片描述
13)os.path.join(path1,path2)
使用系统的路径分隔符,将各部分合成一个路径在这里插入图片描述
14)os.path.abspath()
返回路径的绝对路径在这里插入图片描述
15)os.path.dirname(path)
返回路径中的文件夹部分
16)os.path.basename(path)
返回路径中的文件部分在这里插入图片描述
17)os.path.splitext(path)
将路径与扩展名分开在这里插入图片描述

三、CSV文件和CSV模块

0、定义
python标准库中有自带的csv模块处理.csv格式的文件
1、案例一
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
2、案例二
在这里插入图片描述
3、案例三(分隔符)
在这里插入图片描述
4、案例四(字典)
在这里插入图片描述
5、案例五(pandas)
在这里插入图片描述

四、正则表达式

0、定义
正则表达式是用来匹配字符串或者子串的一种模式,匹配的字符串可以很具体,也可以很一般化
在这里插入图片描述
1、常用语句
1)re.compile()
xxx=re.compile(r'(\w*)(o\w*)')设定一个字符串中间有字母o,两端是不限制数量的字母和数字,可以用来匹配,替换,分割字符串
2)xxx.match()和xxx.search()
xxx.match(string)xxx.search(string)两者都寻找第一个匹配成功的部分,成功则返回一个匹配的对象,不成功则返回None,不同之处在于match只匹配字符串的开头部分,search则可以匹配整个字符串中的子串,注意如果在re.compile()括号中传入带括号的部分,在输出的时候可以调用xxx.match().group(num)xxx.search().group(num)用来指向第num个括号内的内容在这里插入图片描述
在这里插入图片描述
3)re.match()和re.search()
re.match(xxx,string[,flags])re.search(xxx,string[,flags])两者都寻找第一个匹配成功的部分,成功则返回一个匹配的对象,不成功则返回None,不同之处在于match只匹配字符串的开头部分,search则可以匹配整个字符串中的子串
注意如果在match()和search()括号中传入带括号的部分,在输出的时候可以调用re.match().group(num)re.search().group(num)用来指向第num个括号内的内容在这里插入图片描述在这里插入图片描述
4)re.findall()和re.finditer()
re.findall(xxx,string)可以返回所有匹配的对象,re.finditer(xxx,string)则返回一个迭代器在这里插入图片描述
5)re.split()
re.split(xxx,string[,maxsplit])根据传入的内容对字符串进行分割在这里插入图片描述
6)re.sub()
re.sub(symbol,xxx,string)将字符串中的symbol替换为xxx在这里插入图片描述
2、逃逸字符(转义字符)在这里插入图片描述
3、fromregex()
from numpy import fromregex从numpy从numpy模块导入fromregex函数后,可以使用yyy= fromregex(file,xxx,dtype)在这里插入图片描述
4、案例
在这里插入图片描述

五、日期和时间

0、定义
import datetime as dt导入datetime模块,datetime模块提供了基础时间和日期的处理在这里插入图片描述
1、常用语句
1)dt.date()
可以使用xxx=dt.date(year,month,day)产生一个date日期
2)dt.time()
可以使用yyy=dt.time(hour,minute,second,us)产生一个time时间,dt.time.mindt.time.max可以查看最小时间和最大时间
3)dt.datetime()
可以使用zzz=dt.datetime(year,month,day,hour,minute,second,us)产生一个datetime日期时间,也可以使用zzz=dt.datetime.strptime('month/day/year','%m/%d/%y')通过一些指定格式的字符串来产生一个datetime日期时间,并以元组形式返回
4)xxx.strftime()
可以使用xxx.strftime('%A,%m/%d/%y')来格式化date日期的输出
5)yyy.strftime()
可以使用yyy.strftime('%H:%M:%S,%p')来格式化time时间的输出
6)zzz.strftime()
可以使用zzz.strftime('%Y-%m-%d %H:%M%S')来格式化datetime日期时间的输出
7)dt.datetime.now()
可以使用zzz=dt.datetime.now()来查看现在的日期时间,可以使用xxx=dt.datetime.now().date()来查看现在的日期,可以使用yyy=dt.datetime.now().time()来查看现在的时间,可以使用dt.datetime.now().timetuple()来返回现在日期时间信息组成的元组
8)dt.timedelta()
可以使用dt.timedelta(day,hour,min,second,us)产生一个timedelta参数
9)timedelta
可以使用zzz1-zzz2来计算两个日期时间相差多久,返回一个timedelta参数,同样适用于xxx1-xxx2(两个日期相差多久),也可用于zzz=xxx+timedelta和zzz1=zzz2+timedelta
10)dt.date.today()
可以查看今天的日期,可以使用dt.date.today().weekday()来获得今天对应在一周中的下标,可以使用dt.date.today().month来获得今天对应的月份,可以使用dt.date.today().year来获得今天对应的年份
11)time
import time导入time模块,time.time()可以查看当前时间转化成的秒值,time.localtime()可以查看当前时间信息组成的元组,time.mktime(dt.datetime.now().timetuple())可以将一个当前日期时间信息转化成秒值
12)dt.datetime.combine()
可以使用dt.datetime.combine(date,time)将日期和时间组合成日期时间
13)dt.datetime.fromtimestamp()
可以使用dt.datetime.fromtimestamp(aaa)将一个秒值转化成日期时间信息
13)dt.timedelta.total_seconds()
可以使用dt.timedelta.total_seconds()将一个timedelta转化成秒值

六、SQL数据库模块

0、基本语句
import sqlite3导入sqlite3模块
sqlite3.versionsqlite3.version_info查看sqlite3版本
sqlite3.sqlite_versionsqlite3.sqlite_version_info查看sqlite库的版本
sqlite3.connect().cursor().fetchone()获取查询结果的下一行,返回单个序列,在没有更多数据可用时返回None
sqlite3.connect().cursor().fetchone()获取查询结果的全部内容
在这里插入图片描述
1、格式在这里插入图片描述
在这里插入图片描述
2、案例一(fetchone)在这里插入图片描述
3、案例二(executemany,fetchall)
在这里插入图片描述
4、案例三在这里插入图片描述
5、案例四在这里插入图片描述

七、变量范围

0、定义
变量有三种:全局变量(global variable),局部变量(local variable),内置变量(built-in variable)
在这里插入图片描述
1、案例一
在这里插入图片描述
2、案例二
在这里插入图片描述

八、进阶函数

0、定义
python中函数时一种基本类型的对象,这意味着可以将函数作为参数传给另一个函数;将函数作为字典的值储存;将函数作为另一个函数的返回值
1、常用语句
1)map()
map(funtion,list)将list中每个元素都作用到函数中,并返回结果组成的列表
2)range()
range(start,end[,step])每step生成一个从start到end-1的整数
3)filter()
filter(funtion,list)返回列表中能使函数为True的元素组成的列表
4)reduce()
reduce(funtion,list)从列表中每次调两个作用到函数中,返回一个结果
5)lambda(匿名函数)
lambda <variables> : <expression>可以自定义一个函数,并声明所用变量和运算
1、案例一(square,cube)在这里插入图片描述
2、案例二(mod_f,no_mod_f)在这里插入图片描述
3、案例三(f())
在这里插入图片描述
4、案例四(map,reduce,filter,lambda)在这里插入图片描述
5、案例(文件和递归)
递归是指函数在执行的过程中调用了自身,一般用于分治法,不过在python中这样的用法比较少,如斐波那契数列(Fibocacci sequence)
在这里插入图片描述在这里插入图片描述

九、迭代器

0、定义
迭代:当我们用一个循环(如for循环)来遍历容器(如列表)中的元素时,这种遍历的过程就叫迭代,在python中,我们使用for xxx in yyy进行迭代
可迭代对象:输出迭代器的下一个元素
迭代器:是指遵循迭代器协议的对象
迭代器协议:是指要实现对象的__iter()___next()方法,其中__iter()__方法返回迭代器对象本身,next()方法返回容器的下一个元素,在没有后续元素时抛出StopIteration异常在这里插入图片描述在这里插入图片描述
1、hasattr()
可以使用hasattr(xxx,attribute)来判断一个对象是否包含对应的属性,如果传入的tag为'__iter__'则可以判断是否可迭代在这里插入图片描述
2、isinstance()
from collections import Iterable导入后,可以使用isinstance(xxx,type)来判断对象是否为指定类型,如果传入的type为Iterable则可以判断是否可迭代
在这里插入图片描述
3、enumerate()
enumerate(list)每次迭代都会返回一组(index,value)组成的元组在这里插入图片描述
4、案例(yield)
在这里插入图片描述

十、生成器

0、定义
生成器是迭代器,但只能迭代一次,这是因为它不会将所有值存储在内存中,而是动态生成值,可以通过迭代来使用,或者使用for循环,或者将其传递给任何迭代的函数或构造,大多数时候生成器都是作为函数实现的
1、isgeneratorfunction()
可以使用isgeneratorfunction(xxx)来判断是否是生成器函数,也可以使用isinstance(xxx, types.GeneratorType)来判断是否为生成器类型在这里插入图片描述
2、案例一(fibonacci)
在这里插入图片描述
3、案例二(my_range)在这里插入图片描述
4、案例三(循环,迭代器和生成器的对比)
在这里插入图片描述在这里插入图片描述在这里插入图片描述

十一、待解决问题

在这里插入图片描述在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值