python的那些事儿
文章平均质量分 78
主要介绍有关python的一些重要特性以及可使用python实现的某些特殊功能
sty945
这个作者很懒,什么都没留下…
展开
-
如何在本地访问远程服务器的jupyter notebook?
背景jupyter notebook作为一个非常好用的工具,我们经常会在学习python以及深度学习的时候用到,但是经常我们面临的问题是远程服务器上的jupyter notebook,我们可能在本地没法使用,作者遇到的主要场景有:服务器是云服务器,虽然运行jupyter notebook,显示8888端口已开,但是实际上云服务器没有开放8888端口,因此我们在本地访问不了直接在服务器运行jupyter notebook开启的ip是http://127.0.0.1,虽然我们可以指定ip地址,但是比较麻原创 2021-08-22 15:27:05 · 758 阅读 · 1 评论 -
用python实现杨辉三角的几种不同方式
杨辉三角的概念比较详细的知识可以看这里,在杨辉三角中,每个数是它左上方和右上方的数的和。 1 / \ 1 1 / \ / \ 1 2 1 / \ / \ / \ 1 3 3 1 / \ / \ / \ / \ 1 4 6 4 1 / \ / \ / \ / \ / \1 5 10 10 5 1解法1:动态规划思路:如果能够知道一原创 2020-11-21 16:13:57 · 2654 阅读 · 0 评论 -
如何优雅的在python中暂停死循环?
死循环有时候在工作中可能会遇到要一直执行某个功能的程序,这时候死循环就派上用途了,python中死循环的具体形式大致如下 while True: run_your_code()结束死循环通常我们结束死循环的程序都是使用ctrl+c,但是如果不对程序做处理的话,往往程序会以“异常”的方式结束程序,并且更多的时候我们希望程序在退出之前能够结束最近一次循环所执行的功能。如何优雅结束import signaldef signal_handler(signal, f原创 2020-08-03 17:22:58 · 5093 阅读 · 1 评论 -
FastAPI 自动生成的docs文档没法使用
FastAPI 自动生成的docs文档没法使用,当展开路径时候一直在转圈,具体就是这样这个是由于swagger-ui 3.30.1 中的bug导致,具体bug可以看这里我们可以通过在FastAPI中指定低版本的swagger-ui 来解决这个问题,主要方法是在main.py的文件中加上如下代码:from fastapi import applicationsfrom fastapi.openapi.docs import get_swagger_ui_htmldef swagger_monk原创 2020-07-23 22:28:45 · 3549 阅读 · 0 评论 -
并发 vs 并行 (Concurrency Is Not Parallelism)
前言不知你是否曾经下列这些疑问?并发与并行性有何关系?什么是同步和异步执行?如何区分并发与并行?线程如何与所有这些概念一起使用?并发并发性意味着应用程序同时(并发地)在多个任务上取得进展(is making progress )。好吧,如果计算机只有一个CPU,那么应用程序可能不会在同一时间对多个任务进行处理,但是在应用程序内部,同时处理多个任务。在开始下一个任务之前,它不会完全完成一个任务。让我们举个现实生活中的例子:有个挑战要求你既要吃掉一整块蛋糕,又要唱一整首歌。如果你是最快唱完整原创 2020-07-18 19:46:27 · 491 阅读 · 1 评论 -
解决pip安装报错:is not a supported wheel on this platform
原因1你下载安装的包不是当前平台所支持的原因2你下载的包,不符合你所在的平台的安装whl的名称规范,所以出错。比如当前我要安装的包是:PyMuPDF-1.16.16-cp36-cp36m-manylinux2010_x86_64.whl但是在我的系统中使用如下命令安装:pip3 install PyMuPDF-1.16.11-cp36-cp36m-manylinux2010_x86_6...原创 2020-03-30 15:53:16 · 117940 阅读 · 13 评论 -
记录一次简单、高效、无错误的linux上安装pytorch的过程
1 准备minicondaMinicondaMiniconda 可以理解成Anaconda的免费、浓缩版。它非常小,只包含了conda、python以及它们依赖的一些包。我们可以根据我们的需要再安装相关的包,非常推荐。1.1 下载官方地址在这里:https://docs.conda.io/en/latest/miniconda.html如果下载linux下的Python 3.7的安装包...原创 2019-11-30 11:21:56 · 674 阅读 · 0 评论 -
简述Web程序开发流程
总体开发流程分析需求, 列出功能清单或写需求说明书。设计程序功能, 写功能规格书和技术规格书。进入开发与测试的迭代。调试和性能等专项测试。部署上线运维前端开发流程根据功能规格绘制页面草图根据草图绘制交互式原型图根据原型图确定界面UI根据界面UI开发前端页面后端开流程数据库建模编写表单类编写视图函数和相关的处理函数(API编写)和前端联调测试...原创 2019-11-27 15:57:56 · 844 阅读 · 0 评论 -
在pycharm中无法引入同一目录下的python文件
问题同一目录下存在以下两个python文件:1. app.py2. forms.py现在我希望在app.py中引入forms.py的某个函数,但是出现如下情况:主要表现在:函数标红无法自动补全解决办法在文件夹上右键->选择Mark Directory as -> Sources Root设置完成之后文件夹会变成浅蓝色,上述问题会得以解决...原创 2019-10-28 16:24:32 · 2931 阅读 · 5 评论 -
初窥CSRF攻击方式以及Flask-WTF
含义CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSRF/XSRF。解释这幅图非常形象的解释了CSRF原理的具体过程。从上图可以看出,要完成一次CSRF攻击,受害者必须依次完成两个步骤:登录受信任网站A,并在本地生成Cookie。在不登出A的情况下,访问危险...原创 2019-10-28 14:32:00 · 313 阅读 · 0 评论 -
用python给自己写一个加密算法
前言我们经常在写程序的过程中需要给自己写一些敏感的信息,比如密码,那么我们如何给自己的密码加密呢?现在我们自己来给自己写一个加密和解密的程序程序# coding:utf-8# !/usr/bin/env python# Time: 2018/4/28 14:45# Author: sty# File: forbid_password.pydef encryp...原创 2018-05-08 10:18:00 · 10195 阅读 · 0 评论 -
利用exchangelib快速上手使用python发邮件
前言之前一直知道使用python smtp发邮件,但是最近发现一个神器exchangelib,用这个神器发邮件,简直简单的不能再简单了,官方文档在这里实例只需要将下面的xxx改成你的信息就可以了from exchangelib import DELEGATE, Account, Credentials, Message, Mailbox, HTMLBodydef Email...原创 2018-05-08 10:27:44 · 13686 阅读 · 0 评论 -
Pandas 使用入门
Pandas 简介运行环境jupyter notebookpython 3.6pandas '0.20.3'matplotlib '2.1.0'学习目标: * 大致了解 pandas 库的 DataFrame 和 Series 数据结构 * 存取和处理 DataFrame 和 Series 中的数据 * 将 CSV 数据导入 pandas 库的 DataFr...原创 2018-03-05 09:57:33 · 5675 阅读 · 2 评论 -
用python的生成器yield轻松解决8皇后的问题以及斐波拉契数列
def conflict(state, nextX): nextY = len(state) for i in range(nextY): if abs(state[i] - nextX) in (0, nextY - i): return True return Falsedef queens(num=8, state=()):...原创 2018-03-08 17:16:44 · 5492 阅读 · 0 评论 -
python重难点之装饰器详解
背景虽然之前看过装饰器的相关内容,但是今天想起来,一直没有好好总结一下,所以特地记录下关于装饰器的一系列用法。 要想理解装饰器首先要明确颇python中的三个概念: 1.一切函数皆为对象 2.高阶函数 3.嵌套函数 然后才能理解: 4.什么是装饰器? 5.装饰器如何实现? 6.装饰器有什么用?详细解释一切函数皆为对象准确来说在Python,一切皆为对象,此处说的点与函数相关所以将范围原创 2017-12-03 15:58:30 · 4332 阅读 · 0 评论 -
关于python导入模块和package的一些深度思考
背景在python中有导入模块和导入package一说,这篇文章主要介绍导入模块和package的一些思考。 首先什么是模块?什么是package? 模块:用来从逻辑上组织python代码(变量,函数,类),本质上就是以.py结尾的python文件 package:本质上就是一个目录,但是必须带一个init.py的文件,它是用来从逻辑上组织模块的 import的本质是什么? 导入模块的本质原创 2017-12-08 14:48:01 · 6554 阅读 · 0 评论 -
python3+ 解决写入中文乱码的问题
import jsondata = [{'id': ' 002', 'name': ' 小明', 'type': ' Grass', 'typeTwo': ' Poison'}]# 首先要用utf-8的格式打开文件with open('sty.json', 'w', encoding='utf-8') as f: # 然后需要让ensure_ascii设置为False,则可以将中文以原创 2018-01-13 18:50:13 · 13229 阅读 · 3 评论 -
关于python创建类的深入理解
背景我们知道在python中一切皆为对象的概念,那我们们来看一段程序class Foo(object): def __init__(self, name): self.name = namef = Foo("sty")print(type(f))print(type(Foo))#output:# # 如果按照一切事物都是对象的理论:f对象是原创 2018-01-25 15:45:07 · 6248 阅读 · 2 评论 -
python 网络编程之Socket通信案例消息发送与接收
背景网络编程是python编程中的一项基本技术。本文将实现一个简单的Socket通信案例消息发送与接收正文 在python中的socket编程的大致流程图如上所示我们来首先编写客户端的代码:# !/usr/bin/env python# -*- coding: utf-8 -*-# Time: 2018/1/26 13:59# Author: sty# F原创 2018-01-26 14:56:22 · 8985 阅读 · 0 评论 -
python实现简单的用户密码登录控制(输入三次就锁定用户)
问题描述我们经常在登录一些网站的时候,发现我们如果连续的输错好几次密码,我们的帐号就被锁定起来了,那这个过程是如何实现的呢?本程序主要就是解决以下3件事情 1.输入用户名密码 2.认证成功并显示欢迎信息 3.输错三次后锁定解决办法# !/usr/bin/env python# -*- coding: utf-8 -*-# Time: 17-11-18 上午8:45...原创 2018-02-27 12:59:36 · 8672 阅读 · 0 评论 -
通过python利用哈希值实现比较两个文件的一致性
背景近来学习到python的内置函数hash(),深入发现通过python的哈希值可以做很多的事情,最典型的可能就是文件加密了,在我们现实生活中大约有如下一些用途:加密网站注册用户的密码。网站用户上传图片 / 文件后,计算出MD5值作为文件名。(MD5可以保证唯一性)key-value数据库中使用MD5值作为key。比较两个文件是否相同。(大家在下载一些资源的时候,就会发现网站提供了MD5值原创 2017-11-30 08:41:17 · 19106 阅读 · 0 评论