- 博客(39)
- 收藏
- 关注
原创 命令窗口指令(python操作)
(windows系统下)dir - 查看当前目录下的文件切换根目录(切盘) - D:(到D盘)cd 文件路径 -到改文件目录cd… - 返回上级目录创建虚拟环境1.在要创建的目录下(D:虚拟环境VNC>) python -m venv Spider2.虚拟环境Spider文件夹下的Scripts\acticate 拖到命令窗口3.回到系统环境 - deactivate展示当前环境中已经安装过的第三方库:pip list下载第三方库(安装源,指定版本):pip install
2022-01-20 16:59:17
994
原创 第二十二天:word文件操作
1.word文件写操作#注意:使用docx之前需要先安装第三方库:python-docxfrom docx import Document#导入数值计量单位:Inches-英尺,Cm-厘米,Mm-毫米from docx.shared import Inches,Cm,Mm1) 创建空文档doc = Document()2) 添加内容1.标题:文档对象.add_heading(text='',level=1)-添加指定级别的标题,并且返回标题对象#text-标题内容 level-级
2021-12-28 17:33:07
191
原创 第二十一天:csv和pdf操作
1 csv操作1.1csv读操作import csv#1.创建一个readercsv.reader(文件对象)——获取指定csv文件中的内容,返回一个迭代器,迭代器中元素是每一行数据对应一个列表csv.DictReader(文件对象)——获取指定csv文件中的内容,返回一个迭代器,迭代器中元素是每一行数据对应一个字典#2.获取内容reader1=csv.reader(open('file/北京高档酒店价格分析.csv',encoding='utf-8'))reader2=csv.DictR
2021-12-27 20:46:24
408
原创 第二十天:表格文件操作
注意:openpyxl只能处理格式是 .xlsx的excel的文件1.excel相关的专业术语1)工作簿——一个excel就是一个工作簿2)工作表(表)——一个工作簿中可以有多个工作表(至少一个)3)单元格——保存数据的每个格子2.excel读操作第一步:加载excel文件获得工作簿对象wb=openpyxl.load_workbook(文件路径)第二步:获取所有工作表的表名#工作簿对象(wb).sheetnamesnames=wb.sheetnames第三步:获取工作表a.工作
2021-12-26 18:32:30
252
原创 day19正则表达式作业
利用正则表达式完成下面的操作:一、不定项选择题能够完全匹配字符串"(010)-62661617"和字符串"01062661617"的正则表达式包括( A,B,D)A.r"\(?\d{3}\)?-?\d{8}" B. r"[0-9()-]+" C.r"[0-9(-)]*\d*" D.r"[(]?\d*[)-]*\d*"能够完全匹配字符串"back"和"back-end"的正则表达式包括(A,B ,C )A. r'\w{4}-\w{3}|\w{4}'B. r'\w{4}|\w{4}
2021-12-23 20:55:13
310
原创 第十九天:正则表达式
继承:让子类直接拥有父类所有的属性和方法class 类名(父类1,父类2,...): pass1.正则表达式正则表达式是一种让复杂的字符串问题变得简单的一个工具1)正则表达式是由各种各样的正则符号组合而成2)re模块简介re模块是python用来支持正则相关操作的系统模块fullmatch(正则表达式,字符串)——判断正则表达式和指定字符串是否完全匹配,不能匹配结果是None#判断输入的内容是否合法(手机号)from re import fullmatchdef is_tel(
2021-12-23 20:41:43
55
原创 day18-面向对象作业
定义一个狗类和一个人类:狗拥有属性:姓名、性别和品种 拥有方法:叫唤人类拥有属性:姓名、年龄、狗 拥有方法:遛狗class Dog: def __init__(self,name,gender,breed): self.name=name self.gender=gender self.breed=breed def brak(self): return "汪汪汪"class Man: def __i..
2021-12-23 20:29:19
70
原创 day18-面向对象作业
定义一个狗类和一个人类:狗拥有属性:姓名、性别和品种 拥有方法:叫唤人类拥有属性:姓名、年龄、狗 拥有方法:遛狗class Dog: def __init__(self,name,gender,breed): self.name=name self.gender=gender self.breed=breed def brak(self): return "汪汪汪"class Man: def __i..
2021-12-22 20:46:03
58
原创 第十八天:类和对象
1.对象方法方法是指定义在类中的函数1.1 定义1)直接定义(不需要添加任何装饰器)在类中的函数就是对象方法# 定义类class Person: # 在类中定义一个对象方法 def eat(self): print('吃饭')1.2 调用1)通过 ‘对象.xx()’ 的形式来调用# 创建对象p1p1=Person# 通过对象调用对象方法p1.eat() # 吃饭1.3 特点1)每个对象方法都有一个默认参数self,在通过对象调用对象方法时se
2021-12-22 20:45:08
178
原创 第十七天:json和面向对象
1.json1.1 数据格式1)作用:json和xml是两种通用的数据格式,几乎所有的高级编程语言都支持。json和xml数据的格式的存在,是为了让不同编程语言的程序可以进行有效的数据沟通2)格式:要求:a.一个json有且只有一个数据 b.唯一的这个数据必须是json支持的数据类型的数据支持的数据类型:数字 - 表示时直接写,并且支持科学计数法,例如:23、3e4、3.26字符串 - 表示时只能加双引号,支持转义字符布尔 - 只有true和false(都小写)数组 - 相当于pyth
2021-12-21 20:18:22
81
原创 第十六天:常用系统模块
1 os模块定义:用来提供文件和文件夹相关操作的模块1)os.getcwd()-获取当前目录#2)当前py文件目录os.getcwd()+'/test.py'2)os.listdir(文件夹路径)-获取指定文件夹下所有的文件和文件夹的名字(指定文件下所有的内容)# 练习:读取file中所有txt文件的文件内容for i in os.listdir('./file'): if i.endswith('.txt'): # if i[-4:]='.txt' result=o
2021-12-20 20:23:59
74
原创 第十五天:模块和异常
1 模块1.1 定义1)python中一个py文件就是一个模块2)模块分为系统模块和自定义模块1.2 使用模块1)在一个模块中使用另一个模块中的内容注意:如果一个模块中的内容想要能够被别的模块使用,那么这个模块的名字必须符合变量名的要求(字母、数字、下划线组成,数字不能开头)2)符合命名要求的模块中,只有全局变量可以被别的模块使用1.3 模块导入1)import 模块名 ——导入指定模块,导入后可以通过’模块名.×××’的方式去使用模块中所有的全局变量2)from 模块名 import
2021-12-20 09:20:40
96
原创 day14-作业
第一题:name=input('请输入学生姓名:')number=input('请输入学生号码:')dict1=eval(open('file/stu.txt').read()) # type:dictdict1[name]=numberprint(dict1)open('file/stu.txt',mode='w').write(f'{str(dict1)}') #{'df': '16', 'sv': '66'}第二题:def register(): user=input('
2021-12-17 19:12:17
64
原创 第十四天:文件操作
1 数据持久化计算机存储空间分为:运行内存和磁盘两种程序中产生的数据默认都是保存在运行内存中,存储在运行内存中的数据在程序结束后会自动销毁如果将数据存储到磁盘中,那么数据除非手动删除或者磁盘损坏,否则会一直存在。磁盘存储数据的基本单位是文件数据持久化指的是将程序中的数据以文件的形式保存到磁盘中a=100b=[1,2,'a']1.1 常见的数据持久化工具数据库(.db、.sqlite)、json文件(.json)xml文件(.xml)、plist文件(.plist)普通文本文件(.txt)
2021-12-16 20:57:59
88
原创 第十三天:迭代器、生成器、装饰器
1 迭代器(iter)1)迭代器是容器型数据类型2)如何创建迭代器:a.将其他序列转化成迭代器;b.创建生成器3)特点:打印时不能查看元素;无法获取元素个数;获取元素的时候必须将元素从迭代器中取出,取出后元素会从迭代器中消失,并且无法再添加#创建迭代器i1=iter('abc')print(i1) #<str_iterator object at 0x00000195F695C128>print(len(i1)) #报错!1.1 迭代器获取元素注释:迭代
2021-12-15 19:37:16
639
原创 day12-函数进阶作业
已经列表points中保存的是每个点的坐标(坐标是用元组表示的,第一个值是x坐标,第二个值是y坐标)points = [ (10, 20), (0, 100), (20, 30), (-10, 20), (30, -100)]以下问题使用实参高阶函数来解决1)获取列表中y坐标最大的点2)获取列表中x坐标最小的点3)获取列表中距离原点最远的点4)将点按照点到x轴的距离大小从大到小排序#1result=max(points,key=lambda nums:nums[-1])prin..
2021-12-14 20:51:53
63
原创 第十二天:函数进阶
1 匿名函数1.1 语法变量(函数名)=lambda 形参列表:返回值相当于:def (形参列表): return 返回值#写一个匿名函数求两个数的和sum1=lambda num1,num2:num1+num2result=sum1(1,2)print(result) #3#练习:写一个匿名函数判断指定的年是否是闰年is_leap_year=lambda year1:(year1%400==0) or (year1%4==0 and year1%100!=0)resu
2021-12-14 20:50:15
61
原创 第十一天:函数
函数基础1 函数的概念1)函数就是实现某一特定功能的代码封装——不同的函数有不一样的功能2 函数的分类2.1 根据函数是由谁定义(创建)的将函数分为:系统函数、自定义函数1)系统函数:系统自带的函数(创建python语言的人创建好的函数)(别人造好的机器;例如:max)2)自定义函数:由程序员自己创建的函数(自己造的机器)3 定义函数(创建函数)——造机器3.1 语法def 函数名(形参列表): 函数说明文档 函数体1)说明:def——关键字;固定写法函数名——由程序员自己
2021-12-13 20:59:23
73
原创 day11-函数基础作业
写一个函数,实现maketrans的功能,将两个字符串转换成一个字典,第一个字符串中的字符是键,第二个字符串中的字符是值第一个字符串: ‘abcmn’ 第二个字符串:‘一二三四五’结果:{‘a’: ‘一’, ‘b’: ‘二’, ‘c’: ‘三’, ‘m’: ‘四’, ‘n’: ‘五’}def maketrans1(str1:str,str2:str): """ 将两个字符串转换成一个字典 :param str1:提供键 :param str2:提供值 ..
2021-12-13 20:58:49
53
原创 day10-字符串作业
编写一个程序,交换指定字典的key和value。 例如:dict1={'a':1, 'b':2, 'c':3} --> dict1={1:'a', 2:'b', 3:'c'} dict1={'a':1, 'b':2, 'c':3}t=str.maketrans('abc123','123abc')dict2=str(dict1)dict3=dict2.translate(t)print(dict3)-------------------------------..
2021-12-11 17:49:38
51
原创 第十天:字符串
1.字符串相关操作和函数1.1 字符串相关运算符1)+ —— 字符串1 + 字符串2 —— 将两个字符串合并成一个字符串str1='12'str2='ac'print(str1+str2) #'12ac'2)* —— 字符串1 * N、N*字符串 ——将字符串重复N次产生一个新的字符串str1='12'print(str1*2) #'1212'1.2 比较运算:>=、<=、>、<1)两个字符串比较大小比较的是第一对不相等的字符的编码值的大小
2021-12-10 20:55:23
161
原创 day9-字符串和集合作业
用三个集合表示三门学科的选课学生姓名(一个学生可以同时选多门课)Chinese= {'a','b','c','d'}Math={'c','d','e','f'}English={'a','c','f','g'}求选课学生总共有多少人sum=Chinese|Math|Englishcount=0for i in sum: count+=1print(count)求只选了第一个学科的人的数量和对应的名字sum=Chinese-Math-Englishcount=0..
2021-12-09 21:01:20
71
原创 第九天:集合和字符串
1.集合1.1 定义1)集合是容器型数据类型;将{}作为容器的标志,里面多个元素用逗号隔开:{元素1,元素2,元素3,…}2)集合是可变,无序的3)元素要求:a.必须是不可变类型的数据;b.元素是唯一的(自动去重)# 空集合s1=set()# 集合无序print({1,2,3}={2,1,3}) #True# 元素是不可变类型的数据s3={10,20,[1,2]}print(s3) #报错,列表是可变的# 元素是唯一的(自动去重)s4={1,
2021-12-09 20:56:27
412
原创 day8-字典作业
定义一个变量保存一个学生的信息,学生信心中包括:姓名、年龄、成绩(单科)、电话、性别stu={'name':'小明','age':18,'score':89,'number':'1496565','sex':'男'}定义一个列表,在列表中保存6个学生的信息(学生信息中包括: 姓名、年龄、成绩(单科)、电话、性别(男、女、不明) )stu=[{'name':'小明','age':16,'score':45,'number':'149','sex':'男'},{'name':'小红','a..
2021-12-08 20:56:02
169
原创 第八天:字典
1.用变量获取元素1)使用多个变量同时获取列表或元组的元素(变量的个数必须和元组/列表元素的个数保持一致)t=[1,2,3]a,b,c=tprint(a,b,c) #1,2,3point=(1,5)x,y=point #1,52)使用多个变量同时获取列表或元组的元素(当变量的个数小于元素的个数时,必须在某一个变量前加*)获取的时候先让不带*的变量按照顺序获取对应的数据,把剩下的全部保存到带*的变量中nums=[1,2,3,4,5]x,*y,z=nums
2021-12-08 20:54:25
117
原创 第七天:列表和列表推导式
列表和列表推导式1.列表相关的运算符1.1 数学运算符:+、*列表1+列表2 —— 将两个列表中的元素合并产生一个新的列表list1=[1,2,3]list2=[4,5,6]print(list1+list2) #[1,2,3,4,5,6]列表*N —— 列表中的元素重复N次产生一个新的列表#N*列表list3=[1,2,3]print(list3*2) #[1,2,3,1,2,3]1.2 比较运算符补充:不同的类型可以使用 == 和 != 来比较是否相等,但不能使用&g
2021-12-07 20:42:07
225
原创 day7-列表作业
创建一个列表,列表中有10个数字, 保证列表中元素的顺序,对列表进行排重,并对列表使用进行降序排序例如:[70, 88, 91, 70, 107, 234, 91, 177, 282, 197] --- 去重之后 [70, 88, 91, 107, 234, 177, 282, 197] ---- 降序排序 [282, 234, 197, 177, 107, 91, 88, 70]list1=[70, 88, 91, 70, 107, 234, 91, 177, 282, 197]fo.
2021-12-07 20:41:08
325
原创 day6-列表作业
1.已知一个数字列表,求列表中心元素。list=[1,2,3,4,5,6,7]length=len(list)if length%2==0: print(list[int(len(list)/2)-1],list[int(len(list)/2)])else: print(list[int((len(list)+1)/2)-1])2.已知一个数字列表,求所有元素和。list=[1,2,3,4,5,6,7]sum=0for i in list: sum+=iprin
2021-12-06 20:09:49
107
原创 第六天:列表
列表1.容器型数据类型(序列)变量从是否是容器分为:非容器型数据类型的变量和容器型数据类型的的变量非容器型数据类型的变量 —— 一个盒子里面只有一个格子,所以同一时间只能保存一个数据。例如:int、float、bool、str等容器型数据类型的变量 —— 一个盒子里面有多个格子,每个格子可以存储不一样的数据,所以同一时间就可以保存多个数据,例如:list、dict、tuple、set、str等2.列表(容器型数据类型)定义:将 [] 作为容器标志,里面多个元素用逗号隔开:[列表1,列表2,列
2021-12-06 20:02:53
79
原创 周末作业-循环练习题(1)
判断101-200之间有多少个素数,并输出所有素数。count=0for num in range(101,201): for i in range(2,int(num*0.5+1)): if num%i==0: break else: count+=1 print(num)print(count)求整数1~100的累加值,但要求跳过所有个位为3的数。sum=0sum1=0for i in ran..
2021-12-04 20:53:29
46
原创 第四天:循环关键字和列表
循环关键字和列表1.continue和break —— 循环体中的关键字1.1 continue —— 结束一次循环(结束当次循环)当执行循环体时遇到了continue,这一次循环结束,马下进入下次循环for i in range(10): if i%2: continue print(i) #输出10以内的偶数--------------------------------- num=8while num<100: num+
2021-12-03 20:48:29
179
原创 day4-循环作业
1. 基础题输入年份,如果输入的年是闰年打印'闰年'否则打印'平年'year=int(input('请输入年份:'))if (year%4==0 and year%100!=0) or (year%400==0): print('闰年')else: print('平年')使用for和while循环输出 0~100内所有3的倍数。for i in range(0,101,3): print(i) ------------num=0while num
2021-12-02 20:55:51
65
原创 第三天:循环
循环说明:循环结构 —— 可以让代码重复执行 (代码写一遍,执行多次)1.for循环语法for 变量 in 序列: 循环体其他代码说明for、in —— 关键字;固定写法变量 —— 变量名(可以是已经定义过的变量的变量名,也可以是没有定义的)序列 —— 序列就是python中容器型数据类型对应的数据;例如:字符串、列表、字典、元组、集合、迭代器、生成器、range等: —— 固定写法循环体 —— 和for保持一个缩进的一条或者多条语句(至少1个条件;可以用pass和prin
2021-12-02 20:44:26
388
原创 day3-运算符和分支作业
选择题print(100 - 25 * 3 % 4) 应该输出什么? (B)A. 1B. 97`C. 25D. 0下列哪种说法是错误的(A)。A. 除字典类型外,所有标准对象均可以⽤于布尔测试B. 空字符串的布尔值是FalseC. 空列表对象的布尔值是FalseD. 值为0的任何数字对象的布尔值是False下列表达式的值为True的是(B)。A. 3>2>2B. 1 and 2 != 1C. not(11 and 0 != 2)D. 10 < 20
2021-12-01 19:26:45
62
原创 第二天:运算符和分支结构
1.定义变量和给变量赋值的原理1)python定义变量时,需要先申请内存,内存申请多大看数据需要多大,然后将数据保存到内存中再和变量进行关联。重新给变量赋值时,会重新申请新的内存,新的内存的大小由新的数据的大小决定。a=10print(id(a)) #id(变量) - 获取数据地址 140710707389552a=100print(id(a)) #1407107073924322.数学运算符2.1 +(加)、-(减)、*(乘)、/(除)1)python中的加减乘除和
2021-12-01 19:16:59
1003
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人