自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 问答 (2)
  • 收藏
  • 关注

原创 Python的方法解析顺序(MRO)

方法解析顺序, Method Resolution Order从一段代码开始考虑下面的情况:class A(object): def foo(self): print('A.foo()')class B(object): def foo(self): print('B.foo()')class C(B, A): passc = C()c.fo

2017-09-26 21:57:11 4187

原创 Python中的接口

接口(interface)接口, (按照我自己的理解)最接地气的定义是: 实体向外暴露的公共可访问方法与属性. 这个实体可以是Class, Object, Software, 等任意可以看作一个整体的东西. 外界通过它们的interface与它们进行交互. 按照Wikipedia的说法, 接口与协议(Protocol)是同义词, 因为接口在定义交互方式的同时肯定也定义了交互时的通信内容, 格

2017-09-26 20:18:47 6825 2

原创 Python对象的属性访问过程

只想回答一个问题: 当编译器要读取obj.field时, 发生了什么? 一个简单的属性访问, 其实过程还蛮曲折的. 总共有以下几个step: 1. 如果obj instance 本身有这个属性, 返回. 如果没有, 执行 step 2. 2. 如果obj class 有这个属性, 返回. 如果没有, 执行step 3. 3. 如果在obj class 的父类有这个属性, 返回. 如果没有,

2017-09-24 16:53:51 1511

原创 Python 定义只读属性

Python是面向对象(OOP)的语言, 而且在OOP这条路上比Java走得更彻底, 因为在Python里, 一切皆对象, 包括int, float等基本数据类型. 在Java里, 若要为一个类定义只读的属性, 只需要将目标属性用private修饰, 然后只提供getter()而不提供setter(). 但Python没有private关键字, 如何定义只读属性呢? 有两种方法, 第一种跟J

2017-09-24 15:45:56 12064 1

原创 Python 定义私有属性

Python没有类似于Java中的private关键字, 但也可以为类定义私有属性: 将属性命名为: __field.class Vector2D(object): def __init__(self, x, y): self.__x = float(x) self.__y = float(y) self.xx = x self

2017-09-23 20:58:30 5141

原创 Python str.format

Python不仅支持C风格字符串格式化, 还支持利用format方法来格式化字符串. format方法通过占位符{}来指定参数及参数格式.指定参数通过位置指定参数位置索引从0开始可以省略数字print('{} + {} = 5'.format(2, 3))print('{0} + {1} = 5'.format(2, 3))输出:2 + 3 = 52 + 3 = 5通过名字指定参数prin

2017-09-23 18:34:48 926

原创 Python与函数重载

函数重载是OOP的基本特性之一, 名字相同但参数类型或个数不同时执行不同的函数. 但因为Python是弱类型语言(不需要声明变量类型), 所以它不支持通过参数类型来支持重载. 这是Python在3之前的不足之处. 3.4之后, Python也提供重载机制: 转发(Dispatch).singledispatch#!/usr/bin/python3from functools import singl

2017-09-21 15:53:38 6777

原创 Python中的修饰器

Decorator有种设计模式叫修饰器模式, 它可以在不修改目标函数代码的前提下, 在目标函数执行前后增加一些额外功能. 例如:def dec(fn): print('hello, I am a decorator') return fn@decdef fn1(a): print('hello, I am in fn1(%r)'%(a))@decdef fn2(a):

2017-09-21 14:54:39 11412

原创 Python 的闭包

什么是闭包?闭包, 英文为closure. 首先, 闭包是一种特殊的函数. 特殊之处在于它包含了非本地也非全局的变量. outer_var = [] def inner_fn(val): outer_var.append(val) return sum(outer_var) * 1.0 / len(outer_var) return inn

2017-09-21 13:25:45 219

原创 Tex Studio配置字典用于检查拼写

下载字典文件从 https://extensions.openoffice.org/en/project/english-dictionaries-apache-openoffice 下载一个oxt字典文件.配置Tex Studio工具栏–> Options–>Config TeXStudio–>Language Checking 配置一下路径就OK了.

2017-09-05 15:17:31 9307

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除