2020
文章平均质量分 52
2020
iFakeCoder
这个作者很懒,什么都没留下…
展开
-
PEP8编码规范
为什么我们需要编码规范?我们都知道在编写代码的过程中,遵循正确的语法便可以写出能够正常运行的程序,那么为什么还需要编码规范的约束呢?这是因为编码规范往往和代码质量、可读性、可维护性,甚至软件的生命周期都有直接的关系,遵循编码规范,会给我们在代码的开发以及后期维护带来很多好处,包括但不限于以下几点:有助于增强代码的一致性和可读性。代码被阅读的次数远大于它被编写的次数,良好的遵循编码规范可以保证代码在一个项目中,甚至多个项目之间保持一致性和可读性;有助于提高代码的可维护性和代码质量。易于理解的变...原创 2021-02-03 17:35:38 · 961 阅读 · 0 评论 -
数据库|sql视图介绍
视图介绍视图(View)是一种虚拟存在的表,对于使用视图的用户来说基本上是透明的。视图并不在数据库中实际存在,行和列数据来自定义视图的查询中使用的表,并且是在使用视图时动态生成的。定义视图create view 视图名称 as select 语句SELECT * FROM provinces;CREATE VIEW v_pro AS SELECT * FROM provinces;SELECT * FROM v_pro;查看视图查看表的时候会把视图表也列出来show table原创 2021-02-03 17:20:47 · 282 阅读 · 0 评论 -
数据库|sql语句
SQL语句操作数据库(DDL)连接数据库mysql -u用户名 -penter password:密码退出数据库exitquit****查看已经创建的数据库SHOW DATABASES;注意mysql不严格区分大小写分号作为结束符,必须写****查看数据库版本select version();****创建数据库CREATE DATABASE 数据库名;CREATE DATABASE 数据库名 charset=utf8;注意ch..原创 2021-02-03 14:45:03 · 410 阅读 · 0 评论 -
数据库|sql简介
SQL介绍SQL是结构化查询语言,是一种用来操作RDBMS(关系型数据库管理系统)的数据库语言,当前关系型数据库都支持使用SQL语言进行操作,也就是说可以通过SQL操作oracle,sql server,mysql等关系型数据库。SQL语句主要分为DDL语句:数据定义语言,这些语句定义了不同的数据段、数据库、表、列、索引等数据库对象。DML语句:数据操纵语句,用于添加、删除、更新、和查询数据库记录,并检查数据完整性DCL语句:数据控制语句,用于控制不同数据段直接许可和访问级别的语句。数据完整原创 2021-02-03 14:17:31 · 496 阅读 · 0 评论 -
钉钉自定义机器人发送消息SDK
钉钉自定义机器人发送消息SDK当需要将系统的一些预警等信息推送到钉钉群时,我们可以通过开启自定义机器人来通过API接口推送钉钉消息。使用说明当前自定义机器人支持文本 (text)、链接 (link)、markdown(markdown)、ActionCard、FeedCard消息类型; 每个机器人每分钟最多发送20条。消息发送太频繁会严重影响群成员的使用体验,大量发消息的场景 (譬如系统监控报警) 可以将这些信息进行整合,通过markdown消息以摘要的形式发送到群里。发送普通消息@Testpu原创 2021-02-01 14:45:43 · 1109 阅读 · 1 评论 -
Python碎片|matplotlib设置中文字体的三种方法
matplotlib设置字体的方法方法一import matplotlibfont = { 'family':'SimHei', 'weight':'bold', 'size':12}matplotlib.rc("font", **font)方法二import matplotlib.pyplot as pltplt.rcParams['font.sans-serif'] = ['SimHei'] # 步骤一(替换sans-serif字体)plt.rcParams[原创 2021-01-27 18:41:41 · 1196 阅读 · 0 评论 -
Python碎片|腾讯位置大数据
import requestsimport jsonimport pandas as pdheader={ 'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:82.0) Gecko/20100101 Firefox/82.0'}url = 'https://xingyun.map.qq.com/api/getXingyunPoints'for i in range(1,5): payload = {'count':.原创 2021-01-15 10:57:45 · 781 阅读 · 5 评论 -
Python碎片|pandas用zip函数创建DataFrame面板数据
zip函数zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。>>>a = [1,2,3]>>> b = [4,5,6]>>> c = [4,5,6,7,8]>>> zipped = zip(a,b) # 打包为元组的列表[(1, 4), (2,..原创 2021-01-15 10:07:49 · 2173 阅读 · 0 评论 -
python碎片|账本自动分页分行源码
#!/usr/bin/env python# _*_ coding: utf-8 _*_# @Author : zhenbei# @File : konggang.py# @Time : 2021/1/11 17:20import pandas as pddat = pd.read_csv(r'C:\Users\giser\Desktop\9.csv', encoding='gbk')dt = dat.groupby(dat['SCODE '])scode = pd.DataFrame.原创 2021-01-12 10:53:18 · 154 阅读 · 1 评论 -
Python碎片|Python推导式最全用法
for循环写一段代码生成1到100之间的数字的平方的列表,答案是:1,4,9,16...如果你这样写,你就不Pythonic了:nums = []for i in range(1,101): nums.append(i*i)print(nums)推导式nums = [i*i for i in range(1,101)]带条件的推导式生成一个列表,如果是3的倍数就用平方,否则就用是数字本身:1,2,9,4,5,36...代码:nums = [i*i if ..原创 2021-01-11 09:52:35 · 225 阅读 · 0 评论 -
python碎片|Python类属性描述
__getattr__是当类调用一个不存在的属性时才会调用getattr魔法函数,他传入的值item就是你这个调用的不存在的值。class User(object): def __init__(self, name, info): self.name = name self.info = infols = User("李四",{"gender":"male"})print(ls.info)运行结果:{'gender': 'male'}如果想获得ma.原创 2020-12-17 22:44:02 · 176 阅读 · 0 评论 -
python碎片|Python对象自省机制
来源:逻辑教育自省是通过一定的机制查询到对象的内部结构。Python中比较常见的自省(introspection)机制(函数用法)有: dir(),type(), hasattr(),isinstance(),通过这些函数,我们能够在程序运行时得知对象的类型,判断对象是否存在某个属性,访问对象的属性。class A(object): def __init__(self): print("A")class C(A): def __init__(self):.原创 2020-12-12 10:06:20 · 136 阅读 · 0 评论 -
python碎片|多态的定义及特点
定义:多态是指一类事物有多种形态。在不考虑实例类型的情况下使用实例,不同类型的实例有相同的调用方法。特点:1.增加灵活性以不变应万变,不论对象千变万化,使用者都是同一种形式去调用,如func(animal)2.增加可扩展性通过继承animal类创建了一个新的类,使用者无需更改自己的代码,还是用func(animal)去调用例子:class dog: def info(self): print('hello dog')class cat: def i原创 2020-12-07 21:42:30 · 370 阅读 · 0 评论 -
python碎片|python字符串与列表的相互转换
字符串转列表str1 = "hi hello world"print(str1.split(" "))输出:['hi', 'hello', 'world']列表转字符串l = ["hi","hello","world"]print(" ".join(l))输出:hi hello world原创 2020-11-11 14:25:13 · 244 阅读 · 0 评论 -
python碎片|groupby
def groupby(self, by=None, axis=0, level=None, as_index=True, sort=True, group_keys=True, squeeze=False, observed=False, **kwargs): """ Group DataFrame or Series using a mapper or by a Series of columns. A grou...原创 2020-10-27 07:25:36 · 763 阅读 · 0 评论 -
AttributeError: ‘NoneType‘ object has no attribute ‘append‘
day_info1=day_info1.append(info[0])修改为:day_info1.append(info[0])原因:append会修改a本身,并且返回None。不能把返回值再赋值给a。原创 2020-10-26 19:39:13 · 318 阅读 · 0 评论 -
python碎片|pandas读取文件不改变文本格式
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar原创 2020-10-26 17:32:23 · 645 阅读 · 0 评论 -
python碎片|python函数传参
参数类型参数定义参数: 在定义函数的时候,可以在函数后面的括号里定义数量不等的形参,形参就是形式上的参数,多个参数之间必须用逗号隔开(形参就是没有给赋值的参数)实参形参实参类型参数的传递方式不定长参数使用*a接受不定长参数,a的对应数据是一个元组a 可以和其他的参数配合使用,但是注意a要放到后面,*kwargs前面,且带星号的参数只能有一个*a 只能接受位置参数**a 来接受关键字参数,a 的对应数据是一个字典不定长参数: *args **kwargs参数原创 2020-10-22 14:19:12 · 292 阅读 · 0 评论 -
Python核心基础|第十一讲 面向对象(一)
1.面向对象简介Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的。如果你以前没有接触过面向对象的编程语言,那你可能需要先了解一些面向对象语言的一些基本特征,在头脑里头形成一个基本的面向对象的概念,这样有助于你更容易的学习Python的面向对象编程。• Python是一门面向对象的编程语言• 所谓面向对象的语言,简单理解就是语言中的所有操作都是通过对象来进行的• 面向过程• 面向过程指将我们的程序分解为一个一个步骤,通过对每个步骤的抽象来原创 2020-10-14 10:12:36 · 355 阅读 · 1 评论 -
python碎片| json.dumps()和json.loads()
一、概念理解1、json.dumps()和json.loads()是json格式处理函数(可以这么理解,json是字符串) (1)json.dumps()函数是将一个Python数据类型列表进行json格式的编码(可以这么理解,json.dumps()函数是将字典转化为字符串) (2)json.loads()函数是将json格式数据转换为字典(可以这么理解,json.loads()函数是将字符串转化为字典)2、json.dump()和json.load()主要用来读写json文件函数二、测原创 2020-10-12 17:36:06 · 230 阅读 · 0 评论 -
Python核心基础|第十讲 函数(三)
高阶函数接收函数作为参数或者将函数作为返回值返回的函数就是高阶函数list1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]def fn1(i): if i % 2 == 0: return Truedef fn(fun, list1): new_list = [] for i in list1: if fun(i): new_list.append(i) return原创 2020-10-11 19:20:48 · 331 阅读 · 0 评论 -
Python核心基础|第九讲 函数(二)
函数返回值返回值就是函数执行以后返回的结果通过return来指定函数的返回值return后面可以跟任意对象,返回值甚至可以是一个函数return当你不写return语句 和只写有一个return 的时候,返回值是Nonedef fn(*args): r = 0 for i in args: r += i print(r)fn(1,2,3)print(fn(1,2,3))结果:C:\Users\giser\AppData\Local\P原创 2020-10-10 17:38:45 · 2060 阅读 · 6 评论 -
mapgis安装|计算机中丢失basroot.dll
计算机中丢失basroot.dll**安装mapgis的时候最后选择dir的环境,就是上面那个就好了。我一开始就是默认下面的,一直不能用。改完就好了**原创 2020-09-29 23:42:30 · 1698 阅读 · 0 评论 -
Python核心基础|第八讲 函数(一)
1.函数简介• 函数也是一个对象• 函数用来保存一些可执行的代码,并且可以在需要时,对这些语句进行多次调用语法def 函数名([形参1,形参2,形参3…]):代码块注意:函数名必须符合标识符的规范(可以包含字母、数字、下划线但是不能以数字开头)print是函数对象 print()是调用函数2. 函数的参数2.1 形参和实参• 形参(形式参数) 定义形参就相当于在函数内部声明了变量,但是并不是赋值• 实参(实际参数)指定了形参,那么在调用函数时必须传递实参,实参将会赋值给对应的形参,原创 2020-09-29 17:35:13 · 251 阅读 · 0 评论 -
Python核心基础|第七讲 元组&字典&集合及作业
元组元组简介tup1 = ('Google', 'Runoob', 1997, 2000)元组表现形式tuple元组是一个不可变序列(一般当我们希望数据不改变时,我们使用元组,其他情况下基本都用列表)原创 2020-09-25 10:57:15 · 495 阅读 · 0 评论 -
Python核心基础|第六讲 列表及作业
序列(sequence)基本概念序列是Python中最基本的一种数据结构。序列用于保存一组有序的数据,所有的数据在序列当中都有一个唯一的位置(索引)并且序列中的数据会按照添加的顺序来分配索引数据结构指计算机中数据存储的方式序列的分类可变序列(序列中的元素可以改变):例如 列表(list)不可变序列(序列中的元素不能改变):例如 字符串(str)元组(tuple)列表(list)列表是Python中的一个对象列表的作用列表中可以保存多个有序的数据列表是用来存储对象的对象列.原创 2020-09-23 11:08:20 · 569 阅读 · 0 评论 -
Python核心基础|第五讲 流程控制及作业
条件判断语句(if语句)• 执行的流程:• if语句在执行时,会先对条件表达式进行求值判断,• 如果为True,则执行if后的语句• 如果为False,则不执行• 语法:if 条件表达式 :• i代码块代码块中保存着一组代码,同一个代码块中的代码,要么都执行要么都不执 行 • i代码块以缩进开始,直到代码恢复到之前的缩进级别时结束 • 代码块就是一种为代码分组的机制input() 函数该函数用来获取用户的输入input()调用后,程序会立即暂停,等待用户输.原创 2020-09-21 15:11:07 · 201 阅读 · 0 评论 -
Python核心基础|第四讲 运算符及作业
运算符1.1 运算符的概念• 运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。例如:2+3,其操作数是2和3,而运算符则是“+”1.2 运算符的分类• 算术运算符• 赋值运算符• 比较运算符(关系运算符)• 逻辑运算符• 条件运算符(三元运算符)算术运算符• 加法运算符 表现形式 +• 减法运算符 表现形式 -• 乘法运算符 表现形式 *• 除法运算符 表现形式 /• // 整除,只会保留计算后的整数位,总会返回一个整型• % 取模,求两个数相除的余数• *.原创 2020-09-18 10:09:42 · 343 阅读 · 0 评论 -
python碎片|pandas模块详解
pandas 最有趣的地方在于里面隐藏了很多包。它是一个核心包,里面有很多其他包的功能。这点很棒,因为你只需要使用 pandas 就可以完成工作。pandas 相当于 python 中 excel:它使用表(也就是 dataframe),能在数据上做各种变换,但还有其他很多功能。原创 2020-09-17 13:30:56 · 814 阅读 · 0 评论 -
Python核心基础|第三讲 基础数据类型及作业
一 、课堂内容基本数据类型• 数据类型指的就是变量的值的类型,也就是可以为变量赋哪些值整数和小数• 整数 : 所有整数 例如 : a = 1 b = 100 c =999 都是int类型• 小数常量 : 所有小数 例如 a = 1.2 b=6.66 用float类型表示布尔值和空值• 布尔: 只有2个值一个是True 一个是False• None常量:只有一个数值就是None 也就是空值字符串什么是字符串• 字符串是由数字、字母、下划线组成的一串字符• 注意• 单引号或双引号不能原创 2020-09-15 22:11:05 · 561 阅读 · 1 评论 -
Python源码|GCJ02转WGS84坐标
#!/usr/bin/env python# -*- encoding: utf-8 -*- # File : gcj_wgs84.py# Author : zhenbei# Date : 2020-08-15 13:22import jsonimport urllibimport mathimport pandas as pdx_pi = 3.14159265358979324 * 3000.0 / 180.0pi = 3.1415926535897932384626 # πa原创 2020-08-16 20:20:41 · 2184 阅读 · 0 评论 -
python源码|dingniu
import requestsimport openpyxl# 创建工作薄wb=openpyxl.Workbook() # 获取工作薄的活动表sheet=wb.active # 工作表重命名sheet.title='顶牛' sheet.append(['序号','股票代码','最新价','涨幅','换手率','量比','DDX','DDY','DDZ','5日','10日','连...原创 2020-02-10 17:40:09 · 143 阅读 · 0 评论 -
python 时间戳计算
根据当前时间戳获得整小时时间戳unit = 3600start_time = int(time.time())/3600 * 3600根据当前时间戳获得整天时间戳unit = 3600*24start_time = int(time.time()) / unit * unit - 8 * 3600由于时间戳起始为1970 年 1 月 1 日(08:00:00)所以这里需要减8小时才时0点...原创 2020-02-08 11:07:34 · 6590 阅读 · 0 评论 -
Linux安装libsodium失败解决办法
#Centos:centosyum -y groupinstall "Development Tools"wget https://github.com/jedisct1/libsodium/releases/download/1.0.11/libsodium-1.0.11.tar.gztar xf libsodium-1.0.11.tar.gz && cd libsodi...原创 2020-02-02 14:46:50 · 11907 阅读 · 2 评论 -
Python使用xpath爬取数据返回空列表解决方案积累
原文地址转载 2020-01-14 11:46:11 · 3050 阅读 · 0 评论 -
news_spider|
import requests as reqfrom lxml import etreeimport pandas as pdimport datetimeinfo={}nowTime = datetime.datetime.now().strftime('%Y-%m-%d-%H-%M-%S')print(nowTime)url='https://www.00.com/'heade...原创 2020-01-09 20:49:19 · 189 阅读 · 0 评论 -
python|数据提取之xpath
数据提取之xpath学习目标了解 html和xml的区别掌握 xpath获取节点属性的方法掌握 xpath获取文本的方法掌握 xpath查找特定节点的方法1 为什么要学习xpath和lxmllxml是一款高性能的 Python HTML/XML 解析器,我们可以利用XPath,来快速的定位特定元素以及获取节点信息2 什么是xpathXPath (XML Path Langu...原创 2020-01-09 11:13:46 · 708 阅读 · 0 评论 -
python_basic|timeline_bar
from pyecharts import options as optsfrom pyecharts.charts import Bar, Map, Page, Pie, Timelinefrom pyecharts.faker import Collector, Fakerdef timeline_bar() -> Timeline: x = Faker.choose(...原创 2020-01-03 09:36:44 · 507 阅读 · 0 评论 -
Python_basic|elif
score = int(input('您的成绩:'))if score >= 90 and score <= 100: print('本次考试,等级为A')elif score >= 80 and score < 90: print('本次考试,等级为B')elif score >= 70 and score < 80: print...原创 2020-01-02 11:56:13 · 151 阅读 · 0 评论 -
python_basic|while嵌套应用二:九九乘法表
i = 1while i <= 9: j = 1 while j <= i: print("%d*%d=%-2d " % (j, i, i * j), end='') j += 1 print('\n') i += 1 ``` 1*1=1 1*2=2 2*2=4 1*3=3 2*3=...原创 2020-01-02 11:50:45 · 188 阅读 · 3 评论