Loading

随笔分类 -  Language

language related articles
摘要:什么是正则 正则表达式是对字符串(包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为元字符))操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个规则字符串,这个规则字符串用来表达对字符串的一种过滤逻辑。正则表达式是一种文本模式,该模式描述在搜索文本时要匹配的 阅读全文
posted @ 2020-06-19 14:21 StKali 阅读(522) 评论(0) 推荐(1) 编辑
摘要:遇到一个需求,需要为单例对象新增方法,这个方法来自于单例的子类或是一个独立的函数。 在Python中实例的方法由创建它的类来提供,也就是方法是属于类的,在对象空间中并不存在。但是通过实例来修改其类的方法或属性不是一个好的行为。这会让程序看起来非常糟糕。 我们希望将方法绑定到对象的空间中。虽然这看起来 阅读全文
posted @ 2020-06-19 13:59 StKali 阅读(279) 评论(0) 推荐(0) 编辑
摘要:类的私有属性和方法 Python是个开放的语言,默认情况下所有的属性和方法都是公开的 或者叫公有方法,不像C++和 Java中有明确的public,private 关键字来区分私有公有。 Python默认的成员函数和成员变量都是公开的,类的私有属性指只有在类的内部使用的属性或方法,表现形式为以“__ 阅读全文
posted @ 2020-06-18 22:53 StKali 阅读(2983) 评论(0) 推荐(0) 编辑
摘要:_del_ 类的析构方法,它在对象被回收时执行,主要的作用时用来释放资源(内存 文件 进程等) 因为Python内存回收机制,使得Python的del方法的执行时间是不确定的,因此不推荐在Python中使用析构方法。 class Bar(object): def __del__(self): pri 阅读全文
posted @ 2020-06-18 22:51 StKali 阅读(237) 评论(0) 推荐(0) 编辑
摘要:为什么使用虚拟环境 因为直接在真实环境进行安装python的包会造成环境之间的污染,因此需要创建虚拟环境,原则上每一个项目都需要有一个独属于自己的虚拟环境 Python项目的每次运行都需要启动环境,如果所有的模块都在一个环境中,不仅每次加载这些模块慢(尤其是开发过程中),并且依赖还可能相互冲突,甚至 阅读全文
posted @ 2020-06-18 22:47 StKali 阅读(2737) 评论(0) 推荐(0) 编辑
摘要:发布Python包 上一篇介绍了如何使用别人的轮子,现在我们讨论下如何自己造轮子给别人用。 作为一个流行的开源开发项目,Python拥有一个活跃的贡献者和用户支持社区,这些社区也可以让他们的软件可供其他Python开发人员在开源许可条款下使用。这允许Python用户有效地共享和协作,从其他人已经创建 阅读全文
posted @ 2020-06-18 22:40 StKali 阅读(2519) 评论(1) 推荐(0) 编辑
摘要:python -m 和 python 的区别 -m 的含义表示将库当作脚本来执行。 python file.py 正常的执行Python脚本似乎都是这个样子,甚至于有些小伙伴根本不晓得 -m 是个什么玩意。 在help 中对 -m 的解释为: 将文件看作脚本来执行。 什么叫当成脚本来执行呢?我们来看 阅读全文
posted @ 2020-06-18 22:29 StKali 阅读(1105) 评论(0) 推荐(0) 编辑
摘要:集合(set)是一个无序不重复元素的序列,通常用来去重。基本功能是进行成员关系测试和删除重复元素。 创建 s = set([3,5,9,10]) #创建一个数值集合 t = set("Hello") #创建一个唯一字符的集合 集合的运算 a = t | s # t 和 s的并集 b = t & s 阅读全文
posted @ 2020-06-18 19:16 StKali 阅读(301) 评论(0) 推荐(0) 编辑
摘要:函数的定义和调用 **定义:**def 关键词开头,空格之后接函数名称和圆括号(),最后还有一个英文冒号":"。 函数名:在Python中函数即变量,所以函数名也同样遵循变量的命名约束。数字字母下划线组成,不能以数字开头且应具有描述函数功能的作用。 括号:是必须加的,先别问为啥要有括号,总之加上括号 阅读全文
posted @ 2020-06-18 19:15 StKali 阅读(422) 评论(0) 推荐(1) 编辑
摘要:单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该 阅读全文
posted @ 2020-06-18 19:12 StKali 阅读(269) 评论(0) 推荐(0) 编辑
摘要:写这篇博文时十分忐忑~ 且谈一下我的认识,有错的欢迎留言指正。 明确几点 Python中一切皆对象 所有的类 都继承自 object,也就是说 object 是所有类的基类(超类) type 也继承自 object 源码中type 的定义:class type(object): type 是 obj 阅读全文
posted @ 2020-06-18 18:22 StKali 阅读(660) 评论(0) 推荐(1) 编辑
摘要:@classmethod 被classmethod装饰的方法称为类方法,他是属于类的,而不是实例化对象的。它的第一个参数不是代表实例化对象的 self 而是类表示类本身的 cls 也就是说他的调用可以直接使用类调用,它也可以直接的修改类属性,总而言之它是属于类的或者操作是对类而言的。它的调用不需要实 阅读全文
posted @ 2020-06-18 18:19 StKali 阅读(319) 评论(0) 推荐(1) 编辑
摘要:抽象类和接口类 首先需要明确的是接口类和抽象类是由java语言中发展来的概念,它是java中的一种设计规范或方法。 Python提供了对抽象类的支持借助于 abc 模块 Python中可以沿用接口类的概念编程但是 Python不提供具体的实现方式,也就是说 Python中并没有接口类 但是依然可以使 阅读全文
posted @ 2020-06-18 18:17 StKali 阅读(214) 评论(0) 推荐(0) 编辑
摘要:继承 Python 中所有的类都是object类的子类,而object 继承自type 继承分为 接口继承和实现继承 接口继承:使用父类的接口名,子类重写这个方法。尽可能的继承接口类,在子类中实现方法,鼓励对接口类的多继承,这样遵循接口隔离原则,有利于归一化设计,不提倡对抽象类进行多继承 实现继承: 阅读全文
posted @ 2020-06-18 18:05 StKali 阅读(234) 评论(0) 推荐(0) 编辑
摘要:Python语言简述 Python简史 Python 是由 Guido van Rossum (龟叔) 在1989年,为了打发圣诞节假期而创作的。Python这个名字,来自Guido所挚爱的电视剧Monty Python’s Flying Circus。他希望这个新的叫做Python的语言,能符合他 阅读全文
posted @ 2020-06-18 18:03 StKali 阅读(112) 评论(0) 推荐(0) 编辑
摘要:Python是一门强大的语言,(其他语言也强大!**特别声明 ** 尤其是PHP 哈哈~!) 选择Python的版本 目前,Python有两个大的版本,2.x版本 和 3.x版本,两者不兼容 Python2.x 自由度相当高,因此它在整体上给人的感觉就是混乱,重复代码多,语言的特性体现的并不是很强。 阅读全文
posted @ 2020-06-18 17:53 StKali 阅读(363) 评论(0) 推荐(1) 编辑
摘要:列表推导式 一般推导 # 生成1、2、3、4、5、6、7、8、9、10的列表 lis = [i for i in range(1,11)] 带过滤条件的推导 # 生成 0、2、4、6、8 的列表 [i for i in range(10) if i % 2 == 0] 带函数的推导 # 生成 0, 阅读全文
posted @ 2020-06-18 17:52 StKali 阅读(222) 评论(0) 推荐(1) 编辑
摘要:整型变量(Int): Python 中没有什么长整型短整形,就只有 int 整形 它可以是任意长度的数包含正负,例如+100、-9237 等等 浮点型变量(Float): 通俗的讲就是小数,当然了并不完全是小数,浮点数确切的说是计算机中存储无法用整形变量确切表示的数! 参看:《计算机组成原理》定点数 阅读全文
posted @ 2020-06-18 17:51 StKali 阅读(150) 评论(0) 推荐(0) 编辑
摘要:迭代器 迭代器协议 对象必须提供一个next方法,执行该方法要么返回迭代中的下一项,要么返回一个异常来终止本次迭代。(只能往前走,不能往后退!) 迭代器对象 遵循了(实现了)迭代器协议的对象。(对象内部实现了一个__next__方法,以实现迭代器协议)称为一个迭代器对象。他们的作用是逐个遍历容器中的 阅读全文
posted @ 2020-06-18 17:50 StKali 阅读(176) 评论(0) 推荐(0) 编辑
摘要:命名空间 几乎所有的语言都有类似的机制,在Python中命名空间分三种,局部、全局和内建。或(四种,嵌套的局部作用域在Python中叫闭包 Enclosing) 定义 名称到对象的映射。命名空间是一个字典的实现,键为变量名,值是变量对应的值。各个命名空间是独立没有关系的,一个命名空间中不能有重名,但 阅读全文
posted @ 2020-06-18 17:48 StKali 阅读(237) 评论(0) 推荐(0) 编辑