def

Python 基础(一):入门必备知识

做~自己de王妃 提交于 2020-12-24 01:52:36
点击上方“ 蓝色文字 ”关注我 回复“ Python ”免费领取Python学习资料! 1 标识符 标识符是编程时使用的名字,用于给变量、函数、语句块等命名,Python 中标识符由字母、数字、下划线组成,不能以数字开头,区分大小写。 以下划线开头的标识符有特殊含义,单下划线开头的标识符,如: _xxx ,表示不能直接访问的类属性,需通过类提供的接口进行访问,不能用 from xxx import * 导入;双下划线开头的标识符,如: __xx ,表示私有成员;双下划线开头和结尾的标识符,如: __xx__ ,表示 Python 中内置标识,如: __init__() 表示类的构造函数。 2 关键字 and exec not assert finally or break for pass class from print continue global raise def if return del import try elif in while else is with except lambda yield 上面表中是 Python 中的关键字(保留字),我们在自定义标识符时不能使用关键字。 3 引号 Python 可以使用引号( ' )、双引号( " )、三引号( ''' 或 """ )来表示字符串,引号的开始与结束须类型相同,三引号可以由多行组成。如下所示: id =

Python之路(第四十六篇)多种方法实现python线程池(threadpool模块\multiprocessing.dummy模块\concurrent.futures模块)

百般思念 提交于 2020-12-23 07:34:45
一、线程池 很久(python2.6)之前python没有官方的线程池模块,只有第三方的threadpool模块, 之后再python2.6加入了 multiprocessing.dummy 作为可以使用线程池的方式, 在python3.2(2012年)之后加入了concurrent.futures模块(python3.1.5也有,但是python3.1.5发布时间晚于python3.2一年多),这个模块是python3中自带的模块,但是python2.7以上版本也可以安装使用。 下面分别介绍下各个线程池模块的使用 使用环境python3.6.4,win7 threadpool模块(上古时期--python2.6之前) 由于threadpool模块是第三方模块需要进行安装, 安装 pip install threadpool 或者在pycharm--settings--Project interpreter中安装 使用介绍 (1)引入threadpool模块 (2)定义线程函数 (3)创建线程 池threadpool.ThreadPool() (4)创建需要线程池处理的任务即threadpool.makeRequests() (5)将创建的多个任务put到线程池中,threadpool.putRequest (6)等到所有任务处理完毕theadpool.pool() 代码实例

pandas系列(三)Pandas分组

混江龙づ霸主 提交于 2020-12-23 04:39:34
点击上方「蓝字」关注我们 文章目录 第3章 分组 一、SAC过程 1. 内涵 2. apply过程 二、groupby函数 1. 分组函数的基本内容: 2. groupby对象的特点 三、聚合、过滤和变换 1. 聚合(Aggregation) 2. 过滤(Filteration) 3. 变换(Transformation) 四、apply函数 1. apply函数的灵活性 2. 用apply同时统计多个指标 第3章 分组 import numpy as np import pandas as pd df = pd . read_csv ( 'data/table.csv' , index_col = 'ID' ) df 一、SAC过程 1. 内涵 1.SAC指的是分组操作中的split-apply-combine过程 2.其中split指基于某一些规则,将数据拆成若干组,apply是指对每一组独立地使用函 数,combine指将每一组的结果组合成某一类数据结构 2. apply过程 在该过程中,我们实际往往会遇到四类问题: 1.整合(Aggregation)——即分组计算统计量(如求均值、求每组元素个数) 2.变换(Transformation)——即分组对每个单元的数据进行操作(如元素标准化) 3.过滤(Filtration)——即按照某些规则筛选出一些组

Django之REST_framework 框架基本组件使用

随声附和 提交于 2020-12-23 04:37:08
快速实例 快速实例: 点击查看官方文档 阅读推荐: 点击查看 序列化 创建一个序列化类 简单使用 开发我们的Web API的第一件事是为我们的Web API提供一种将代码片段实例序列化和反序列化为诸如 json 之类的表示形式的方式。我们可以通过声明与Django forms非常相似的序列化器(serializers)来实现。 models部分: from django.db import models # Create your models here. class Book(models.Model): title =models.CharField(max_length=32 ) price = models.IntegerField() pub_date = models.DateField() publish =models.ForeignKey( " Publish " ) authors =models.ManyToManyField( " Author " ) def __str__ (self): return self.title class Publish(models.Model): name =models.CharField(max_length=32 ) email = models.EmailField() def __str__ (self):

Python全栈开发-执行字符串形式的语句和字符串形式的表达式方法(即exec和eval方法)

一世执手 提交于 2020-12-23 04:33:16
    Python有时需要动态的创造Python代码,然后将其作为语句执行 或 作为表达式计算。 exec用于执行存储在字符串中的Python代码。 1、 语句与表达式的区别:表达式是 某事,语句是 做某事(即告诉计算机做什么)。 比如2*2是4,而print 2*2是打印4。上述两句代码在交互式解释器中执行的结果是一样的,是因为解释器总是把所有表达式的值打印出来而已。而在程序中编写类似2*2这样的表达式并不会打印显示什么,编写print 2*2则会打印4。 语句与表达式的区别在 赋值 时更明显,因为语句不是表达式,所以没有值。如在交互式解释器中输入 x=2则不会打印任何东西,立刻出现新的提示符。虽然什么也没显现,但是有些东西已经发生变化如x的值现在变为3.这也是语句特性的一般定义:它们改变了事物。比如,赋值语句改变了变量,print语句改变了屏幕显示的内容。 2、 命名空间(作用域) 全局变量和局部变量 除了全局作用域外,每个函数会都会创建一个新的作用域。变量分为全局变量和局部变量,函数内的变量称为局部变量只在局部命名空间中起作用。 在函数内部读取全局变量一般来说不是问题,直接访问即可。但是,如果局部变量名或者参数的名字与全局变量名相同的话,就不能直接访问了,因为全局变量被局部变量给屏蔽了。如果确实需要的话,可以使用globals函数获取被屏蔽的全局变量值。

HTB-靶机-Brainfuck

大憨熊 提交于 2020-12-23 04:00:29
本篇文章仅用于技术交流学习和研究的目的,严禁使用文章中的技术用于非法目的和破坏,否则造成一切后果与发表本文章的作者无关 靶机是作者购买VIP使用退役靶机操作,显示IP地址为10.10.10.17 nmap -sC -sV -p- -T5 -oN brainfuck.nmap 10.10.10.17 nmap扫描结果 扫描结果有开放邮箱,https,还得知一些证书相关的信息,看到有brainfuck.htb和sup3rs3cr3t.brainfuck.htb 直接绑定hosts搞吧 echo " 10.10.10.17 brainfuck.htb " | sudo tee -a /etc/hosts echo "10.10.10.17 sup3rs3cr3t.brainfuck.htb" | sudo tee -a /etc/hosts 访问得到如上信息,发现了一些跟邮件有关的信息,一个邮箱orestis@brainfuck.htb 确认目标是wordpress程序,使用wpscan扫描一把 wpscan --disable-tls-checks --url https://brainfuck.htb -e ap,t,tt,u --api-token pFokhQNG8ZFEmmntdfHfTYnrYdnvJHKtVtDuHTqTqBc 得到一款插件相关的漏洞信息

scrapy爬虫-scrapy-redis分布式

风格不统一 提交于 2020-12-23 03:55:43
1、如何将一个scrapy爬虫项目修改成为一个简单的分布式爬虫项目 官方文档: https://scrapy-redis.readthedocs.io/en/stable/ 只用修改scrapy项目的两个文件就可以了 一个是爬虫组件文件: # -*- coding: utf-8 -*- import scrapy from scrapy_redis.spiders import RedisSpider # 自定义爬虫类的继承类不再是scrapy.spiders下面的爬虫类, # 而是scrapy-redis.spiders下面的爬虫类 class DistributedSpiderSpider(RedisSpider): name = ' distributed_spider ' allowed_domains = [ ' wh.lianjia.com ' ] # 将start_urls替换为redis_key # start_urls = ['https://wh.lianjia.com/ershoufang/'] redis_key = " myspider:start_urls " def parse(self, response): print (response.meta) item = dict() item[ " province " ] = " 湖北 " item[

爬虫之SCRAPY

扶醉桌前 提交于 2020-12-23 03:55:23
- scrapy环境的安装 a. pip3 install wheel b. 下载twisted http://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted c. 进入下载目录,执行 pip3 install Twisted‑17.1.0‑cp35‑cp35m‑win_amd64.whl d. pip3 install pywin32 e. pip3 install scrapy - scrapy使用 - 1.创建一个工程:scrapy startproject ProName (注 startproject 中间没有空格) - 2.cd ProName - 3.创建爬虫文件:scrapy genspider first www.xxx.com - 4.执行:(allowed_domains 注释掉) - settings.py: - 不遵从rbotes协议 - 进行UA伪装 - 指定日志等级:LOG_LEVEL = ‘ERROR’ scrapy crawl spiderName - 持久化存储 - 基于终端指令: - 前提:只可以将parse方法的返回值进行本地文件的持久化存储 - 指令:scrapy crawl spiderName -o filePath - 基于管道: - 编码流程: 1.数据解析 2

特征工程之归一化及标准化

微笑、不失礼 提交于 2020-12-23 03:48:29
特征的预处理:对数据进行处理 特征处理:通过特定的统计方法(数学方法)将数据转换成算法要求的数据 归一化: 多个特征同等重要的时候需要进行归一化处理 目的:使得某一个特征对最终结果不会造成更大影响 归一化API: 标准化: 归一化及标准化实例代码: # 数据预处理 from sklearn.preprocessing import MinMaxScaler from sklearn.preprocessing import StandardScaler def mm(): ''' 归一化处理 :return:None ''' # mm = MinMaxScaler() mm = MinMaxScaler(feature_range=(2, 3 )) data = mm.fit_transform([[90, 2, 10, 40], [60, 4, 15, 45], [75, 3, 13, 46 ]]) print (data) return None def stand(): ''' 标准化缩放 :return:None ''' std = StandardScaler() data = std.fit_transform([[1, -1, 3], [2, 4, 2], [4, 6, -1 ]]) print (data) return None if __name__ == "

openstack manila服务折腾笔记

孤街浪徒 提交于 2020-12-23 03:07:36
国庆在家折腾了一把openstack manila,看了下现网还没有中文的manila入门介绍,于是决定写个笔记贴出来 一、manila简介 和我们传统存储服务器一样,openstack的存储也分为3种:块存储(cinder),对象存储(swift),文件存储(manila).manila 提供的是带有完整文件系统的存储服务.可以提供的类型有:nfs,cifs,glusterfs,hdfs等.云主机可以直接在系统里面挂载manila启动的实例 下面就是已经被虚拟机挂载的实例 [root@centos centos]# df -Th Filesystem Type Size Used Avail Use% Mounted on /dev/vda1 xfs 10G 1.2G 8.9G 12% / devtmpfs devtmpfs 900M 0 900M 0% /dev 10.254.0.7:/shares/share-f898d9b0-77b8-4231-9919-27b12e34cfa3 nfs4 976M 1.3M 908M 1% /mnt 二 manila的组件 默认情况下manila有3个组件 manila-api 接受并验证REST请求,通过客户端及路由进行转发 manila-scheduler 决定共享创建的后端(后端及pool) manila-share