一、内建函数

1、数学运算类

abs(x)#求绝对值

divmod(a, b)#分别取商和余数

float([x])#将一个字符串或数转换为浮点数。如果无参数将返回0.0

int([x[, base]])#将一个字符转换为int类型,base表示进制

long([x[, base]])#将一个字符转换为long类型

range([start], stop[, step]) #产生一个序列,默认从0开始

oct(x)#将一个数字转化为8进制

hex(x)#将整数x转换为16进制字符串

chr(i)#返回整数i对应的ASCII字符

2、集合操作类

format(value [, format_spec])#格式化输出字符串,如“I am {0},I like {1}”

iter(o[, sentinel])#生成一个对象的迭代器,第二个参数表示分隔符

max(iterable[, args...][key]) #返回集合中的最大值

min(iterable[, args...][key])#返回集合中的最小值

dict([arg])#创建数据字典

list([iterable]) #将一个集合类转换为另外一个集合类

str([object]) #转换为string类型

sorted(iterable[, cmp[, key[, reverse]]])#队集合排序

xrange([start], stop[, step]) #返回一个xrange对象

3、逻辑判断

all(iterable)#集合中的元素都为真的时候为真,若为空串返回为True

any(iterable)#集合中的元素有一个为真的时候为真,若为空串返回为False

cmp(x, y)#如果x < y ,返回负数;x == y, 返回0;x > y,返回正数

4、反射

hash(object)#如果对象object为哈希表类型,返回对象object的哈希值

id(object)#返回对象的唯一标识

len(s) #返回集合长度

eload(module) #重新加载模块

type(object)#返回该object的类型

5、io操作

input([prompt]) #获取用户输入,使用raw_input该函数将不会捕获用户的错误输入

file(filename [, mode [, bufsize]]) #

open(name[, mode[, buffering]]) 打开文件,推荐使用open

raw_input([prompt]) #设置输入,输入都是作为字符串处理

二、文件操作

1、打开模式列表

#w      以写方式打开,

#a      以追加模式打开 (从 EOF 开始, 必要时创建新文件)

#r+     以读写模式打开

#w+     以读写模式打开 (参见 w )

#a+     以读写模式打开 (参见 a )

#rb     以二进制读模式打开

#wb     以二进制写模式打开 (参见 w )

#ab     以二进制追加模式打开 (参见 a )

#rb+    以二进制读写模式打开 (参见 r+ )

#wb+    以二进制读写模式打开 (参见 w+ )

#ab+    以二进制读写模式打开 (参见 a+ )

#"U"表示在读取时,可以将 \r \n \r\n自动转换成 \n (与 r 或 r+ 模式同使用)rU,r+U

2、文件对象方法

file.close()                     # 关闭文件

file.fileno()                    # 返回文件的描述符

file.flush()                     # 刷新文件的内部缓冲区

file.isatty()                    # 判断file是否是一个类tty设备

file.next()                      # 返回文件的下一行,或在没有其他行时引发StopIteration异常

file.read(size=-1)               # 从文件读取size个字节,当未给定size或给定负值的时候,读取剩余的所有字节,然后作为字符串返回

file.readline(size=-1)           # 从文件中读取并返回一行(包括行结束符),或返回最大size个字符

file.readlines(sizhint=0)        # 读取文件的所有行作为一个列表返回

file.xreadlines()                # 用于迭代,可替换readlines()的一个更高效的方法

file.seek(off, whence=0)         # 在文件中移动文件指针,从whence(0代表文件起始,1代表当前位置,2代表文件末尾)偏移off字节

file.tell()                      # 返回当前在文件中的位置

file.truncate(size=file.tell())  # 截取文件到最大size字节,默认为当前文件位置

file.write(str)                  # 向文件写入字符串

file.writelines(seq)             # 向文件写入字符串序列seq;seq应该是一个返回字符串的可迭代对象

3、文件读取

f = open('tpm.txt')

# read方式读取

s = f.read()

print(s, '\n\n\n')

print(f.tell())

#上面读取完后指针移动到最后,通过seek将文件指针移动到文件头

f.seek(0)

#使用readline每次读取一行

while(True):

line = f.readline()

print(line)

if(len(line) == 0):

break

f.close()

#为了避免打开文件后忘记关闭,可以通过管理上下文,即:

with open('log','r') as f:

with open('log1') as obj1, open('log2') as obj2:

pass

二、函数

1、定义和使用函数

def 函数名(参数):

函数体

3、参数

形参:在定义函数的同时定义变量,如下例的a,b。

实参:供形参使用的值叫做实参,入下例的3,4。

def printMax(a, b):

if a > b:

print a, 'is maximum'

else:

rint b, 'is maximum'

printMax(3, 4)

4、局部变量

#当你在函数定义内声明变量的时候,它们与函数外具有相同名称的其他变量没有任何关系,即变量名称对

于函数来说是 局部 的。这称为变量的 作用域

使用global可将局部变量定义为全局变量

例:

def func():

global x

print 'x is', x

x = 2

print 'Changed local x to', x

x = 50

func()

print 'Value of x is', x

结果:

x is 50

Changed global x to 2

Value of x is 2

5、参数

关键参数

#如果你的某个函数有许多参数,而你只想指定其中的一部分,那么你可以通过命名来为这些参数赋值——

这被称作 关键参数

我们使用名字(关键字)而不是位置,来给函数指定实参。这样做有两个优势一,由于我们不必担心参数的顺序,使用函数变得更加简单了。二、假设其他参数

都有默认值,我们可以只给我们想要的那些参数赋值。下列中的b=5,c=10为默认参数,在不填写时为默认值。

例子:

def func(a, b=5, c=10):

print 'a is', a, 'and b is', b, 'and c is', c

func(3, 7)

func(25, c=24)

func(c=50, a=100)

输出:

a is 3 and b is 7 and c is 10

is 25 and b is 5 and c is 24

a is 100 and b is 5 and c is 50

动态参数:

例1:

def func(*args):

print args

执行1:func(11,33,4,4454,5)

执行2:li = [11,2,2,3,3,4,54] func(*li)

例2:

def func(**kwargs):

print args

执行1:func(name='lxb',age=21)

执行2:dic = {'name':'lxb', age:21, 'gender':'male'} func(**dic)

执行3:

def func(*args, **kwargs):

print args

print kwargs

6、返回值

#return 语句用来从一个函数 返回 即跳出函数。我们也可以从函数 返回一个值 。

def maximum(x, y):

if x > y:

return x

else:

return y

print maximum(2, 3)

三、内置函数

1、nmap #遍历序列,对序列每个元素进行操作,最终获取新序列。

#每个元素增加100

li=[11,22,33]

new_list=map(lambda a:a+100,li)

#两个序列相加

li=[11,22,33]

li1=[1,2,3]

new_list=map(lambda a,b:a+b,li,li1)

2、filter #对序列中的每个元素进行筛选,最终获得符合条件的序列。

new_list=filter(lambda arg:arg>12,li)#获取大于12的序列

3、reduce #对序列内所有元素进行累计操作

li=[11,22,33]

result=reduce(lambda arg1,arg2:arg1+arg2,li)

# reduce的第一个参数,函数必须要有两个参数

# reduce的第二个参数,要循环的序列

# reduce的第三个参数,初始值(可为空)

四、yielod生成器

range和xrange的区别

rangge会在内存中创建所有指定的数字,而xrange,只有在迭代循环,才去创建每个数组

自定义range

def nrange(num):

temp = -1

while True:

temp = temp + 1

if temp >= num:

return

else:

yield temp #记忆此时内容并退出函数

五、冒泡算法

按从小到大对列表[13,22,6,99,11]进行排序

思路相邻两个值进行比较,较大的值放在右侧,依次进行比较。

li = [13, 22, 6, 99, 11]

for i in range(1,5):

for m in range(len(li)-i):

if li[m] > li[m+1]:

temp = li[m+1]

li[m+1] = li[m]

li[m] = temp

六、装饰器

1、手工装饰

import time

#装饰器是一个函数,而其参数为另一个参数

def timeit(func):

def wrapper(): #在内部定义了一个函数,封装添加的功能

start = time.clock() #放一些在执行函数前的代码

func() #执行原始函数

end = time.clock() # #放一些执行函数后的代码

print 'used:', end - start

return wrapper #返回封装函数,封装函数已包含函数执行前后执行的代码

@timeit #等于foo=timeit(foo),即装饰器返回的是封装函数

def foo():

print('in foo()')

foo() #执行封装函数,即执行的不是原函数而是封装后的函数

print(foo.__name__) #被修饰后函数名变为wrapper

2、使用functools装饰器装饰

#函数是有几个特殊属性比如函数名,在被装饰后,上例中的函数名foo会变成包装函数的名字wrapper,

#它能将装饰过的函数的特殊属性保留。

import functools

def timeit(func):

@functools.wraps(func)

def wrapper():

start=time.clock()

func()

end=time.clock()

print 'used:', end - start

return wrapper

@timeit

def foo():

print 'in foo()'

foo()

print foo.__name__ #函数名还是之前的函数名foo

load()是python文件操作的函数_python深入(函数,文件操作)相关推荐

  1. python文件操作函数_python基础之文件操作,集合,函数

    文件操作: 打开文件的方法: 第一种:打开文件执行完命令后,需要关闭文件,否则会一直占用内存空间 f=open('/data/1.txt','r+') #后面的r+ 表示打开文件的模式是读写 #命令 ...

  2. python调用文件对象所提供的读取数据的函数_python读写数据文件

    1. read.readline.readlines (1)open函数 如果你想用python读取文件(如txt.csv等),第一步要用open函数打开文件. open()是python的内置函数, ...

  3. python io操作有什么_Python笔记:文件IO操作

    读取文件 使用open()打开文件,文件不存在会抛出IOError错误. try: f = open('/path/to/file', 'r') print(f.read()) finally: if ...

  4. python 文件操作不被打断_python学习六文件操作和异常处理

    1.文件的定义和类型 什么是文件呢? 文件是数据的抽象和集合 文件是存储在辅助存储器上的数据序列 文件是存储的一种 文件有哪些类型呢? 本质上所有文件以二进制储存,不过又可以分为文本文件和二进制文件 ...

  5. python定义一个求和函数_Python定义函数实现累计求和操作

    一.使用三种方法实现0-n累加求和 定义函数分别使用while循环.for循环.递归函数实现对0-n的累加求和 1.使用while循环 定义一个累加求和函数sum1(n),函数代码如下: 2.使用 f ...

  6. python文件函数_Python closed()函数:关闭打开的文件

    在文件使用完毕后,需要关闭文件以释放资源.关闭文件的方法是: 文件对象.close() 可以对一个已经关闭的文件再次执行 close() 操作,不必担心会产生异常. 在文件关闭后便不能对其进行读写操作 ...

  7. python读取json文件制作中国人口地图_Python对JSON文件世界人口数据进行可视化

    制作世界人口地图,用json模块来处理,将人口数据进行可视化!!! 下载JSON格式的人口数据,下面附上完整的,在网站中https://datahub.io/下载的数据集的详细过程!!! 1.下载世界 ...

  8. python cx_oracle模块详解_Python使用cx_Oracle模块操作Oracle数据库详解

    这篇文章主要介绍了Python使用cx_Oracle模块操作Oracle数据库,结a合实例形式较为详细的分析了cx_Oracle模块的下载.安装及针对Orcle数据库的连接.执行SQL语句.存储过程等 ...

  9. python del函数_python del函数是什么以及如何使用?

    这是关于Python里比较难得一个函数,甚至于章节不多,但是讲的内容却很多很多,大家对部分内容不知道有没有过了解--面向对象,而在这里主要用到的函数就是del,大家如果不知道的话,可以跟随小编一起来看 ...

  10. python写完程序保存_Python学习笔记——文件处理

    1.文件路径 1.1 不同系统环境下的路径 1.2 当前工作目录 1.3 绝对路径和相对路径 1.4 新建文件夹-- os.makedirs() 2.文件的读写 2.1 打开文件 2.2 读写文件 3 ...

最新文章

  1. CI流水线配置文件参数详解(一)
  2. java判断栈空_java中栈的应用-判断分隔符是否合理
  3. Java并发编程——线程池初步
  4. 可重入锁和不可重入锁
  5. 【LeetCode】002 Add Two Numbers
  6. php mysql查询结果_php对mysql查询结果进行分页 - ceil
  7. 使用Hexo搭建博客步骤详解
  8. 3-7:类与对象下篇——static成员
  9. 运算符 python
  10. iPhone 11终于没涨价但依然暴利 外媒:64GB起始容量就是个笑话
  11. BitMEX将调整Impact Notional和Index Price Protection两个参数
  12. Java大数据-Week2-Day1 面向对象基础
  13. Lowagie 导出html的内容到 pdf
  14. android同花顺布局,同花顺首发 Android平板电脑炒股高清版
  15. python比赛2020_2020LPL春季赛3月15日比赛数据的数据分析(Python)
  16. 从零开始学习使用FPGA控制ADF4351芯片
  17. Java程序员进阶书籍 ,看这11本书就够了
  18. 在别人的句子里出现曙光
  19. java里readfile,readfile java例子
  20. 打字速度单位WPM、KPM定义与计算方法

热门文章

  1. 更新项目java_java – 什么是Maven – 更新项目?
  2. delphi接口带上请求头是什么意思_python接口自动化(二十)--token登录(详解)...
  3. layui如何获取父节点的父节点_区块链如何运用merkle tree验证交易真实性
  4. firefox如何载入json文件_Firefox在书签工具栏中推隐藏“其他书签”文件夹功能
  5. 用计算机编码原理解释,编码原理
  6. html怎么添加遮罩层,如何在浏览器窗口上添加一个遮罩层
  7. 鸟哥Linux计算退伍时间,发现《鸟哥的Linux基础篇》中有个脚本还能再完善点。...
  8. Deformable 3D shape registration based on local similarity transforms
  9. lesson3 一阶线性常微分方程解法
  10. Lesson 3.5 - Maya Commands: getAttr