python杂七杂八小问题
1、win7系统下,安装完GTK+后,从命令行界面无法启动ipython,提示“failed to create process”。运行easy_install也遇到了这个问题。
原因是安装GTK+时,在c盘创建了名为Program的文件。ipython可能误把这个文件当做Program Files目录,所以导致了错误。将这个文件删去问题即可解决。
def a():
print 'yes'
s=[]
t={}
s.append(a)
t['a']=a
3、dict中的元素没有顺序,一般会按照key的首字母排列。
若子类需要init,但又要保留超类的init,那么:
class cat(object):
def __init__(self,name):
self.legs_num = 4
def walk(self):
pass class mimi(cat):
def __init__(self):
cat.__init__(self,name)
self.hair = 'white'
def smile(self):
pass
5、getattr
getattr(object,name)和object.name相似。例如
import os
getattr(os,'getcwd')() #和os.getcwd()作用相同
在类中有如下形式
class Game(object):
#······
def play(self):
next = self.start while True:
print "\n--------"
room = getattr(self, next)
next = room()
#······
6、__dict__
究竟函数的__dict__是干什么用的呢?
其实它提供给函数增加属性的功能
看一个简单的例子:
In [4]: def add(x,y):
...: return x+y
...:
显是一下这个函数的属性:
In [13]: print dir(add)
['__call__', '__class__', '__closure__', '__code__', '__defaults__', '__delattr__', '__dict__', '__doc__', '__format__', '__get__', '__getattribute__', '__globals__', '__hash__', '__init__', '__module__', '__name__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'func_closure', 'func_code', 'func_defaults', 'func_dict', 'func_doc', 'func_globals', 'func_name']
那么我们现在来给这个函数增加一个属性:
In [14]: def mul(x,y):
....: return x*y
....: In [15]: add.__dict__['mul']=mul
我们再来看一下add的属性列表
In [16]: print dir(add)
['__call__', '__class__', '__closure__', '__code__', '__defaults__', '__delattr__', '__dict__', '__doc__', '__format__', '__get__', '__getattribute__', '__globals__', '__hash__',
'__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'func_closure', 'func_code', 'func_defaults', 'func_dict', 'func_doc', 'func_globals', 'func_name', 'mul']
发现已经多了一个属性mul,而且和我们定义的函数一样是可以调用的
In [17]: add.mul(10,20)
Out[17]: 200
7、如何控制浮点数据?
比如小数点后保留两位,可写成‘%.2f’%··
8、python输出中文需要用gbk
9、判断文本文件读取结束
文本的最后一行的下一行是空白,可以用
line=f.readline()
if not line:
····
10、正则表达式上的问题
想着对一个中文txt文件进行文字替换。在进行正则表达式匹配时遇到了编码问题、多行替换问题、贪婪问题。
编码问题:对于中文,读取的文本必须和正则表达式使用相同的编码,才能顺利匹配。
多行替换问题:当compile不带DOTALL参数时,‘.’不匹配换行符。
贪婪问题:匹配非贪婪的任意字符,应写成‘.*?’,不是‘(.*)?’。
python杂七杂八小问题的更多相关文章
- 一个python爬虫小程序
起因 深夜忽然想下载一点电子书来扩充一下kindle,就想起来python学得太浅,什么“装饰器”啊.“多线程”啊都没有学到. 想到廖雪峰大神的python教程很经典.很著名.就想找找有木有pdf版的 ...
- 12岁的少年教你用Python做小游戏
首页 资讯 文章 频道 资源 小组 相亲 登录 注册 首页 最新文章 经典回顾 开发 设计 IT技术 职场 业界 极客 创业 访谈 在国外 - 导航条 - 首页 最新文章 经典回顾 开发 ...
- python 购物车小程序
python 购物车小程序 功能要求:1.启动程序后,输入用户名密码后,让用户输入工资,然后打印商品列表2.允许用户根据商品编号购买商品3.用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒4. ...
- 简述Python入门小知识
如今的Python开发工程师很受企业和朋友们的青睐,现在学习Python开发的小伙伴也很多,本篇文章就和大家探讨一下Python入门小知识都有哪些. 扣丁学堂简述Python入门小知识Python培训 ...
- 批量下载网站图片的Python实用小工具(下)
引子 在 批量下载网站图片的Python实用小工具 一文中,讲解了开发一个Python小工具来实现网站图片的并发批量拉取.不过那个工具仅限于特定网站的特定规则,本文将基于其代码实现,开发一个更加通用的 ...
- uniGUI for C++ builder之杂七杂八小知识
uniGUI for C++ builder之杂七杂八小知识 2018年09月30日 22:16:05 中国银行之路在脚下 阅读数:41 标签: uniguibuilder 更多 个人分类: C++ ...
- 30个Python物联网小实验5:光线感应灯
30个Python物联网小实验5:光线感应灯 光线传感器 光线变化执行函数 光线状态执行函数 30个Python物联网小实验5:光线感应灯 光线传感器 可以检测周围环境的亮度: 方向性较好,感知特定方 ...
- python 程序小测试
python 程序小测试 对之前写的程序做简单的小测试 ... # -*- encoding:utf-8 -*- ''' 对所写程序做简单的测试 @author: bpf ''' def GameOv ...
- Python入门小练习
Python入门小练习 001 备份文件 Python入门小练习 002 批量下载网页链接中的图片 Python入门小练习 003 利用cookielib模拟登录获取账户信息
随机推荐
- gucci fake bags is usually really a sign of luxurious
As soon as the violent trembling from the planet, standing company, people will certainly need to st ...
- 【转】RadControls for Silverlight(学习1-GridView)
引用:Telerik(官 网:http://www.telerik.com/)是保加利亚的一个软件公司,专注于微软.Net平台的表示层与内容管理控件.我们提供高度稳定性和丰富性能的组件产品,并可应用在 ...
- RGB与16进制颜色转换的原理
Integer有进制转换的方法.也可以自己写进制转换的方法.
- PreparedStatement
PreparedStatement > 它是Statement接口的子接口: >强大之处: 防SQL攻击: 提高代码的可读性.可维护性: 提高效率! l 学习PreparedStateme ...
- run方法和start方法的不同
run 方法只不过是对对象方法的简单调用,在主线程中的执行时间是固定的 而start方法是开启一个线程,起执行时间是不固定的.
- 第二篇——The communication during software engineering.
I've learned a lot in my software engineering class about how a program comes out.That's also a esse ...
- iOS 上拉下拉刷新简单实现代码
一般说到上拉刷新下拉刷新,很多人可能想到的是一个第三方开源框架EGORefresh,下面说下,如何自己写代码实现. UITableView本身是一个UIScrollView,所以UITableView ...
- SQL GROUP BY 中的TOP N
一个示例表test(select * from test): id gid age username1 1 11 zhangsan2 1 13 zhan ...
- 兼容各版本浏览器,封装原生Js获取ClassName
web前端开发工作中常常会用到获取元素的className,用jQuery的$(".class")方法也可以获取className,但是有时候牵扯到数据而影响的加载顺序的原因会获取 ...
- ASIHTTPRequest中数据压缩问题与gzip
出现了类似问题,先mark,以后修改 最近使用asi发现,部分网络回调数据不能正常的json解析,将responseHeaders头打印出来,才发现公司服务器部分数据添加了gzip压缩传输. 最近简单 ...