Python Basic Examples

1 篇文章 0 订阅

仅供个人笔记用,记录查询过的代码片断和一些语法,不成系统。随遇随加,为方便修改才置顶。


__future__

print

from __future__ import print_function

print函数

http://blog.csdn.net/weixin_35653315/article/details/71642154

输出到文件

from __future__ import print_function
with open('log.txt', 'w') as f:
    print('hello', file=f)

all

http://blog.csdn.net/weixin_35653315/article/details/71403775

str

str.split

http://blog.csdn.net/weixin_35653315/article/details/71440937

正则表达式

import re
re.findall(pattern, s)
re.split(splitter, s)  

查找替换

str对象本身带有replace方法, 但不支持正则表达式,还需要借助re包来实现支持正则表达式的replace方法:

def replace_all(s, old, new, reg = False):
    if reg:
        import re
        targets = re.findall(old, s)
        for t in targets:
            s = s.replace(t, new)
    else:
        s = s.replace(old, new)
    return s

文件名操作

查找

import glob
result_dir = util.io.get_absolute_path(sys.argv[1])
xmls = glob.glob(r'%s/*/*/evalfixed.xml'%(result_dir))

sys

sys模块封装了与python解释器相关的函数与属性。

sys.modules

一个字典,存储了当前加载的所有模块。
其中, 一个比较特殊的是sys.modules['__main__'],它代表程序入口模块。

sys.exit

退出程序

sys.argv

用于获取传入的参数, 例如:

gpus = sys.argv[1]

0号参数是文件名。

标准I/O流

sys.stdin
sys.stdout
sys.stderr

collections

nametuple

自 Python 2.6 开始, namedtuple 就加入到 Python 里, 用以构建只有少数属性但是没有方法的对象, 比如数据库条目。

import collections
Card = collections.namedtuple('Card', ['rank', 'suit'])
card = Card('K', 'Black Blad')

特殊方法

特殊方法是指以__开头与结尾的方法,用户一般不直接调用,而是被一些语法触发后由系统调用, 例如len(obj)会调用obj__len__()方法, obj[...]会触发obj__getitem__()方法.

语法特殊方法
len(obj)__len__()
obj.[...]__getitem__()
for obj in objs__iter__()
str(obj)__str__(), __repr__()
乘法__mul__()
加法__add__()
abs__abs__()

repr 所返回的字符串应该准确、 无歧义, 并且尽可能表达出如何
用代码创建出这个被打印的对象。 因此这里使用了类似调用对象构造器
的表达形式( 比如 Vector(3, 4) 就是个例子) 。
reprstr 的区别在于, 后者是在 str() 函数被使用, 或
是在用 print 函数打印一个对象的时候才被调用的, 并且它返回的字
符串对终端用户更友好。
如果你只想实现这两个特殊方法中的一个, repr 是更好的选择,
因为如果一个对象没有 str 函数, 而 Python 又需要调用它的时
候, 解释器会用 repr 作为替代。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值