![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python
文章平均质量分 62
花镜渊
这个作者很懒,什么都没留下…
展开
-
0427课 初识数据分析
0427课 初识数据分析Python数据分析3大神器Numpy数据运算和保存Matplotlib数据可视化(数据变图表)Pandas整合前两个来展示和处理数据例子用随机方式生成5个学生的3门课程的成绩,求学生的平均分以及每门课程的最高分和最低分方法一: 用Python基础代码来写import random# 随机生成5个学生的3门课成绩courses = ['语文', '数学', '英语']students = ['s1', 's2', 's原创 2021-04-28 17:22:31 · 302 阅读 · 1 评论 -
210406课 多线程与多进程
210406课 多线程/多进程 编程如何实现并发(并行)编程?并行:真正的同时进行,需多核CPU支持并发:通过快速的切换制造出并行的效果线程:操作系统分配CPU基本单位,最小的执行单元进程:操作系统分配内存的基本单位,是程序在一组数据上的活动通常我们启动一个程序,就启动了一个(或多个)进程,一个进程中又可以包含多个线程单线程:只有主线程,只有唯一的一个执行线索# 例子:单线程爬取360的美女图片import timeimport requestsfrom seleni原创 2021-04-06 19:18:08 · 129 阅读 · 0 评论 -
20210316课 装饰器
20210316课 装饰器装饰器: 本质是一个函数装饰器 = 实参高阶函数 + 返回值高阶函数 + 糖语法装饰器是用来给函数添加功能的语法:def 装饰器名称(需要添加功能的函数):def 添加过功能的新函数( * args, * * kwargs):需要添加功能的函数(* args, * * kwargs)添加新的功能return 原函数反回值return 添加过功能的新函数from time import time# 给函数添加运算时间def count_time(f):原创 2021-03-16 17:40:43 · 97 阅读 · 0 评论 -
210305课 1st爬虫重点总结
210305课 1st爬虫重点总结1, requests库~ get / post / …- url- params —> 查询参数(URL参数) —> 跟在URL问号后面的参数- data —> post请求发给服务器的数据 —> {‘参数名’: ‘参数值’}- headers —> HTTP请求头 —> User-Agent / Cookie / Accept- proxies —> 设置代理服务器 —> HTTP / SOCKS- fil原创 2021-03-05 17:57:09 · 131 阅读 · 0 评论 -
210304课 爬取动态页面
210304课 爬取动态页面爬取网页上的动态内容即网页上可以看到,一般却不显示数据代码的内容又称瀑布式加载,触底加载1, Ajax > 为页面提供动态生成内容的一种技术> 浏览器可以在不中断用户体验的前提下,向服务器发起异步请求> 在浏览器后台发生,用户感知不到> 服务器在收到浏览器发出的异步请求后会以Json格式返回数据> 浏览器获得Json数据后,会使用javascript对页面进行局部渲染,生成动态内容2,抓取动态内容方法:javascript逆原创 2021-03-04 18:10:09 · 165 阅读 · 1 评论 -
210303课 解决爬虫时IP封禁问题
210303课 解决爬虫时IP封禁问题爬取豆瓣电影Top250的详情信息并写入Excel文件1,抓取页面 >拿HTML源代码 requestsresponse.textresponse.content.decode(’…’)2,解析页面 >正则 用re模块CSS选择器 用BeautifulSoupXPath 用lxml3,保存数据 >持久化处理 >数据分析(从数据中找出有用的信息)CSV >csv系统自带原生原创 2021-03-03 21:03:07 · 1167 阅读 · 2 评论 -
210301初识爬虫
210301课 初识爬虫爬虫:开公开页面的信息并迅速提取出来步骤:1,获取网页源代码:HTML数据放在标签里面打开目标网页>鼠标右键查看网页源代码(ctrl+u)2,解析HTML页面方法:正则表达式XpathCSS选择器3,数据持久化1)可以存储的位置:文本文件(CVS)Excel数据库爬虫程序是法律灰色地带如果被目标网站举证你有破坏别人动产行为,会产生法律问题2) robots.txt 准入标识符:Disallow不许爬的内容,all原创 2021-03-01 19:23:00 · 256 阅读 · 1 评论 -
day18作业(1)
建立一个汽车类Auto,包括轮胎个数,汽车颜色,车身重量,速度等属性,并通过不同的构造方法创建实例。至少要求 汽车能够加速 减速 停车。 再定义一个小汽车类CarAuto 继承Auto 并添加空调、CD属性,并且重新实现方法覆盖加速、减速的方法class Auto: wheel = 4 def __init__(self, color, weight, speed): self.color = color self.weight = weight .原创 2021-02-25 21:14:36 · 134 阅读 · 0 评论 -
210225课 类的继承
210225课 类的继承继承1,继承的定义让子类直接拥有父类的属性和方法的过程**子类;**继承者**父类:**被继承者,又称 超类2,继承方法class 子类(父类)pass**注意:**如果没有添加括号,默认继承基类object一个子类可以同时拥有多个父类 class 子类(父类1,父类2,…)Python中子类可以继承父类所有的属性和方法class Person: num = 61 def __init__(self): self.name =原创 2021-02-25 20:01:18 · 107 阅读 · 0 评论 -
210224课堂整理
210224课堂整理面向对象的方法1,方法1)对象方法(常用)定义:直接定义在类中的函数调用:通过对象来调用 调用:通过对象来调用特点:有默认参数self,self在调用时不用传参应用:如果实现函数的功能需要对象属性就使用对象方法self可以用来提供需要所有的对象属性2)类方法定义:在类中定义函数前加装饰器 @classmethod调用: 通过类调用特点:自带参数cls,cls在调用时不需要传参应用:实现函数功能在不需要对象属性的时候需要类,就使用类方法3)静态方法定义:原创 2021-02-24 18:25:14 · 144 阅读 · 0 评论 -
day16-面向对象作业
定义一个矩形类,拥有属性:长、宽 拥有方法:求周长、求面积class Rectangle: def __init__(self, long=10, wide=10): self.long1 = long self.wide1 = wide def area(self): print(f'面积:{self.long1*self.wide1}') def perimeter(self): print(f'周长:{.原创 2021-02-24 08:59:30 · 107 阅读 · 0 评论 -
210223课 re模块和面向对象
210223课 re模块和面向对象re模块1,re.compile(正则表达式)根据正则表达式创建一个正则表达式对象import rere_obj = re.compile('\d{3}')re_obj.fullmatch('234')re_obj.search('jshdfjk238jhskfskdf890')re.fullmatch('\d{3}', '234')re.search('\d{3}', 'jshdfjk238jhskfskdf890')2.re.fullmatch原创 2021-02-23 19:41:28 · 125 阅读 · 0 评论 -
day15正则表达式作业
利用正则表达式完成下面的操作:1.用户名匹配 要求: 1.用户名只能包含数字 字母 下划线 2.不能以数字开头 3.长度在 6 到 16 位范围内from re import fullmatchre_str = r'^[a-zA-Z_][a-zA-Z\d_]{5,15}'username = fullmatch(re_str, 'a12345')print(username)2.密码匹配 要求: 1.不能包含!@#¥%^&*这些特殊符号原创 2021-02-22 20:51:11 · 182 阅读 · 0 评论 -
210222课堂整理(异常捕获和正则)
210222课堂整理(异常捕获和正则)异常捕获1,异常:程序运行时报错,即为异常**后果:**程序会在异常的地方直接结束,不会继续往后执行2,异常捕获目的: 程序出现异常时,还可以继续执行后面的代码**需要捕获的条件:**知道某个地方会出现异常,如代码没问题,由用户的异常操作导致,此时需要异常捕获语法1: 捕获所有异常try:代码1 需要捕获异常的代码except:代码2 捕获异常后的补救代码**执行过程:**先执行代码1,如无异常,不执行代码2,直接执行后面的其他原创 2021-02-22 18:27:35 · 353 阅读 · 0 评论 -
210204常用模块
210204常用模块1,工作中常用模块1)os模块 -->文件操作系统(主要提供文件和文件夹相关操作)例如 os.listdir() -->返回指定目录项所有的文件名2)sys模块 -->系统相关操作例如 exit() 退出程序3)json模块 -->json数据的数据处理4)re模块 -->正则表达式相关操作5)math模块 -->数学相关的math.ceil() -->向大取整6) *cmath模块 -->复数的数学模块co原创 2021-02-04 17:53:09 · 295 阅读 · 0 评论 -
day12作业
已知两个列表A和B,用map函数创建一个字典,A中的元素是key,B中的元素是valueA = ['name', 'age', 'sex']B = ['张三', 18, '女']# 新字典: {'name': '张三', 'age': 18, 'sex': '女'}result = map(lambda item1, item2: (item1, item2), A, B)print(dict(result)) 已知三个列表分别表示5个学生的姓名、学科和班号,使用map将这个三个列.原创 2021-02-03 18:45:24 · 146 阅读 · 0 评论 -
210203课堂整理
210203课堂整理map和reduce函数1, map -->对多个序列中的元素进行合并变幻和推导式类似1)用法一:将原序列中的元素,按照函数给定的标准转换成新的序列语法:map(函数,序列) --> 返回一个序列函数的要求:是一个函数有一个参数(指向后面的这个序列中的元素)需要一个返回值(返回值就是新序列中的元素)# 获取nums中所有元素的个位数,产生一个新的列表nums = [19, 78, 66,51,34,98,22]result = map(la原创 2021-02-03 17:41:13 · 160 阅读 · 0 评论 -
day11函数作业2
写一个匿名函数,判断指定的年是否是闰年 leap_year = lambda year: year % 4 == 0 and year % 100 != 0 or year % 400 == 0 print(leap_year(2000)) # True写一个函数将一个指定的列表中的元素逆序( 如[1, 2, 3] -> [3, 2, 1])(注意:不要使用列表自带的逆序函数) r_list = lambda list1: list1[::-1] print(.原创 2021-02-02 20:56:46 · 95 阅读 · 0 评论 -
210202课堂整理
210202课堂整理返回值从函数内部传递到函数外部的数据就是函数返回值1,判断返回值的使用时间如果实现函数的功能产生了新的数据,那么这个函数就需要通过返回值把新产生的数据返回2,操作方法1) return 后面的值为返回值,没有return默认返回值为None2)函数调用表达式的值就是函数返回值,只能在函数体里面使用def sum1(a, b): return a+b # a+b的结果就是返回的数据s = sum1(10, 20) # sum1(10, 20)也原创 2021-02-02 19:04:11 · 103 阅读 · 0 评论 -
day9-函数作业
编写一个函数,交换指定字典的key和value。# 例如:dict1={'a':1, 'b':2, 'c':3} --> dict1={1:'a', 2:'b', 3:'c'} dict1={'a':1, 'b':2, 'c':3}def exchange(dict1): """ 交换指定字典的key和value :param dict1: 字典 :return: 字典 """ result = dict(zip(dict1.val..原创 2021-02-01 21:01:02 · 299 阅读 · 0 评论 -
210201课内整理
210201课内整理字符串内建函数1, zfill 填充语法:字符串.zfill(宽度)# 将1位数变为4位数num = 1# 方法一result = str(num).zfill(4)print(result) # 0001# 方法二:f(string)result = f'{num:0>4}'print(result) # 00012, split 切割语法:字符串1.split(字符串2)将字符串1中所有的字符串2作为切割点,对字符串1进行切割,返回列表原创 2021-02-01 19:45:32 · 91 阅读 · 0 评论 -
序列基础练习题
列表基础练习题选择题下列选项中能正确表示一个列表的是(D)。A.{1, 2, 3}B.[10, abc, 123]C. [10 20 30]D.[1, 2, 3](多选)已知一个列表nums = [10, 20, '小明', [1, 2]],以下表达式结果是小明的是?(CD)A. nums[-3]B. nums[3]C.nums[-2]D. nums[2]以下选项关于列表说法错误的是?(C)A. 列表可以放在for循环的in后面B. 列表是可变的序列C. 列表原创 2021-01-30 10:16:36 · 420 阅读 · 0 评论 -
210129
210129一,前情回顾1.元组(tuple)不可变的列表语法:(元素1, 元素2,)不可变;有序元素:任何类型的数据t1 = (78,)t2 = 10, 89, 78, 34t3 = (80, 100)x, y = t3x, *y = t22.集合可变、无序s1 = {1, 23, 4}s2 = set()交集(&)、并集(|)、差集(-)、对称差集(^)子集(>=、<=)、真子集(>、<)s1 = {100, 200, 300, 4原创 2021-01-29 14:17:36 · 601 阅读 · 0 评论 -
day8-字符串作业
输入一个字符串,打印所有奇数位上的字符(下标是1,3,5,7…位上的字符)例如: 输入**'abcd1234 ’ ** 输出**‘bd24’**str1 = 'abcd1234' print(str1[1::2]) # bd24输入用户名,判断用户名是否合法(用户名长度6~10位)str1 = input('')if 6 <= len(str1) <= 10: print('合法')else: print('非法')输入用户名,判断用户名是否..原创 2021-01-28 21:07:48 · 166 阅读 · 0 评论 -
210128课业整理
210128课业整理一,前情回顾1,列表相关函数max min sum求和 sorted排序len获取序列中元素个数 list2,相关方法按住ctrl键把鼠标放在函数上点击就会出现相关操作方法3,字典{键1:值1, 键2:值2,…}可变:字典是无序的,里面的键没有可比性键key 不可变 不可重复值 没有要求4,字典支持增删改查1)查字典[key],字典get[key],字典.get(key,默认值)遍历2)增、改:字典[key]=值3)删:del字典[key],原创 2021-01-28 20:56:58 · 228 阅读 · 0 评论 -
day7-列表和字典作业
1.创建一个列表,列表中有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,原创 2021-01-27 21:09:31 · 212 阅读 · 0 评论 -
210127 课内整理
210127 课内整理一,前情回顾1.什么是列表?(list)[元素1, 元素2, 元素3,…]2.容器的特点可变的 - 支持增、删、改有序的 - 支持下标操作3.元素的要求任何类型、可重复、类型可以不同4.增、删、修、查1)查 -获取单个元素:列表[下标]切片:列表[开始:结束:步长]遍历:2)增:列表.append(元素)列表.insert(下标, 元素)3)删:del 列表[下标]列表.remove(元素)列表.pop()/列表.pop(下标)4)改列表原创 2021-01-27 19:50:12 · 671 阅读 · 0 评论 -
210126课程内容整理
210126课程内容整理今天听课内容太难,后期详解赌博游戏'''CRAPS赌博游戏玩家摇两颗色子,如果第一次摇出了7点或11点,玩家胜;如果摇出了2点、3点或12点,庄家胜;其他情况不分胜负,游戏继续。玩家重新摇色子,如果摇出了第一次摇的点数,玩家胜;如果摇出了7点,庄家胜;其他情况游戏继续,直到分出胜负。'''import randomfirst_point = random.randint(1, 6) + random.randint(1, 6)print(f'玩家摇出了{f原创 2021-01-26 19:20:44 · 198 阅读 · 0 评论 -
day5-列表作业
1.已知一个数字列表,求列表中心元素。list = [1, 2, 3, 4, 5, 6, 7, 8, 9]print(list[int(x // 2)]) # 5'''逻辑:1,先设置一个列表[1, 2, 3, 4, 5, 6, 7, 8, 9]2,获取列表的长度x3,列表长度x转化为int类型x//2为中间元素4,输出'''2.已知一个数字列表,求所有元素和。list = [1, 2, 3, 4, 5, 6, 7, 8, 9]sum = 0for x in list:原创 2021-01-25 20:55:43 · 231 阅读 · 0 评论 -
第一周作业(零基础)
第一周作业一、选择题下列变量名中不合法的是?(BC)A. abcB. NpcC. 1nameD ab_cd下列选项中不属于关键字的是?(B)A. andB. print # 输出函数C. TrueD. in下面哪个选项对应的代码写法是正确的?(C D)A.print('Python') print('新手村') # 前面不该空格B.print('Python') print('新手村') # 第一句后面应该加逗号隔开C.print(原创 2021-01-23 16:31:30 · 70 阅读 · 0 评论 -
210122课业整理
210122课业整理一、前情回顾1、if 多分支结构 写法:if 条件语句1:代码段1elif 条件语句2:代码段2elif 条件语句3:代码段3else:代码段n2、if 嵌套num = 8if num % 2 == 0: print('偶数') if num % 4 == 0: print('4的倍数')else: print('奇数')3、for循环写法:for 变量 in 序列:循环体4、range函数ran原创 2021-01-22 21:12:17 · 612 阅读 · 0 评论 -
210121课业整理
210121课业整理一、前情回顾python1、运算符数学运算符 加+ 减— 乘* 除/ 取余% 整除// 幂**比较运算符 > < == != >= <=逻辑运算符 and or not赋值运算符 = += -= *= /= %= //= **=运算优先级排序:数学>比较>逻辑>赋值2.分支结构if 满足条件执行,不满足不原创 2021-01-21 23:15:09 · 185 阅读 · 1 评论 -
210120笔记整理
210120笔记整理一、前情回顾1.什么是编程人通过写指令来指挥计算机干活2.解释器电脑运行python程序必须先有python解释器。装python环境3. Python基础语法print('hello world')print('你好')print('hello world'); print('你好')3.2注释单行注释和多行注释多行注释用3个引号,可以在里面写多行3.3标识符字母、数字、下划线;数字不能开头3.4关键字3.5常见数据和数据类型数字数据:int整数、原创 2021-01-20 18:52:10 · 111 阅读 · 0 评论 -
210119整理笔记
正式学Python第一天基础语法篇初识 pycharm1.新建文件:File>New>python file2.删除:选中文件>右键>delete3.重命名:选中文件>右键>refactor>rename4.打开设置页面:file>settings一、快捷键的运用键盘符号含义ctr+/添加或者取消注释ctr+s保存ctr+a全选ctr+c复制ctr+v粘贴ctr+x剪切ctr+原创 2021-01-19 21:09:53 · 129 阅读 · 0 评论