在python中创建一个类,它不仅有我们自定义的属性和方法,还有与生俱来的一些属性和方法,我们叫它内建属性. 下面是类常用内建属性列表. 常用专有属性 说明 触发方式 __init__ 构造初始化函数 创建实例后,赋值时使用,在__new__后 __new__ 生成实例所需属性 创建实例时 __class__ 实例所在的类 实例.__class__ __str__ 实例字符串表示,可读性 print(类实例),如没实现,使用repr结果 __repr__ 实例字符串表示,准确性 类实例 回车 或…
'''''''''类装饰器'''class Test(): def __init__(self,func): print('---初始化---') print('func name is %s'%func.__name__) self.__func = func def __call__(self, *args, **kwargs): print('---类装饰器中的内容----') self.__func @Test #相当于test = Test(test)def test(): print…
python内建模块--collections collections是Python内建的一个集合模块,提供了许多有用的集合类. namedtuple 我们知道tuple可以表示不变集合,例如,一个点的二维坐标就可以表示成: >>> p = (1, 2) 但是,看到(1, 2),很难看出这个tuple是用来表示一个坐标的. 定义一个class又小题大做了,这时,namedtuple就派上了用场: >>> from collections import namedtupl…
属性property 1. 私有属性添加getter和setter方法 class Money(object): def __init__(self): self.__money = 0 def getMoney(self): return self.__money def setMoney(self, value): if isinstance(value, int): self.__money = value else: print("error:不是整型数字") 2. 使用pro…
总结:和类的关联性讲:属性方法>类方法>静态方法 属性方法@property:仅仅是调用方式不用+括号. 类方法@classmethod:访问不了累的属性变量,只可以访问类变量. 静态方法@staticmethod:仅仅是通过类名来调用这个函数而已,和类本身已经没有功能关系了,严格讲已经不是类的方法而是一个通过类名调用的函数而已(无法访问实例化的类的任何属性过着其他方法). 在类中的方法加如下装饰器 属性方法:@property将方法变为类的一个静态属性,调用的时候无需加括号.对外隐藏实现细节…
撸一遍python的内建方法 这样做的好处就是:我如果要完成一个功能的时候,如果能用内建方法完成,就用内建方法.这样可以提高效率,同时使自己的代码更加优雅.哎呦?那岂不是撸完就是python高手了?我先帮大家试试效果,请静候我的反馈! 反馈:内建方法全部看完了,并敲完所有的内建方法,收获还是有的,但是发现不了解的知识更多了.内建方法属于python的标准库中的一章.python的标准库中还有很多值得一看的章节.python2.7.8中文标准库文档,这些内容我粗略的看了一遍.这个内建方法的学习笔记…
python内建的命名空间研究 说明: python内置模块的命名空间.python在启动的时候会自动为我们载入很多内置的函数.类,比如 dict,list,type,print,这些都位于 __builtins__ 模块中,可以使用 dir(__builtins__) 来查看.这也是为什么我们在没有 import 任何模块的情况下,就能使用这么多丰富的函数和功能了. 键入代码: >>> print(dir(__builtins__)) 得到结果: ['ArithmeticError',…
1.内建属性 2.__getattribute__ 属性访问时拦截器 class Itcast(object): def __init__(self,subject1): self.subject1 = subject1 self.subject2 = 'cpp' #属性访问时拦截器,打log def __getattribute__(self,obj): #obj----> subject if obj == 'subject1': print('log subject1') return '…
Python内建的对象列表 刚写Python肯定会遇到这样的情况,想写些什么,但又不知从何写起... 在我看来问题在于我们不知道有什么东东可以拿来玩,这里列出Python的内建对象,稍微归类了一下,多看几遍代码自然笔上生花,行云流水,一气呵成,一口气500行不费劲儿... Built-in buildin = { '__build_class__': < built-in function __build_class__ >, '__doc__': "Built-in functio…
Python主窗口 Python特定的GUI界面,是一个图像的窗口,tkinter是python自带的,可以编辑的GUI界面,我们可以用GUI实现很多一个直观的功能,如何想开发一个计算器,如果只是一个程序输入,输出窗口的话,是没用用户体验的.所有开发一个图像化的小窗口,就是必要的. #coding=utf-8 import Tkinter as tk def create_windows(fun): def only_windows(): #第1步,建立窗口windows windows = t…
参考自:https://blog.csdn.net/yitiaodashu/article/details/78974596 __getattribute__是属性访问拦截器,就是当这个类的属性被访问时,会自动调用类的__getattribute__方法 Python中只要定义了继承object的类,就默认存在属性拦截器,只不过是拦截后没有进行任何操作,而是直接返回.所以我们可以自己改写__getattribute__方法来实现相关功能,比如查看权限.打印log日志等. 注意点: 防止在内建属性…
目录 一:python内部数据类型分类 二:各数据结构 一:python内部数据类型分类 这里有个很重要的东西要先提醒注意一下:原子性数据类型和非原子性数据类型的区别 Python内部数据从某种形式上可以分为两种: 其一是原子性数据类型:int,float,str 其余的是非原子性的(按有序性分): 有序的:list, tuple 无序的:set, dict 那么什么是原子性呢,在第一篇讲赋值语句时有个例子: 赋值语句:x = 6 其实这个过程是建立了一个指向(reference),左边的是指向…
一.Python2 httplib 简介:httplib实现了HTTP和HTTPS的客户端协议,一般不直接使用,在python更高层的封装模块中(urllib,urllib2)使用了它的http实现. httplib实现http请求 import httplib host = ‘www.baidu.com’  # 注意:不能带上协议 port = 80 # 获取HTTPConnection对象 conn = httplib.HTTPConnection(host, port) # 发起请求 co…
在内置数据类型(dict.list.set.tuple)的基础上,collections模块还提供了几个额外的数据类型:Counter.deque.defaultdict.namedtuple和OrderedDict等. 1.namedtuple: 生成可以使用名字来访问元素内容的tuple 2.deque: 双端队列,可以快速的从另外一侧追加和推出对象 3.Counter: 计数器,主要用来计数 4.OrderedDict: 有序字典 5.defaultdict: 带有默认值的字典 named…
时间模块 UTC(Coordinated Universal Time,世界协调时)亦即格林威治天文时间,世界标准时间.在中国为UTC+8.DST(Daylight Saving Time)即夏令时. 在Python中,通常有这几种方式来表示时间:1)时间戳,1970年1月1日之后的秒,即:time.time()2)格式化的时间字符串,即:time.strftime('%Y-%m-%d')3)结构化时间: 元组共九个元素,包含了:年.月.日.星期等... 返回struct_time的函数主要有g…
# -*- coding:utf-8 -*- # OrderedDict可以实现一个FIFO(先进先出)的dict, # 当容量超出限制时,先删除最早添加的Key: from collections import OrderedDict class LastUpdatedOrderedDict(OrderedDict): def __init__(self, capacity): super(LastUpdatedOrderedDict, self).__init__() self._capac…
*)datetime模块 包括时间.时间对象.时间戳.时区.时区的转换 参考链接:https://www.liaoxuefeng.com/wiki/1016959663602400/1017648783851616 import re from datetime import datetime, timezone, timedelta def match_tz(target): tz_match=re.compile(r'[-]?\d{1,2}:') result=tz_match.findal…
Python核心组件 1.Button 按钮组件:一个简单的按钮,用来执行一个命令或别的操作. 参数解析: text:指定按钮上显示的文本: anchor: 指定按钮上文本的位置(N, NE, E, SE, S, SW, W, NW, or CENTER): borderwidth(bd): 指定按钮边框的宽度: foreground(fg): 指定按钮的前景色: background(bg): 指定按钮的背景色: activeforeground: 按下时前景色 activebackgroun…
https://www.bilibili.com/video/av17396749/?p=12 Python函数式编程中的迭代器,生成器详解 课程内容 1.iterators are objects that contain other objects2.some built-in iterators are such as list,dict,tuple, and set.3.learned the collections module offers other convenient iter…
python中内建函数isinstance的用法 语法:isinstance(object,type) 作用:来判断一个对象是否是一个已知的类型. 其第一个参数(object)为对象,第二个参数(type)为类型名(int...)或类型名的一个列表((int,list,float)是一个列表).其返回值为布尔型(True or flase). 若对象的类型与参数二的类型相同则返回True.若参数二为一个元组,则若对象类型与元组中类型名之一相同即返回True. 下面是两个例子: 例一 >>>…
常用专有属性常用专有属性 说明 触发方式 __init__ 构造初始化函数 创建实例后,赋值时使用,在__new__后 __new__ 生成实例所需属性 创建实例时 __class__ 实例所在的类 实例.__class__ __str__ 实例字符串表示,可读性 Print(类实例)如没实现,使用repr结果 __repr__ 实例字符串表示,准确性 类实例 回车 或者print(repr(类实例)) __del__ 析构 Del删除实例 __dict__ 实例自定义属性 Vars(实例,__…
datetime 获取当前日期和时间 from datetime import datetime now = datetime.now() print(now) datetime转换为timestamp使用now.timestamp() now = now.timestamp() timestamp转换为datetime使用fromtimestamp()函数 print(datetime.fromtimestamp(now)) timestamp也可以直接被转换到UTC标准时区的时间: prin…
1.函数的不固定参数: #参数不是必填的.没有限制参数的个数.返回参数组的元组 def syz(*args): #参数组,不限制参数个数 #‘args’参数的名字可以随便命名 print(args) #username = args[0] #返回的参数放在元组中,通过下标来取值 #pwd = args[1] syz() syz('niuhan','sdfsdf',122) >>> () >>> ('niuhan', 'sdfsdf', 122) #元组 2.关键字参数…
''' 数值 numbers 字符串 strings 列表 lists 字典 dictionaries 元组 tuples 文件 files 集合 sets ''' 1.1 序列的操作 所有序列类型都可以进行的特定操作如下: 索引(indexing) 分片(sliceing) 加(adding) 乘(multiplying) 成员资格(检查某个元素是否属于序列) 1.1.1.1 索引 序列中所有元素都是有编号的,从0开始递增.元素可以通过编号进入访问. 实例: !/usr/bin/python…
socketserver模块简化了编写网络服务器的任务, 在很大程度上封装了一些操作, 你可以看成是事件驱动型的设计, 这很不错.它定义了两个最基本的类--服务器类 BaseServer, 请求处理类 BaseRequestHandler. BaseServer 基本服务器类封装了基本的一些socket操作, socket原语中对socket的相关操作仅仅封装到了accept 方法, 此方法之前的操作也封装完了, 接下来的send, recv原语操作就没有在进行封装了, 那么它哪去了呢?这是so…
模块介绍 time &datetime模块 random os sys shutil json & picle shelve xml处理 yaml处理 configparser hashlib subprocess logging模块 re正则表达式 详见:http://www.cnblogs.com/alex3714/articles/5161349.html…
1.Exception类型及分层结构如下: BaseException +-- SystemExit +-- KeyboardInterrupt +-- GeneratorExit +-- Exception +-- StopIteration +-- StandardError | +-- BufferError | +-- ArithmeticError | | +-- FloatingPointError | | +-- OverflowError | | +-- ZeroDivision…
整型--int 布尔型--bool 字符串--str 列表--list 元组--tuple 字典--dict…
abs all any apply basestring bin bool buffer bytearray bytes callable chr classmethod cmp coerce compile complex copyright credits delattr dict dir divmod enumerate eval execfile exit file filter float format frozenset getattr globals hasattr hash he…
例如,在一个list中,删掉偶数,只保留奇数,可以这么写: def is_odd(n): return n % 2 == 1 list(filter(is_odd, [1, 2, 4, 5, 6, 9, 10, 15])) # 结果: [1, 5, 9, 15](返回False就过滤掉) 习题:回数是指从左向右读和从右向左读都是一样的数,例如12321,909.请利用filter()滤掉非回数: # -*- coding: utf-8 -*-from functools import reduc…