
Python便签
人人值得懂得Python知识点,助力办公自动化。
曼巴的脚步
python大师带我飞
展开
-
元编程(Metaprogramming)for Python:构造改道
简单说元编程元编程概念来自LISP和smalltalk。我们写程序是直接写代码,是否能够用代码来生成未来我们需要的代码吗?这就是元编程。例如,我们写一个类class A,能否用代码生成一个类出来?用来生成代码的程序称为元程序metaprogram,编写这种程序就称为元编程metaprogramming。Python语言能够通过反射实现元编程。Python中,所有非object类都继承自object类所有类的类型包括type类都是typetype类继承自object类,object类的类型也原创 2020-10-21 13:48:38 · 686 阅读 · 1 评论 -
夏天到,装饰器让Python秀出性感属性:Property+Decorators+-+Getters,+Setters,+and+Deleters
John Smith曾经是我的好基友,没有之一,今天我们拿他做个试验:初始代码,我们做一个打印员工John Smith信息的类,实例emp_1会用类属性输出:class Employee: def __init__(self, first, last): self.first = first self.last = last self.email = first + "." + last + '@email.com' def fullnam原创 2020-05-22 12:08:59 · 333 阅读 · 0 评论 -
用正则表达式解锁IP地址那点事:何在正则表达式中查找和验证IP地址
要为ip地址编写正则表达式,最基本的就是要了解如何为数字编写正则表达式代码。正则表达式不能将数字理解为数字,而只能将其理解为字符串字符,因此以数字或数学运算形式给出的任何范围都不起作用。正如所有情况一样,首先要为ip编写正则表达式,我们必须分析问题并可视化这种情况下的复杂性,以便编写高效且有效的正则表达式代码以匹配Internet协议地址。如果您想通过简单的示例在逐步学习Complete Regex,我建议可以研究更多关于正则表达式的数字和数字范围这篇博客:https://blog.youkuaiyun.com/pa原创 2020-05-10 15:44:12 · 396 阅读 · 0 评论 -
一篇认真的正则入门文章:正则表达式数字和数字范围匹配表达
文章目录https://www.regextutorial.org/regex-for-ip-address-match.php正则表达式的数字和数字范围表达在本文中,您将学习如何在正则表达式中匹配数字和数字范围。正则表达式编号范围包括0到9、1到9、0到10、1到10、1到12、1到16和1-31、1-32、0-99、0-100、1-100, 1-127、0-255、0-999、1-999、1-1000和1-9999。关于正则表达式要记住的第一件事是正则表达式不知道数字,不知道计数并且不能理解1-原创 2020-05-10 15:25:44 · 25796 阅读 · 10 评论 -
Python的类型注解Annotation
Python函数类型注解的方式因为当Python用于大型项目时候,没有类型这个Python的特征的弱点就暴露出来,特别是项目中人员层次参差不齐,项目中就会产生各种bug。虽然动态语言Python虽然无法解决没有类型的这个问题,但是它也做了一些折中方案。加help文档(3.5以后)def add(x, y) ->int: # 函数注释,非强制类型要求 """ :param x: int :param y: int :return: int """原创 2020-05-08 17:34:18 · 2017 阅读 · 0 评论 -
Python匿名函数Lambda:想明白这些练习结果,Lambda才算懂了
Python的lambda样式相对其他语言比较简单。lambda 不能出现=,不出现return,冒号是最后一个表达式,表达式计算的结果作为该匿名函数的返回值>>> fn = lambda : 0>>> fn<function __main__.<lambda>()>>>> def fn(x):>&...原创 2020-04-26 17:43:53 · 781 阅读 · 0 评论 -
Python带参装饰器的入门练习
Python带参装饰器的入门套路在学习带参装饰器前我们首先复习一下无参装饰器的写法:def add(x, y): return x + ydef logger(fn): def wrapper(*args, **kwargs): # 这里是形参的传入,可以传入类型最终由fn|add决定 print("before the fn/add") ...原创 2020-04-24 17:42:38 · 224 阅读 · 0 评论 -
用关键字清单复习高效Python函数的基础
作为一个商务人士,你会如何选择自己的笔记本电脑呢?可能不少人被问及这个问题的时候并没有很清晰的答案。作为一款适合工作的轻薄商务笔记本,首先应该具备较强大的运行能力,及时解决随时出现的工作问题;其次,许多商务人士因为有外出携带的需要,因此也需要笔记本电脑有较好的便携性和续航能力。目前市面上的轻薄商务笔记本五花八门,品牌繁多,并不利于挑选,下面就为大家介绍几款比较适合商务人士的轻薄商务笔记本。1、...原创 2018-10-22 11:14:14 · 259 阅读 · 0 评论 -
Python函数的形参中的缺省值中的可变类型: x 1 和x =1 是不同的 (1)
形参的[],与实参的[] 的不同形参缺省值里的空列表,是同一id:def foo(y=[]): y.append(1) #y 是局部变量 #y不提供实参,就使用保存在函数对象了的缺省值 return yfoo(),foo(),foo()([1, 1, 1], [1, 1, 1], [1, 1, 1])缺省值被保存在foo.__defaults__中,是一个元组fo...原创 2020-04-17 20:56:28 · 364 阅读 · 0 评论 -
Python字典101-Dictionary至少知道这么多
字典术语:Dict-Mapping;Item-Entry字典英文成为Dict或者Dictionary,也称作mapping。Python中,字典是有任意个元素组成的集合,每个元素成为一个Item,也成为Entry。key+value组合构成了Item,即Entry。Python字典的初始化初始化方法一:dict(**kwargs),使用dict[name]=value完成字典的初始化初始...原创 2020-04-06 22:45:24 · 356 阅读 · 0 评论 -
跟我一起练习神器IPython使用用法
帮助# ?# int?# int??特殊变量a = 1000b = 2000_ #上一次out值''a1000b2000__1000___1000_oh #out输出历史{6: '', 7: 1000, 8: 2000, 9: 1000, 10: 1000}_dh # 目录历史['C:\\Users\\Administr...原创 2020-04-06 21:02:30 · 380 阅读 · 0 评论 -
Python3集合set的入门101练习
集合的特性去重性、无序性(不可索引)、可hash、可遍历迭代set初始化>>> s1 = set()>>> s1set()>>> s2 = set(range(5))>>> s2{0, 1, 2, 3, 4}>>> s3 = set([1,2,3])>>> s3...原创 2020-04-06 20:06:06 · 433 阅读 · 0 评论 -
Python3的新类型:Bytesarray和初识字节序
bytesarray的定义bytesarray没有像bytes的b’'的快捷方式,只能用bytesarrary()>>> bytearray() # 可变的数组bytearray(b'')>>> b10 = bytearray(b"")>>> b10bytearray(b'')>>> bytearray(...原创 2020-04-05 21:01:50 · 599 阅读 · 0 评论 -
Python3的新类型:Bytes
Bytes的定义方法byte是不可变类型,一旦定义不可以修改>>> b1 = bytes() # b" 空字节,一旦定义不可修改>>> b1b''>>> b1 = 1>>> b11>>> b2 = b''>>> b2b''>>> b3 =...原创 2020-04-05 18:16:43 · 432 阅读 · 0 评论 -
Python基础:编码表和字符的故事
在计算机内部,都是每8位组成的一个个字节,比如我们使用"abc".encode()把abc转化成二进制byte类型,注意byte是不可变类型:编码过程>>> abc.encode() # 把str字符变为bytes字节类型;字符是一个个连接的,转化出来的bytes也是一个个连续的。b'abc'>>> "阿".encode("utf-8") ...原创 2020-04-05 11:11:58 · 342 阅读 · 0 评论 -
Python小白的切片练习101
Python切片的基本语法sequence[start:stop]sequence[start:stop:step]通过给定的索引区间获得线性结构的一部分数据start、stop、step为整数,可以是正整数、负整数、零start为0时,可以省略 stop为末尾时,可以省略 step为1时,可以省略切片时,索引超过上界(右边界),就取到末尾;超过下界(左边界),取到开头x = ...原创 2020-04-04 17:30:04 · 348 阅读 · 0 评论 -
random模块下的常用函数Python choices()方法练习
random int#random.randint 返回a和b之间的整数,包前不包后a = 1b = 10import randomrandom.randint(a,b) >>>8random randrange"""random.randrange 从指定范围内按指定技术递增的集合中获取一个 返回a和b之间的整数;random可以设置步长,默认步长为1"...原创 2020-03-27 19:54:12 · 1605 阅读 · 0 评论 -
Python字符串的深入浅出101
Python字符串的属性不可变字符串的每个字符本质也是字符串,因为python里面没有字符(char)类型Python3 是Unicode存储Pyhon字符串的初始化a = “”a = "Hello Python转义字符r前缀处理转义字符\前面加\三引号里面可以写长语句字符串的索引索引不能超界Python字符串的方法joinPython的Join方法...原创 2020-03-27 16:17:28 · 510 阅读 · 0 评论 -
Python排序练习-DigiK Practice
输入两个数,比较大小后,将两个数升序排列方法1 交替排序num1 = int(input('please input your first number>>>'))num2 = int(input('please imput your second number>>>'))tmp =0if num1<=num2: passif nu...原创 2020-03-25 11:26:24 · 151 阅读 · 0 评论 -
Python格式化输出小练习-DigiK Practice
Python格式化输出 练习题目:给一个圆的半径,求圆的面积( surface area )和周长(circumference ),圆周率3.14标准答案 f前缀输出radius= int(input('the radius is '))area = 3.14 * radius **2print ('aera={area}' ) # 双目运算符 先幂后乘circumference =...原创 2020-03-25 11:06:17 · 831 阅读 · 0 评论 -
Python小白入门练习试题
如下是三套Python101的检测题,你可以从中任选一套,如果你可以在40分钟之内完成,请跳过Python基础开始你的进阶之路;如果你磕磕巴巴60分钟都没有完成,请果断从0开始。Python基础 A卷“=”,"==",在Python中分别代表什么含义。 "=":python中赋值操作 "==":判断数字或字符串是否相等 "+=":例如 a+=1 等于 a = a +...原创 2020-03-23 11:02:31 · 924 阅读 · 0 评论 -
Python 101 列表增删改查常用操作及效率
Python列表的增删改查标题2长长的标题3title 4内容1content 2行3line3column 3设定内容居中、居左、居右使用:---------:居中使用:----------居左使用----------:居右第一列第二列第三列第一列文本居中第二列文本居右第三列文本居左这里写自定义目录标题Pytho...原创 2020-03-21 21:38:55 · 479 阅读 · 0 评论 -
Python学习环境的安装
当系统反馈相应系统版本后,表示系统python成功了。1.下载 python 版本,点击安装。原创 2020-03-12 20:19:40 · 112 阅读 · 0 评论 -
安装和使用PyInstaller生成window的exe和Mac的执行文件
默认情况下pyinstaller用Mac生成的文件只是Mac的执行文件;用window生成的才是exe执行文件。一开始用mac生成了执行文件,但执行文件不是exe的,让我晕菜了。Windows上pyinstaller的安装和使用步骤:安装Anaconda window版本:注意安装时选择“配置环境变量”。如果没有配置环境变量,果断卸载重装。 安装pyinstaller:因为环境变量已经配...原创 2019-02-20 16:56:43 · 10811 阅读 · 5 评论 -
Pycharm 安装问题
Length of PATH is bigger than 8192 bytes.$\r$\nInstaller can not update itPycharm安装中因为选择了JetBrains 的那个勾,安装过程中出现如上报错,解决方法:https://stackoverflow.com/questions/54532000/jetbrains-pycharm-length-o...原创 2019-03-05 16:46:02 · 20951 阅读 · 1 评论 -
Python入门基础语法101
这是三套Python101的检测题,你可以从中任选一套,如果你可以在40分钟之内完成,请跳过Python基础开始你的进阶之路;如果你磕磕巴巴60分钟都没有完成,请果断从0开始。第一次机会“=”,"==",在Python中分别代表什么含义。答案: "=":python中赋值操作"==":判断数字或字符串是否相等"+=":例如 a+=1 等于 a = a + 1 两个变量值...原创 2019-07-25 22:54:37 · 1075 阅读 · 0 评论 -
Python第一行:编码声明
Python第一行是声明编码,这个声明的写法有如下几种:首先推荐用如下写法:#!/usr/bin/python# -- coding: <encoding name> --Python源码的头文件中要声明编码方式,如果你不只是会用到ascii码,你会看到五花八门的头文件申明,那么如何申明才是有效的呢?#coding=utf-8#coding:utf-8#-- codi...原创 2019-07-27 13:50:10 · 2296 阅读 · 0 评论 -
Pycharm壁咚壁咚
如何设置鼠标缩放字体变大小功能:原创 2019-07-27 14:35:07 · 195 阅读 · 0 评论 -
Python常用基础内置函数
文章目录Count 函数方法:Count 函数方法:字符串Python count() 方法用于统计字符串里某个字符出现的次数。可选参数为在字符串搜索的开始与结束位置。语法str.count(sub, start= 0,end=len(string))参数sub – 搜索的子字符串start – 字符串开始搜索的位置。默认为第一个字符,第一个字符索引值为0。end – ...原创 2019-07-27 15:27:24 · 124 阅读 · 0 评论 -
Python趣味练习
计算从1到100之间的奇数的和。# -*- coding: utf-8 -*-print(sum(range(0,101,2)))`原创 2019-07-27 22:06:38 · 179 阅读 · 0 评论 -
Python字符串操作
普通格式化(格式化操作符%)格式化字符方式%c转换成字符(ASCII码值,或者长度为一的字符串)%优先使用repr()函数进行字符串转换*%s优先使用str()函数进行字符串转换%d / %i转换成有符号十进制数%u转换成无符号十进制数%o转换成无符号八进制数格式化字符串辅助指令符号作用*(代表数字)定义...原创 2019-07-27 18:03:32 · 576 阅读 · 0 评论 -
Python集合操作
update函数集合中添加函数update(),括号里面是个集合,就像如下这样:set1 = {1,2,3}dict1 = {‘name’:“BGWAN”,‘age’:22}set1.update(dict1)print(set1)#{1, 2, 3, ‘name’, ‘age’}builtins.py中对update的解释是:Update a set with the union ...原创 2019-07-27 23:52:16 · 132 阅读 · 0 评论 -
MacBook Mac下安装并配置 Aptana Studio环境的技巧
2018年9岁暂时结束2年的乐高机器人生活,开始踏上python之路。"Python"单名字就够霸气。因为PYGAME将是主要的游戏开发框架,aptana studio课上开发工具,于是进行了Python3、pygame和aptana studio的安装。在安装完成python3、pygame准备完美收关的时候,却因为我使用的是Mac Macbook air 不是windows10,在配置ap...原创 2018-10-21 20:12:54 · 4391 阅读 · 0 评论