V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
twoones
V2EX  ›  Python

python 入门常用函数

  •  
  •   twoones · 2016-09-06 18:06:26 +08:00 · 2412 次点击
    这是一个创建于 2989 天前的主题,其中的信息可能已经有所发展或是发生改变。

    对于类型间的转化: int ( x ,[base]) long(x,[base]) float(x) complex(real,imag) 如 int('101,'2) tuple() 将序列转化为元组 list(s) dict(d) d 是一个序列( key , value )元组 如: dict(one=1,two=2) dict([['two',2],['one',1]]) dict(zip(('one','two')(1,2))) set()可变集合 frozenset() 不可变集合 chr(x) 将整数化为字符 unichr(x) 将整数转化为 unicode 字符 ord(x)将字符转化为整数 hex(x)将整数转化为 16 进制 oct(x) 将整数转为 8 进制

    对于数: 位数问题: round(,[位数]) 四舍五入, int()截断 math 模块中的 floor() 地板, ceil()天花板 一般函数: abs(),power,max(seq),min(seq) math 模块中的 sqrt() exp(), log() e 为底, log(100,10)=2 modf(x)返回小数和整数部分 常数: math 中的 pi , e 角度: math 模块中 sin(),cos(),tan(),asin(),acos(),atan(),atan2(x,y)返回给定 x,y 坐标值的反正切值 hypot(x,y) 返回欧几里得范数 sqrt(xx+yy),degrees(x)江湖都转化为角度, ranians(x)将脚都转化为弧度 随机数(都使用 random 模块): choice(seq) 从序列中元素随机挑选出一个元素 random() 随机生成一个实数,在( 0 , 1 )之间 uniform(x,y) 随机生成下一个实数,它在[x,y]之间 randrange([start,]stop,[step])从指定范围内,按指定基数递增集合中获取一个随机数 shuffle(list) 将列表的所有元素随机排列 seed([x])改变随机数生成器的种子 seed

    对于字符串(方法): 字符串基本: len(string), max(),min() join(seq)已指定字符串作为分隔符,将 seq 中所有的元素合并成一个字符串 spilt(str='',num=string.count(str)) 以 str 为分割都截取字符串 spiltlines(num=string.count('\n')) 按照行分割,返回一个包含各行作为元素的列表 replace(old,new[,max])把字符串中的 str1 替换成 str2 ,不超过 max 次 expandtabs(tabsize=8)把字符串 string 中的 tab 符号转化为空格 maketrans()创建字符映射的转化表 translate(table,deletechars="")根据 str 给出的表转换 string 字符,要过滤掉的字符放到 deletechars 参数中 字符串大小写: capitalize()将字符串的第一个字符转化为大写 title() 返回“标题化”的字符串 lower() 转换字符串中所有大写字符为小写 upper() 转换字符串中所有小写字符为大写 swapcase() 将字符串中大小写互换 判断内容: count(str,beg=0,end=len(string))返回 str 在 string 里出现的次数 find(str,beg=0,end=len(string))检测 str 是否包含在字符串中,返回开始的索引值,否则返回-1 rfind(),从右面开始查找 index(str,beg=0,end=len(string))和 find 一样 rindex() startwith(str,beg=0,end=len(string))检查字符串是否以 obj 开始 endwith(str,beg=0,end=len(string))检查字符串是否以 obj 结束 isalnum() 如果字符串至少有一个字符并且所有字符都是字母或者数字返回 True isalpha() 如果字符串所有字符都是字母则返回 True isdigit()如果字符串只包含数字则返回 True isnumeric()如果字符串只包含数字返回 True isdecimal() 检查字符串是否只包含十进制字符返回 True isspace()如果字符串中只包含空格,则返回 True istitle()如果字符串是标题化,返回 True islower()如果字符串为小写 isupper()如果字符串为大写 填充: center(width,fillchar)返回一个指定宽度为 width 居中的字符串, fillchar 为填充的字符 ljust(width[,fillchar])返回一个元字符串左对齐,并使用 fillchar 填充至长度 width 的新字符串 rjust() lstrip()截掉字符串左边的空格 rstrip() zfill(width)返回长度为 width 的字符串,原字符串右对齐,前面填充 0 解码: encode(encoding='UTF-8', error=‘ strict ’) 以 encoding 指定的编码格式编码字符串 decode(encoding='UTF-8',erros='strict')使用指定编码来解码字符串

    关于列表: 函数: len(list),max(list),min(list),list(seq) 方法: list.append(obj),list.extend(seq)在列表的末尾追加列表 list.insert(index,obj),list.copy()等于复制,而非赋值 list.pop(obj=list[-1]),list.remove(obj),list.clear(), list.count(obj),list.index(obj)返回第一个匹配项的索引 list.reverse(),list.sort() 补充: for i,v in enumerate(['a','b','c']) print(i,v), 输出: 0 a 1 b 2 c

    关于词典: dict.get(key,default=None) 返回指定键的值,如果键不在字典中返回 default 值 dict.setdefault(key,default=None) 同 dict.get,但是会创建新的 key-value dict.keys()以列表返回一个字典所有的键 dict.value() dict.items()以列表返回可遍历得的(键,值)元组数组 dict.clear()清除, dict.copy()复制 dict.updata(dict2)把 dict2 的添加到 dict

    对于文件:(也可以读取其他文件)可以使用 with 语句使其更加合理 f=open(filename ,‘格式’) w 为写入, r 只读, a 追加。可以自己新建 print(f.read()) 打印, f.read()是个字符串 r.read(size) 打印指定字节数目的字符串 f.readline() 读一行(包含‘\n ’) f.readlines() 读取所有行并返回列表 f.truncate() 清除文件内容 f.write(字符串)写入程序 f.writelines(列表) 想文件写入一个序列字符串列表 f.close() 关闭程序 f.seek(offset[,whence]) 设置文件当前位置 f.tell()返回文件当前文职 f.next() 返回文件下一行 f.flush() 刷新文件内部缓冲,直接把内部缓冲区的数据立即写入文件,而不是被动的等待输出缓冲区写入。 f.isatty()如果文件连接到一个终端设备返回 True ,否则返回 Flase

    注: seq 指 list , tuple , string

    11 条回复    2016-09-08 13:03:02 +08:00
    aaronzjw
        1
    aaronzjw  
       2016-09-06 18:32:47 +08:00
    这排版,看了辣眼睛
    yumijie
        2
    yumijie  
       2016-09-06 19:15:20 +08:00
    看的吃力
    loading
        3
    loading  
       2016-09-06 19:16:16 +08:00 via Android
    贴个博客地址吧……
    Mirage09
        4
    Mirage09  
       2016-09-06 19:19:43 +08:00
    这排版..
    tumbzzc
        5
    tumbzzc  
       2016-09-06 19:20:52 +08:00
    。。。。。根本不想看那么乱的排版
    tinkerer
        6
    tinkerer  
       2016-09-06 19:26:57 +08:00 via Android
    地板天花板,楼主是来逗逼的
    patrickstar
        7
    patrickstar  
       2016-09-06 19:34:40 +08:00
    太吃力了
    izoabr
        8
    izoabr  
       2016-09-06 19:35:08 +08:00
    转的吧?连排版都不排
    wizardforcel
        9
    wizardforcel  
       2016-09-06 19:37:01 +08:00 via Android
    在没有更好的译名的情况下。。只能用地板除了。。
    NaVient
        10
    NaVient  
       2016-09-08 09:06:19 +08:00
    这个应该需要新人写个自动排版的函数了
    yunfeifan
        11
    yunfeifan  
       2016-09-08 13:03:02 +08:00
    好费眼睛
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5561 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 06:49 · PVG 14:49 · LAX 22:49 · JFK 01:49
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.