随笔分类 - Python
摘要:通过SMTP发邮件 首先要了解几个协议: SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。它定义了邮件客户端和SMTP邮件服务器之间,以及两台SMTP邮件服务器之间的通信规则。 POP3
阅读全文
posted @ 2022-08-23 02:39
silencio。
摘要:# python采用的是以引用计数为主,以分代回收和标记清除为辅的垃圾回收机制 # 1 引用计数 """ 在python中,每创建一个对象,那么python解释器会自动为其设置一个特殊的变量,这个变量称为引用计数(初始值默认是1)。一旦有一个新变量指向这个对象,那么这个引用计数的值就会加1。如果引用
阅读全文
posted @ 2022-08-07 12:26
silencio。
摘要:about Python3.6.8 what's a monkey patch"monkey patch"一词来自于"guerrilla patch",是杂牌军、游击队的意思,而"guerrilla"的英语发音和"gorllia"大猩猩类似,但大猩猩哪有小猴子讨喜啊,所以,慢慢的"guerrilla
阅读全文
posted @ 2021-05-16 18:46
silencio。
摘要:about 在项目中集成短信功能,如短信验证登录、发送短信通知,现在非常普遍,所以本篇记录下如何在项目中集成短信功能。由于监管严格,有的短信服务商开通短信服务的资质也越来越严格,导致我们在开发阶段,不得不尝试其它更多厂家的,目前(2023/5/16)据我了解,不确认以后会不会放开个人资质认证: 腾讯
阅读全文
posted @ 2021-05-16 18:40
silencio。
摘要:内存管理 在刚才的变量赋值中,我们学习了关于变量的知识,即通过一个变量来保存数据,以便于调用。那么,赋值在内部是怎么实现的呢?这就是我们接下来要说的内存存储了。 >>> x = 10 >>> y = x >>> y >>> 10 >>> y = 20 >>> y 20 >>> x 10 >>> y
阅读全文
posted @ 2021-05-07 20:21
silencio。
摘要:Python python入门 数据类型 字符编码 变量的存储关系文件处理 函数 内置函数 迭代器,生成器,装饰器 模块与包 面向对象 面向对象进阶 异常处理 网络编程 多进程,多线程 协程 IO模型 Python的垃圾回收机制 Monkey Patch 常用模块 reasyncio 发邮件 发短信
阅读全文
posted @ 2019-09-26 21:24
silencio。
摘要:作为 pprint 模块的替代方案(json.dumps) # `dict` 的标准字符串 `repr` 很难阅读: >>> my_mapping = {'a': 23, 'b': 42, 'c': 0xc0ffee} >>> my_mapping {'b': 42, 'c': 12648430.
阅读全文
posted @ 2019-06-27 14:33
silencio。
摘要:基础概念 一、进程、程序和线程 程序:程序只是一堆代码而已 进程:指的是程序的运行过程,是对正在运行程序的一个抽象。进程是一个资源单位 线程:每个进程有一个地址空间,而且默认就有一个控制线程。线程才是cpu上的执行单位 二、并发与并行 无论是并行还是并发,在用户看来都是'同时'运行的,不管是进程还是
阅读全文
posted @ 2018-12-31 23:51
silencio。
摘要:三种编程方法论 面向过程:把复杂的任务一步一步分解成简单的任务。 函数式编程:思想上接近于数学运算,根据某种方式,根据方式得出的结果。 面向对象编程:一种编程方式,需要使用“类”和“对象”来实现,其实就是对“类”和“对象的”使用 软件质量属性 软件质量属性包含:成本,性能,可靠性,安全性,可维护性,
阅读全文
posted @ 2018-12-28 21:00
silencio。
摘要:协程 一、协程的本质: 单线程实现并发,在应用程序里控制多个任务的切换+保存状态 二、协程的目的: 想要在单线程下实现并发 并发指的是多个任务看起来是同时运行的 并发=切换+保存状态 三、补充: yiled可以保存状态,yield的状态保存与操作系统的保存线程状态很像,但是yield是代码级别控制的
阅读全文
posted @ 2018-12-25 00:16
silencio。
摘要:IO模型介绍 本文讨论的背景是Linux环境下的network IO,对于一个network IO (这里我们以read举例),它会涉及到两个系统对象,一个是调用这个IO的process (or thread),另一个就是系统内核(kernel)。当一个read操作发生时,该操作会经历两个阶段: 等
阅读全文
posted @ 2018-12-24 23:23
silencio。
摘要:socket Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。所以,我们无需深入理解tcp/udp协议,socket已经为我们封装好了,我们只需要遵循socket的规定去编程,写出的程序自然就是遵循tcp/udp标准的。 套接字分类 基于文件类型的套接字家族:AF_UNI
阅读全文
posted @ 2018-12-24 23:21
silencio。
摘要:模块 模块就是一组功能的集合体,我们的程序可以导入模块来复用模块里的功能,自定义的模块名不应该与系统内置模块重名,当文件被当做模块导入时:__name__等于模块名。尽量避免出现循环/嵌套导入,由于在python中模块被导入一次之后,就不会重新导入,只会在第一次导入时执行模块内代码 一、模块分类 使
阅读全文
posted @ 2018-12-24 16:53
silencio。
摘要:错误异常 异常就是程序运行时发生错误的信号(在程序出现错误时,则会产生一个异常,若程序没有处理它,则会抛出该异常,程序的运行也随之终止),在python中,错误触发的异常如下 常见的错误类型和继承关系:点击 一、分成两种 语法错误(这种错误,根本过不了python解释器的语法检测,必须在程序执行前就
阅读全文
posted @ 2018-12-24 01:26
silencio。
摘要:类型判断 issubclass 首先,我们先看issubclass() 这个内置函数可以帮我们判断x类是否是y类型的子类 class Base: pass class Foo(Base): pass class Bar(Foo): pass print(issubclass(Bar, Foo)) #
阅读全文
posted @ 2018-12-24 01:24
silencio。
摘要:模块:本质上就是一个.py文件,使用其中的函数。 模块分为:内置函数、第三方模块、自定义模块。 #!/usr/bin/env python # -*- coding: utf-8 -*- import smtplib from email.mime.text import MIMEText from
阅读全文
posted @ 2018-12-24 01:13
silencio。
摘要:闭包函数 闭包函数:函数内部定义函数,成为内部函数。该内部函数包含对外部作用域,而不是对全局作用域名字的引用,那么该内部函数成为闭包函数。 name='alex' #定义全局变量name='alex' def func(): name='egon' #定义局部变量name='egon' def ba
阅读全文
posted @ 2018-12-24 01:09
silencio。
摘要:一、内置函数 官方文档:点击 # 匿名函数 f=lambda a,b:a+b print(f(2,3)) # 5 # abs() 取绝对值 print(abs(-111)) # 111 # all() 循环可迭代对象的每个元素,都为真则返回True,否则返回假 # 0,None ,"",[],(),
阅读全文
posted @ 2018-12-24 01:04
silencio。
摘要:函数基础 一、定义函数 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 """ #语法 def 函数名(参数1,参数2,参数3,...): '''注释''' 函数体 return 返回的值 #函数名要能反映其意义 """ def tol
阅读全文
posted @ 2018-12-24 00:52
silencio。
摘要:文件操作 计算机系统分为:计算机硬件,操作系统,应用程序三部分。 我们用python或其他语言编写的应用程序若想要把数据永久保存下来,必须要保存于硬盘中,这就涉及到应用程序要操作硬件,众所周知,应用程序是无法直接操作硬件的,这就用到了操作系统。操作系统把复杂的硬件操作封装成简单的接口给用户/应用程序
阅读全文
posted @ 2018-12-24 00:39
silencio。