python 学习笔记
文章平均质量分 51
在奋斗的大道
程序发烧友
展开
-
Python 3 使用Hive 总结
HiveServer2 是一种可选的 Hive 内置服务,可以允许远程客户端使用不同编程语言向 Hive 提交请求并返回结果。原创 2023-08-18 13:02:33 · 770 阅读 · 0 评论 -
Python 3 使用HBase 总结
Happybase是Python通过Thrift访问HBase的库,实现起来方便、快捷。造成此类问题的原因是:使用HBase 自带ZooKeeper 分布式调度框架造成,由于我的环境是单机版本,我的大致设置是使用独立ZooKeeper 服务。如下是我hbase-site.xml 和hbase-env.sh 相关配置export HBASE_MANAGES_ZK=false # 推荐不使用HBash 自带zookeeper。原创 2023-08-16 17:30:43 · 3038 阅读 · 0 评论 -
Python 3 使用Hadoop 3之MapReduce总结
MapReduce是一种分布式计算模型,由Google提出,主要用于搜索领域,解决海量数据的计算问题。MapReduce分成两个部分:Map(映射)和Reduce(归纳)。原创 2023-08-14 21:44:26 · 2385 阅读 · 0 评论 -
Python 使用Hadoop 3 之HDFS 总结
调用文件系统(HDFS)Shell命令应使用 bin/hadoop fs 的形式。所有的的FS shell命令使用URI路径作为参数。URI格式是。对HDFS文件系统,scheme是hdfs,对本地文件系统,scheme是file。其中scheme和authority参数都是可选的,如果未加指定,就会使用配置中指定的默认scheme。原创 2023-08-13 11:42:27 · 2330 阅读 · 0 评论 -
Conda 安装Pytorch
(2)将复制的代码粘贴到命令行格式下,弹出提示,输入 y,即可完成安装,显示“done”。2.测试pytorch:import。1.进入python:python。(3)pytorch 模块验证。温馨提示:查询虚拟环境列表。原创 2023-05-18 09:37:12 · 2424 阅读 · 0 评论 -
数据分析之NumPy基础入门
NumPy 是 Python 语言的一个第三方库,其支持大量高维度数组与矩阵运算。此外,NumPy 也针对数组运算提供大量的数学函数。机器学习涉及到大量对数组的变换和运算,NumPy 就成了必不可少的工具之一。转载 2023-04-17 10:01:48 · 692 阅读 · 0 评论 -
Windows安装Anaconda使用教程
主要介绍在 windows 11 系统中安装 Anaconda3 的详细过程目前最新版本是 python 3.10,默认下载也是 Python 3.10安装较为简单,基本都是下一步,为了避免不必要的麻烦,最后默认安装路径,具体安装过程为:双击安装文件,启动安装程序建议自定义路径安装,需要占用空间大约 2.6 G左右。两个默认就好,第一个是加入环境变量。安装需要一段时间,等待安装完成即可。。原创 2023-04-04 16:20:57 · 2583 阅读 · 0 评论 -
Python 遍历List 方式总结
遍历List 方式,Python 功能代码:lists = ['html', 'js', 'css', 'java', 'c', 'Python']# 方法1print('遍历列表方法1:')for i in lists: print("序号:%s 值:%s" % (lists.index(i) + 1, i))# 方法2print('\n遍历列表方法2:')for i in range(len(lists)): print("序号:%s 值:%s" % (i原创 2021-09-14 15:49:25 · 8913 阅读 · 0 评论 -
Python3 关于excel 文件格式xls之读取、写入和追加
Python操作xls格式的表格文件依赖模块:1、xlwt2、xlrd3、xlutilsPython 封装xls 功能代码片段import xlwtimport csvimport xlrdfrom xlutils.copy import copydef write_excel_xls_head(path, sheet_name, value): ''' 定义excel head 头部信息 :param path: :param sheet_name:.原创 2021-09-14 15:32:30 · 880 阅读 · 0 评论 -
Python 判断List 是否为空
方式一:使用len 函数=判断list 长度大小eg:lists = []if len(lists): print('lists is not empty')else: print('lists is empty')方式二:一个空 list 本身等同于Falseeg:lists = []if lists: print('lists is not empty')else: print('lists is empty')...原创 2021-09-14 11:39:50 · 537 阅读 · 0 评论 -
Python 输出和判别数据类型
需求:我是一个Python 新手,在进行程序处理时,如果不清楚python 对象的数据类型很容易导致方法的错用,今天总结一下,如何输出pythond 对象的数据类型第一个:type ()函数:输出python对象数据类型。eg:f = 10def add(self, x): return self.x + fclass Calculate(object): x = 10 def __init__(self, x): self.x = x原创 2021-09-14 11:26:51 · 5378 阅读 · 0 评论 -
Python CSV文件读取、写入总结
前提:Python导入csv 模块import csv创建:利用csv包中的writer函数,如果文件不存在,会自动创建,需要注意的是,文件后缀一定要是.csv,这样才会创建csv文件eg: # 创建文件 f = open('长沙二手房数据.csv', mode='a', encoding='utf-8', newline='') csv_writer = csv.DictWriter(f, fieldnames=['标题', '小区',原创 2021-09-14 11:12:55 · 1821 阅读 · 0 评论 -
Python 基于csv 读取文本文件提示:‘gbk‘ codec can‘t decode byte 0xbf in position 2: illegal multibyte sequence
问题描述:今天爬取了链家(长沙)二手房价格信息,准备读取相关*.csv文件进行相关数据的清洗工作,在读取*.csv 文件时。得到如下错误信息:'gbk' codec can't decode byte 0xbf in position 2: illegal multibyte sequence错误大致意思:Unicode的解码(Decode)出现错误(Error)了,以gbk编码的方式去解码(该字符串变成Unicode),但是此处通过gbk的方式,却无法解码(can’t decode )。“i原创 2021-09-14 11:01:54 · 9806 阅读 · 0 评论 -
Python 判断变量是否相等
在python中,判断两个变量是否相等或一样,可以使用==或者is来判断;判断不一样可以使用 is not。eg:a = ['1']b = ['1']c = 1if a == b: print('a == b', '相等')if a == c: print('a == c', '相等')if a is b: print('a == b', '相等')if a is c: print('a == c', '相等')if a is not b: p原创 2021-09-14 10:00:33 · 18615 阅读 · 0 评论 -
Python 单位(亿、万)转数字
需求背景今天在爬取长沙链接二手房数据的时候,需要将房屋总价和单价转换为数字进行存储python 功能代码:实现str 转int,要求:包含'亿'=1e8, 包含'万' = 1e4。功能代码如下:def str2value(valueStr): valueStr = str(valueStr) idxOfYi = valueStr.find('亿') idxOfWan = valueStr.find('万') if idxOfYi != -1 and i...原创 2021-09-14 09:31:45 · 3597 阅读 · 1 评论 -
Python 多条件判断
If 多条件判断1、使用and 进行多条件判断运算(并运算)eg: if txt != '标题' and txt != '': print('总价', line[4]) unitPrice = 0 Price = 0 if line[4].find('万') > 0: Price = str2value(line[4])原创 2021-09-14 09:24:50 · 9799 阅读 · 0 评论 -
Python提示:Consider using the `--user` option or check the permissions.
问题描述:今天尝试搭建Python 爬虫框架(Scrapy),首先更新pip 版本管理器版本,执行如下指令:pip install --upgrade pip得到如下错误信息:F:\python_workspace\MyScrapy>pip install --upgrade pipRequirement already satisfied: pip in c:\python3\lib\site-packages (20.3.3)Collecting pip Downloadi原创 2021-08-31 10:17:14 · 22929 阅读 · 0 评论 -
Python3 深拷贝与浅拷贝总结
拷贝简介浅拷贝:引用不同内存地址,仅仅值相同深拷贝:引用同一个内存地址,且值相同。eg: # 深拷贝:引用同一个内存地址,且值相同。 宿主值发生改变,不会影响拷贝者的值 a = 10 b = copy.copy(a) print("a 内存地址: %d" % id(a)) print("b 内存地址: %d" % id(b)) a = 100 print("a 值为: %d" % a) print("b 值为: %d" %原创 2021-08-13 19:53:04 · 190 阅读 · 0 评论 -
Python3 类总结
1、类的结构1.1 术语 —— 实例使用面相对象开发,第 1 步是设计类 使用类名()创建对象,创建对象的动作有两步: 1) 在内存中为对象分配空间 2) 调用初始化方法__init__为对象初始化 对象创建后,内存中就有了一个对象的实实在在的存在 ——实例因此,通常也会把:创建出来的对象叫做类的实例 创建对象的动作叫做实例化 对象的属性叫做实例属性 对象调用的方法叫做实例方法在程序执行时:对象各自拥有自己的实例...转载 2021-08-13 16:46:58 · 510 阅读 · 0 评论 -
Python3 继承总结
1、单继承1.1 继承的概念、语法和特点继承的概念:子类拥有父类的所有方法和属性1.1.1继承的语法class 类名(父类名): pass子类继承自父类,可以直接享受父类中已经封装好的方法,不需要再次开发 子类中应该根据职责,封装子类特有的属性和方法1.1.2继承的传递性子类拥有父类以及父类的父类中封装的所有属性和方法1.2方法的重写子类拥有父类的所有方法和属性 子类继承自父类,可以直接享受父...原创 2021-08-13 16:27:38 · 472 阅读 · 0 评论 -
Python3 对象私有属性和私有方法总结
应用场景:在实际开发中,对象的某些属性或方法可能只希望在对象的内部被使用,而不希望在外部被访问到 私有属性就是对象不希望公开的属性 私有方法就是对象不希望公开的方法定义方式:在定义属性或方法时,在属性名或者方法名前增加两个下划线,定义的就是私有属性或方法eg: 定义model.py 文件,核心代码如下# 定义Person 类,包含对象属性name 和对象私有属性 age 和对象私有方法class Person: def __init__(...原创 2021-08-13 15:50:43 · 563 阅读 · 0 评论 -
Python3 函数进阶
1、函数参数和返回值的作用函数根据有没有参数以及有没有返回值,可以相互组合,一共有4 种组合形式无参数,无返回值 无参数,有返回值 有参数,无返回值 有参数,有返回值定义函数时,是否接收参数,或者是否返回结果,是根据实际的功能需求来决定的!如果函数内部处理的数据不确定,就可以将外界的数据以参数传递到函数内部 如果希望一个函数执行完成后,向外界汇报执行结果,就可以增加函数的返回值1.1 无参数,无返回值此类函数,不接收参数,也没有返回值。1.2 无参数,...原创 2021-08-13 11:57:24 · 238 阅读 · 0 评论 -
Python3 变量进阶
1、变量的引用变量 和 数据 都是保存在内存中的。在Python中函数 的 参数传递以及返回值都是靠引用传递的1.1引用的概念在Python中变量和数据是分开存储的 数据保存在内存中的一个位置 变量中保存着数据在内存中的地址 变量中记录数据的地址,就叫做引用 使用id()函数可以查看变量中保存数据所在的内存地址注意:如果变量已经被定义,当给一个变量赋值的时候,本质上是修改了数据的引用变量不再对之前的数据引用 变量...原创 2021-08-13 10:57:28 · 140 阅读 · 0 评论 -
Python3 元组解包情况总结
前言:tuple作为不可变对象,每个tuple对象在第一次创建后,持有的元素不能改变,这是元组的基本概念。但元组解包功能是其中一个很常见的功能点,今天总结下元组解包的几种情况情况一:元组赋值给多个变量。 # 元组解包情况一: tupe_five = (1, 2, 3) first, second, third = tupe_five print(first) print(second) print(third)效果展示:123情.原创 2021-08-12 18:41:38 · 495 阅读 · 0 评论 -
Python3 类型转换总结
Int 类型支持转换为 int 类型的,仅有float、str、bytes,其他类型均不支持。float -> int会去掉小数点及后面的数值,仅保留整数部分。int(-12.94) # -12str -> int如果字符串中有数字(0-9)和正负号(+/-)以外的字符,就会报错。int('1209') # 1209int('-12') # -12int('+1008') # 1008bytes -> int如果.转载 2021-08-12 17:58:33 · 175 阅读 · 0 评论 -
Python3 遍历列表、字典和元组方式总结
# 列表\字典\元组 遍历方式def loop(request): # 元组遍历方式一:for in tupe_one = ('1', '2', '3', '4') for value in tupe_one: print(value) # 元组遍历方式二:内置函数enumerate() tupe_tow = ('1', '2', '3', '4') for index, value in enumerate(tupe_tow): .原创 2021-08-12 14:51:55 · 946 阅读 · 0 评论 -
Python3 判断列表、字典和元组是否为空总结
# 列表、字典、元组判断方法验证def is_null(request): lists = [] #定义列表 dicts = {} #定义字典 tups = () #定义元组 #判断列表是否为空 if lists: print("list 不为空") else: print("list 为空") #判断字典是否为空 if dicts: print("dict 不为空") .原创 2021-08-12 14:14:56 · 2070 阅读 · 0 评论 -
Django 集成Redis缓存库
第一步:Python 安装redis 模块pip install redis第二步:封装Redis 功能模块(string\hash\list)import redisimport logging# 日志记录初始化logger = logging.getLogger('mylogger')# redis 工具类封装class RedisUtil: def __init__(self, ip, passwd, port=6379, db=0): try:原创 2021-08-12 12:09:41 · 360 阅读 · 0 评论 -
Django 集成redis 中文汉字乱码
问题描述:今天在测试Redis 封装工具类,发现返回的中文汉字乱码,但在缓存库上存储的中文汉字是正常。redis 中文乱码实例化连接: def __init__(self, ip, passwd, port=6379, db=0): try: self.r = redis.Redis(host=ip, password=passwd, port=port, db=db) except Exception as e: p原创 2021-08-12 11:30:50 · 576 阅读 · 0 评论 -
AttributeError: ‘str‘ object has no attribute ‘decode‘解决方法
问题描述:今天使用Django + Jwt 实现Token 认证(前后端分离),遇到上述错误AttributeError: ‘str‘ object has no attribute ‘decode‘问题代码片段: @property def token(self): return self._generate_jwt_token() def _generate_jwt_token(self): token = jwt.encode({原创 2021-08-11 19:23:37 · 4838 阅读 · 0 评论 -
python3 日期模块datetime 用法详解
1、输出当前日期>>> import datetime>>> print(datetime.datetime.now())2021-08-11 18:37:03.8211992、格式化当前日期>>> print(datetime.datetime.now().strftime("%Y-%m-%d %H:%M"))2021-08-11 18:383、多加一天>>> print (datetime.datet原创 2021-08-11 19:03:06 · 846 阅读 · 0 评论 -
Django 集成JWT 基于Token凭证方式,实现前后端分离
功能简介业务需求:今天想尝试为Django 添加安全验证框架,但是看了相关Django 涉及Authentication模块的配置,过于繁琐且不适合当前前后端分离趋势发展,所以放弃Django自带安全模块,使用Django 集成Jwt 基于Token 凭证方式,实现前后端功能分离。业务思路大致步骤描述:1、用户通过登入url,输入合法用户名和密码获取登入凭证token2、后台业务逻辑方法通过装饰器函数(token_required()),校验请求接口携带的Token 是否合法、是否失效等。原创 2021-08-11 18:30:04 · 1457 阅读 · 0 评论 -
Django 提示:AttributeError : ‘module‘ object has no attribute ‘utcnow‘
问题描述:今天使用Django+pyjwt 实现前后端分离基于token 凭证方式,我在实体对象(User)定义生成token 相关方法,核心代码如下:models.pyfrom django.conf import settingsfrom django.db import modelsimport jwtimport datetime# Create your models here.class Book(models.Model): id = models.BigAut原创 2021-08-11 16:52:13 · 522 阅读 · 0 评论 -
Django logging日志模块详解(日志记录模板配置)
一.Django日志Django使用python内建的logging模块打印日志,Python的logging配置由四个部分组成:1>.记录器(Logger)2>.处理程序(Handler)3>.过滤器(Filter)4>.格式化(Formatter)二、Logger 记录器Logger 是日志系统的入口。每个 logger 都是命名了的 bucket, 消息写入 bucket 以便进一步处理。Logger 可以配置日志级别。日志级别描述了由该 .原创 2021-08-11 14:59:30 · 11331 阅读 · 1 评论 -
Django 集成logging 日志提示:ValueError: Unable to configure handler ‘file‘
问题描述:今天使用Python3 + Django2 项目集成logging 日志记录,提示如下截图错误信息:解决版本:在项目目录根路径建立一个logs文件夹来存放日志即可。Python3 + Django2 +logging 简单日志配置,相关步骤总结1、在项目settings.py 文件中,添加os 功能模块依赖和logging 日志记录配置import os #添加os 模块依赖...... # 省略其他配置# logging 简单日志配置LOGGING = {..原创 2021-08-11 12:18:03 · 5058 阅读 · 0 评论 -
Django json 请求参数提交转实体
业务场景:在实际开发中,很多前端同事使用From 表单对象进行数据提交,他们更喜欢使用request body 提交json 格式数据。针对上述情况,今天简单梳理如何处理这一类问题。解决思路:request body 提交json > json 格式字符串 > dict 对象 >目标实体对象开始本章讲解之前,先补充下Python 关于json 转换相关核心知识点:使用 JSON 函数需要导入 json 库:import json。函数 描述 json.dum.原创 2021-08-11 11:38:29 · 765 阅读 · 0 评论 -
Django 表单验证之自定义表单验证器
本文基于Django 表单验证一文,补充完善表单验证器之自定义表单验证器具体步骤总结如下:第一:在formValidation.py 文件中,添加自定义名称敏感验证器(NameValidation)# 自定义名称敏感校验器class NameValidation: def __call__(self, value): """ 自定义验证 :param value: value表示要验证的数据 :.原创 2021-08-11 10:51:01 · 501 阅读 · 0 评论 -
Django 表单验证
Django 表单类简介:用户表单是Web端的一项基本功能,大而全的Django框架中自然带有现成的基础Form对象 Form表单的功能:1、自动生成HTML表单元素2、检查表单数据的合法性(后端验证)3、如果验证错误,重新显示表单(数据不会重置)4、数据类型转换(字符类型的数据转换成相应的Python类型)Django 表单一般实现步骤:第一步:在models.py定义实体对象Bookfrom django.db import models# Create your原创 2021-08-11 10:33:58 · 1375 阅读 · 0 评论 -
Django实现请求方法和必传参数校验
业务背景:在写views控制层的时候,需要做很多校验,判断请求类型,判断是否有必填项没传,而不同的请求类型,在代码中获取入参的方式也是不同的。例如:get请求 :/selectPage/?page=1&pageSize=1这种,使用request.GET,可以得到一个QueryDict类型的对象,具备dict同款的get方法,可以通过request.GET.get('a')的方法获取参数post from 表单请求:/selectPage/?page=1&pageSize..原创 2021-08-10 19:25:06 · 3840 阅读 · 1 评论 -
PyCharm社区版配置Django 项目断点调试
1、编辑Django项目运行配置2、添加Django 项目debug实例,注意脚本路径和参数3、设置断点,启动服务效果展示:原创 2021-08-10 18:45:44 · 1368 阅读 · 0 评论