python学习笔记
mega4221
这个作者很懒,什么都没留下…
展开
-
Python 学习笔记-字符串
使用引号(‘或”)来创建字符串 创建字符串很简单,只要为变量分配一个值即可。例如:var1 = 'Hello World!'var2 = "Python Runoob"Python访问子字符串,可以使用方括号来截取字符串,如下实例:#!/usr/bin/pythonvar1 = 'Hello World!'var2 = "Python Runoob"print "var1[0]: ", var原创 2016-12-27 22:46:03 · 254 阅读 · 0 评论 -
python 学习笔记-列表
Python列表函数cmp(list1, list2)比较两个列表的元素len(list)列表元素个数max(list)返回列表元素最大值min(list)返回列表元素最小值list(seq)将元组转换为列表list.append(obj)在列表末尾添加新的对象list.count(obj)统计某个元素在列表中出现的次数list.extend(seq)在列表末尾一次性追加另一个序列中的多原创 2016-12-27 23:03:07 · 241 阅读 · 0 评论 -
Python 学习笔记-基础总结
寻求帮助:dir(obj) # 简单的列出对象obj所包含的方法名称,返回一个字符串列表help(obj.func) # 查询obj.func的具体介绍和用法测试类型的三种方法,推荐第三种if type(L) == type([]): print("L is list")if type(L) == list: print("L is list")if isins原创 2016-12-27 23:22:05 · 267 阅读 · 0 评论 -
Python 学习笔记-正则表达式
python re模块 Python 自带了re模块,提供了对正则表达式的支持,在代码中通过使用import re,可以使用re中的一些方法原创 2016-12-27 23:29:11 · 210 阅读 · 0 评论 -
python 学习笔记-变量作用域
全局变量:在模块内、在所有函数外面、在class外面,这就是全局变量 局部变量:在函数内、在class的方法内(未加self修饰),这就是局部变量 静态变量:在class内的,但不在class的方法内的,这就是静态变量 实例变量:在class的方法内的,用self修饰的变量,这就是实例变量全局变量全局变量供全局共享,全局类和函数均可访问,达到同步作用。同时还可以被外部文件访问。全局变量使用的时原创 2016-12-27 23:47:55 · 822 阅读 · 0 评论 -
Python学习笔记-线程的使用
线程基本使用流程1. 创建或封装好待用的函数,假设该函数名为f();2. 导入原生Thread包;3. 创建Thread对象,设,将target参数设为f。另外,如果f()有参数,那么,该Thread对象应设置args参数,格式为args=(x, x, ...),args的值的格式应与Thread对象接管的函数f的参数格式相一致;4. t.start();5. 如果出现该线程迟于主线程结束,原创 2016-12-28 22:59:34 · 199 阅读 · 0 评论 -
Python 学习笔记-字典
键的存在性不推荐的:dct.has_key(key)Python的做法:key in dctYoda 测试(The “Yoda Test”)如果你非要Notnot key in dctEnglish,你会说么?:key not in dct字典取值这你有一个dict和key,并且你想修改key对应的值,比如给它自增1。比较逊一点的做法::if key not in dct:原创 2016-12-28 23:37:42 · 227 阅读 · 0 评论 -
Python学习笔记 __slots__ 限制类属性
Python允许在定义class的时候,定义一个特殊的slots变量,来限制该class能添加的属性>>> obj = object()>>> obj.name = "whatever"Traceback (most recent call last): File "<stdin>", line 1, in <module>AttributeError: 'object' object h原创 2016-12-28 23:46:48 · 483 阅读 · 1 评论 -
python学习笔记-Metaclass理解
什么叫做元类Metaclass是创建class的东西。一个class是用来创建对象的,但Python中的类也是对象。Metaclass就是用来创建类这些对象的,它们是类的类,可以形象化地理解为:MyClass = MetaClass() MyObject = MyClass()python 中type 函数可以这样使用:MyClass = type(‘MyClass’, (), {})这是因为 t原创 2016-12-28 23:59:00 · 295 阅读 · 0 评论 -
python学习笔记-记录程序运行时间
方法1import datetimestarttime = datetime.datetime.now()#long runningendtime = datetime.datetime.now()print (endtime - starttime).seconds方法 2start = time.time()run_fun()end = time.time()print en原创 2016-12-29 00:07:39 · 3431 阅读 · 0 评论 -
python学习笔记正则表达式re模块
1.使用match()和search()匹配字符串,使用group()查看结果match() :从字符串开始的位置匹配,成功返回匹配的对象,失败返回None search(): 扫描整个字符串来进行匹配,成功返回匹配的对象,失败返回None例1:比较match() 和 search()的区别import rem = re.match('foo', 'seafood')if m is not N原创 2016-12-30 00:30:25 · 507 阅读 · 0 评论 -
python学习笔记-上下文管理器
上下文管理器可以在不需要文件的时候,自动关闭文件。下面我们看一下两段程序: 代码如下:# without context managerf = open("new.txt", "w")print(f.closed) # whether the file is openf.write("Hello World!")f.close()print(f.closed原创 2016-12-31 15:20:29 · 362 阅读 · 0 评论 -
Python学习笔记-静态方法和类方法
staticmethod和classmethod@staticmethod 装饰的方法称为“静态方法”,@classmethod装饰的方法称为“类方法”或“类成员方法”。在外部调用静态方法时,可以使用”类名.方法名”的方式,也可以使用”对象名.方法名”的方式。而实例方法只有后面这种方式。也就是说,调用静态方法可以无需创建对象。静态方法在访问本类的成员时,只允许访问静态成员(即静态成员变量和静态方原创 2016-12-21 00:22:54 · 251 阅读 · 0 评论 -
Python 学习笔记random包
python random包的简单使用原创 2016-12-19 23:26:15 · 1694 阅读 · 0 评论 -
python 学习笔记简单线程池实现
xpython线程池原创 2016-12-19 23:12:29 · 258 阅读 · 0 评论 -
python学习笔记-日志
基本元素说明:Logger:用于输出的日志的总对象Handlers:用来指定log的输出方式Formatters:设置日志信息的结构和内容格式,默认的时间格式为%Y-%m-%d %H:%M:%SFilter:过滤器,用来过滤的输出内容(如:只输出debug以上的内容)Logger常用函数 LOG=logging.getLogger(”chat.gui”) Logger.setL原创 2017-01-02 21:40:05 · 279 阅读 · 0 评论 -
python学习笔记-静态方法和类方法区别
python 类语法中有三种方法,实例方法,静态方法,类方法。# coding:utf-8class Foo(object): """类三种方法语法形式""" def instance_method(self): print("是类{}的实例方法,只能被实例对象调用".format(Foo)) @staticmethod def static_meth原创 2017-01-02 21:47:20 · 853 阅读 · 0 评论 -
python学习笔记-类和实例
类 类是一种数据结构,可用于创建实例。(一般情况下,类封装了数据和可用于该数据的方法) Python类是可调用的对象,即类对象 类通常在模块的顶层进行定义,以便类实例能够在类所定义的源代码文件中的任何地方被创建。 实例初始化 instance = ClassName(args....) 类在实例化时可以使用__init__和__del__原创 2017-01-02 21:52:47 · 255 阅读 · 0 评论 -
python学习笔记-装饰器
python装饰器是在函数调用之上的修饰,这些修饰是在声明或者定义一个函数的时候进行设置的。同时,装饰器是一个返回函数对象的高级函数。装饰器的语法是以@开头的,而后是装饰器函数的名字以及可选的参数,而后是装饰器要修饰的函数以及该函数的可选参数,主要是以下形式:@decorator(dec_opt_args)def func2Bdecorator(func_opt_args):......1 装原创 2017-01-02 22:10:18 · 330 阅读 · 0 评论 -
python学习笔记-常用技巧整理
显示有限的接口到外部当发布python第三方package时, 并不希望代码中所有的函数或者class可以被外部import,在init.py中添加all属性,该list中填写可以import的类或者函数名,可以起到限制的import的作用,防止外部import其他函数或者类。#!/usr/bin/env python# -*- coding: utf-8 -*-from base import原创 2017-01-02 22:24:47 · 284 阅读 · 0 评论 -
python学习笔记-提高性能
Keep Code Simple Not Data减少代码,能减少生成的代码,因此能减少执行时间python是解释执行的,代码量少对性能确实有好处,针对被调用次数高的代码,可以使用一些技巧减少代码行获得性能的提升。有些函数会被调用成千上万次,每次执行的时间从0.005优化到0.0025也是很了不起的。使用List Comprehensions构造List,快12倍使用enumerate来获取i原创 2017-01-02 22:31:11 · 465 阅读 · 0 评论 -
python学习笔记-迭代器
迭代器的作用: 迭代器的作用就是迭代,可以让不是序列但是表现出序列行为,例如迭代字典的键,文件的行迭代器的定义: 提供可扩展的迭代器接口 对列表迭代带来性能上的增强 在字典迭代中性能提升 创建真正的迭代接口,而不是原来的随机对象访问 与所有已经存在的用户定义的类以及扩展的模拟序列和映射的对象向后兼容 迭代非序列集合(例如映射和文件)时,可以创建更简洁可原创 2017-01-02 22:36:23 · 232 阅读 · 0 评论 -
python学习笔记-Mongodb
建立一个MongoClient第一步我们需要建立一个MongoClient来运行MongoDB,这个做起来非常简单:>>> from pymongo import MongoClient>>> client = MongoClient()上面的代码会连接默认的地址和端口,我们也可以自己指定地址和端口,像下面这样:>>> client = MongoClient('localhost', 27原创 2017-01-03 20:40:01 · 1089 阅读 · 0 评论 -
python学习笔记-format()函数
#使用str.format()函数#使用'{}'占位符print('I\'m {},{}'.format('Hongten','Welcome to my space!'))print('#' * 40)#也可以使用'{0}','{1}'形式的占位符print('{0},I\'m {1},my E-mail is {2}'.format('Hello','Mongo','Mongo@foxmai原创 2017-01-03 21:03:58 · 793 阅读 · 0 评论 -
python 学习笔记-操作mysql
import pymysqldef connDB(): #连接数据库 conn=pymysql.connect(host='localhost',user='root',passwd='',db='first') cur=conn.cursor() return (conn,cur)def exeUpdate(conn,cur,sql): #更新语句,可执行原创 2017-01-03 21:14:20 · 337 阅读 · 0 评论 -
Python学习笔记-类属型的延迟计算
什么是类属性的延迟计算?将类的属性定义成一个property,只在调用的时候才会计算,一旦被调用后,结果将会被缓存起来,不用每次都计算。延迟计算属性主要是用来提升程序的性能class LazyProperty(object): """ 定义了一个延迟计算的装饰器类LazyProperty """ def __init__(self, func): se原创 2016-12-26 23:15:13 · 313 阅读 · 0 评论 -
python 学习笔记__init__.py
python的每个模块的包中,都有一个init.py文件,有了这个文件,我们才能导入这个目录下的module。 其实,init.py里面是可以有内容的,我们在导入一个包时,实际上导入了它的init.py文件。 我们可以在init.py文件中再导入其他的包,或者模块。Package1/ __init__.py Module1.py Module2.py Package2/ __i原创 2016-12-26 23:41:52 · 391 阅读 · 1 评论 -
Python文件操作的常用方法
python os模块和shutil模块常用方法原创 2016-12-19 22:32:03 · 267 阅读 · 0 评论 -
python字符串格式化
>>> "{key}={value}".format(key="a", value=10) # 使⽤命名参数'a=10'>>> "[{0:<10}], [{0:^10}], [{0:*>10}]".format("a") # 左中右对⻬'[a ], [ a ], [*********a]'>>> "{0.platform}".format(sys) # 成员'原创 2017-03-05 18:36:56 · 383 阅读 · 0 评论