python学习-内建函数

内建函数

python 的许多功能都已经有内建的函数,按字母排序如下

abs(x)

  返回绝对值

all(iterable)

  参数为可迭代对象,如果可迭代对象中的所有元素都为 True,则返回 True

any(iterable)

  参数为可迭代对象,如果可迭代对象中的任何元素为 True,则返回 True

ascii(object)

  自动执行该对象的 __repr__() 方法

bin(x)

  将 int 对象转为八进制,八进制表示方法 0o11 等于十进制的 9

bool([x])

  返回一个 bool 值

bytes([source[, encoding[, errors]]])

  按照编码将 source 转换为字节

chr(i)

  根据 unicode code 将一个序列转换为字符串,chr(65) 返回 A

ord(c)

  根据 unicode code 将一个字符串转换为序列,ord(‘A‘) 返回 65

compile(sourcefilenamemodeflags=0dont_inherit=Falseoptimize=-1)

  将字符串转换为可执行的代码

exec(object[, globals[, locals]])

  执行代码字符串,可以直接是字符串,也可以是通过 compile 编译后的代码,但是无返回值

eval(expressionglobals=Nonelocals=None)

  执行表达式字符串,该字符串必须是包含运算符的表达式,有返回值    r = eval("7*8")

dir()

  获取对象的方法

help()

  获取对象的帮助信息

divmod(a,b)

  获取两个数的商和余数,返回 (a/b,a%b)

enumerate(iterablestart=0)

  返回一个 enumerate 对象,该对象为可被循环,获取到编号以及元素

isinstance(objectclassinfo)

  判断对象是否为类的实例

filter(functioniterable)

  循环 iterable 并将每一个元素作为 function 的参数,如果返回结果为 True,则将该元素添加到一个新的 iterable 并返回

map(function,iterable)

  循环 iterable 并将每一个元素作为 function 的参数,将 function 的返回值添加到一个新额 iterable 中并返回

format()

  字符格式化

globals()

  返回所有的全局变量

locals()

  返回所有的局部变量

len()

  计算对象的长度

max()

  返回最大值

min()

  返回最小值

sum()

  求和

pow(xy[, z])

  返回 x**y%z,如 z 不存在则返回 x**y

reversed()

  反转

round()

  四舍五入

sorted()

  排序

zip(*iterables)

  返回一个以 tuple 作为元素的 iterator

常用内建函数详解  

1、字符转换



bytes() 内建函数返回一个 bytes 对象

>>> b1 = bytes("您好",encoding=‘utf-8‘)
>>> b2 = bytes("您好",encoding=‘gbk‘)  

>>> print(b1)
b‘\xe6\x82\xa8\xe5\xa5\xbd‘
>>> print(b2)
b‘\xc4\xfa\xba\xc3‘

>>> print(type(b1))
<class ‘bytes‘>
>>> print(type(b2))
<class ‘bytes‘>

2、生成随机验证码


import random

li = []

for i in range(6):
    r = random.randrange(0,5)
    if r == 2 or r == 4:
        num = random.randrange(0,10)
        li.append(str(num))
    else:
        temp = random.randrange(65,91)
        li.append(chr(temp))

result = "".join(li)
print(result)

3、compile()、exec()、eval() 应用


s = "print(123)"
r = compile(s,‘<string>‘,‘exec‘)
exec(r)
result = eval("7*8")
print(result)

4、filter() 和 map() 应用



找出列表中所有大于 22 的元素

li = [11,22,33,44,55]
li_new = filter(lambda x:x>22,li)
print(list(li_new))

给列表中的所有元素增加 100

li = [11,22,33,44,55]
li_new = map(lambda x:x+100,li)
print(list(li_new))

5、文件操作



open(filemode=‘r‘buffering=-1encoding=Noneerrors=Nonenewline=Noneclosefd=Trueopener=None)

打开一个文件,并返回一个文件对象,如果文件不能打开则报 OSError 错误

打开文件

打开文件时需要指定文件路径和以何等方式打开文件,打开后,即可获取该文件句柄,日后通过此文件句柄对该文件操作

文件的打开模式有

  • r,只读模式打开【默认模式】
  • w,只写模式【不可读;不存在则创建;存在则清空内容;】
  • x,只写模式【不可读;不存在则创建,存在则报错】
  • a,追加模式【不可读;不存在则创建;存在则只追加内容;】

"+" 表示可以同时读写某个文件

  • r+,读写【可读,可写,可调整指针写内容】常用
  • w+,读写【可读,可写,写时会先覆盖】
  • x+,读写【可读,可写】
  • a+,读写【可读,可写,无论如何调整指针,都会写在文件的最后】

"b"表示以字节的方式操作

当打开方式包含 b 时,读取到的内容是字节类型,写入时也需要提供字节类型

  • rb 或 r+b
  • wb 或 w+b
  • xb 或 x+b
  • ab 或 a+b

操作文件

close() 关闭文件
fileno() 文件描述符
flush() 当文件没有关闭时,强制刷新内存到硬盘
isatty() 是否为 tty 设备
read() 读取指定字节的文件,默认读取全部
next()  读取下一行数据,不存在则报错
readable() 文件是否可读
readline() 仅读取一行数据
readlines() 读取所有数据,并根据换行保存为列表 
seek() 调整文件中的指针位置
tell() 获取指针位置
truncate() 截断文件,从指针所在位置只有全部删除
writeable() 是否可写
write() 写入数据
writelines() 写入多行数据,数据是一个list,元素必须都是 str

关闭文件

  打开的文件必须在使用完成之后进行关闭,可以通过 file.close() 关闭,也可以通过 with...as... 自动关闭

实例

已只读模式打开 db 文件,并输出所有内容

f = open(‘db‘,‘r‘,encoding=‘utf-8‘)
print(f.read())
f.close()

通过 with...as... 打开文件,with 下面的代码段执行完成后会自动关闭文件,不需要再执行 file.close()

with open(‘db‘) as f:
    # f 为一个文件对象,逐行输出文件的每一行
    for line in f:
        print(line)

file.read() 和 file.tell()

# db 文件的内容为“您好”
# 已 utf-8 打开文件,f.read(1),输出您,但是 f.tell() 返回的值为 3
f = open(‘db‘,‘r‘,encoding=‘utf-8‘)
print(f.read(1))
print(f.tell())
f.close()

以 b 模式打开文件,并进行写入

with open(‘db‘,‘r+b‘) as f:
    f.truncate()
    f.write(bytes(‘您好‘,encoding=‘utf-8‘))

同时打开多个文件

with open(‘db‘) as f1, open(‘db2‘) as f2:
    pass
时间: 2024-10-25 08:31:54

python学习-内建函数的相关文章

Python学习笔记_Python对象

Python学习笔记_Python对象 Python对象 标准类型 其他内建类型 类型对象和type类型对象 Python的Null对象None 标准类型操作符 对象值的比较 对象身份比较 布尔类型 标准类型的内建函数 typeObj cmpobj1 obj2 strobj reprobj typeobj isinstanceobj 标准类型的分类 存储模型 更新模型 访问模型 不支持的类型 Python学习笔记_Python对象 首先来理解一个通俗的含义,什么是对象?其实对象无论在什么语言里面

Python 学习参考书目推荐

Python 学习,参考书目推荐 前言 好的技术书籍可以帮助我们快速地成长,大部分人或多或少地受益于经典的技术书籍.在「Python开发者」微信公号后台,我们经常能收到让帮忙推荐书籍的消息.这类的问题在@Python开发者 微博 和 伯乐在线的 Python小组 讨论中也不绝于耳. 7月3日,伯乐在线在「Python开发者」微信公号发起了一个讨论 (注:PC端无法看到大家的评论,需要关注微信公号后,从微信才可以看到),通过这个讨论话题,在评论中分享对自己帮助很大的Python技术书籍.  (Py

[Python学习] 专题一.函数的基础知识

        最近才开始学习Python语言,但就发现了它很多优势(如语言简洁.网络爬虫方面深有体会).我主要是通过<Python基础教程>和"51CTO学院 智普教育的python视频"学习,在看视频中老师讲述函数知识的时候觉得非常不错,所以就写了第一篇Python学习的文章分享给大家.主要内容:         1.Python安装与基本输入输出,print()函数和raw_input()函数简单用法. 2.我根据视频中学到的知识,讲解函数的基本知识: (1).系统提

Python学习的个人笔记(基础语法)

Python学习的个人笔记 题外话: 我是一个大二的计算机系的学生,这份python学习个人笔记是趁寒假这一周在慕课网,w3cschool,还有借鉴了一些博客,资料整理出来的,用于自己方便的时候查阅,一开始保存在word上,代码不是很好看,于是决定复制到博客里面,可能有复制过程中出错的,或者我本身在理解方面有出错的地方,希望能得到指正,谢谢  后续的内容我会继续学习…… python下载地址  www.python.org Python 分为2.7和3.3两个版本,3.3有些库不兼容,因此用2.

Python学习系列(四)Python 入门语法规则2

Python学习系列(四)Python 入门语法规则2 2017-4-3 09:18:04 编码和解码 Unicode.gbk,utf8之间的关系 2.对于py2.7, 如果utf8>gbk, utf8解码成Unicode,再将unicode编码成gbk 对于py3.5 如果utf8>gbk, utf8 直接编码成gbk(中间那一步直接被优化了) 3.很多时候,这个可以直接跳过,只有当编码出下问题的时候,再考虑这个知识点 二.运算符 1.算数运算: 2.比较运算: 3.赋值运算: 4.逻辑运算

python 学习笔记 7 -- Python关键字总结

0.写在前面的话 学习一门语言最重要的功课是练习与复习,在<笨方法学Python>中第三十七节虽然没有教你任何内容,但是它提醒我们:"学了这么多,你还能记得多少?该复习了!" 下面我们就对这一节的第一部分"关键字"来做个复习: Python中的关键字包括如下: and       del        from      not      while    as        elif       global    or       with     

Python:内建函数总结

前言:Python的内建函数为编程提供了很大的方便,为方便以后的学习,在这里对Python 3.x的内建函数做一个相对完整的总结 A ? abs(x):如果x是复数,则返回它的大小:若是整数或浮点数则返回它的绝对值 1 print(abs(-1)) 2 print(abs(-10.01)) 3 print(abs(3+4j)) #返回复数的大小 ? all(iterable):如果iterable所有的元素不为0.''.False或者iterable为空,all(iterable)返回True,

Python学习_01_对象

之前关于python的知识比较零散,这一个系列的随笔将python重新学习整理一遍.学习书籍<Python核心编程>第二版. Python对象基础 python并不是一个单纯面向对象的语言,他融合了其他语言,如函数式语言的特性.但是python的面向对象也是很强大的. 所有的Python对象都具有三个属性:身份(id),类型(type),值(value).身份属性可以通过内建函数id()获得,可以看做是对象的内存地址,每个对象的id值都是唯一的,所以可以用id来判断两个对象是否是同一块内存的不

python学习的部分笔记

Python学习:终于开始了啊 Date: 2014.10.30 Python 第八章 if  expression : expr_true_suite 由三部分组成,关键字+表达式+表达式为真或非零时的代码块,注意要有冒号,后面语句需要进行缩进. 单个if语句可以通过布尔操作符 and , or, not实现多重条件判断或者是否定判断. 在if中,0 以及none,””等都是false类型. 如果一个复合语句(例如 if 子句, while 或 for 循环)的代码仅仅包含一行代码,那么它可以