自定义函数及内置函数

动态参数:元组、字典的传值

//直接使用名称调用相当于把元组、字典整个传递给了一个形参

//元组前面加*,使元组里面的值分别传递给形参

//字典前面加**,使字典里面的值分别传递给形参

返回值

//函数被调用后会返回一个指定的值

//函数被调用后默认返回None

//return 返回值

//返回值可以是任意类型

//return执行后,函数终止

//区分返回值和打印

局部变量、全局变量

//函数内部的变量为局部变量,函数外定义的变量为全局变量

局部变量前加 global 把局部变量变为全局变量 (引用之前声明)

lambda函数(匿名函数)

//lambda函数是一种快速定义单行的最小函数

定义:

名称=lambda 形参,形参,..... :返回值的表达式(不需要写return)

使用:

名称(实参,实参,......)

自定义函数

//定义函数时参数的名称叫形式参数

//定义函数时参数给形式参数赋了值则叫做缺省参数(默认参数)

//调用函数时参数的名称叫实际参数

形参定义: 使用传递 元组和字典的方法可以解决沉余问题

名称  一个变量

*名称  元组 格式例:1,2,3,4......  格式例2:*tuple

**名称 字典 格式例:a=1,b=2,c=3......   格式例2:**dict

def 函数名(参数列表)://参数列表可以没有

函数体

预定义函数"[]"里面的参数可以不加

type()  //查看数据类型

id()  //查看变量存储的id(接近内存地址)

文件操作:

open(name[, mode[, buffering]]) name:路径/文件名 mode:模式 buffering:缓存 返回文件对象  作用打开文件

file(name[, mode[, buffering]]) name:路径/文件名 mode:模式 buffering:缓存  作用打开文件

with open(name[, mode[, buffering]]) as var name:路径/文件名 mode:模式 buffering:缓存 返回文件对象  作用打开文件赋予变量

with as 方法不需要close()

 

>>> with file(‘test.pkl‘,‘wb‘) as f:

...     pickle.dump(d,f)

... 

>>> os.system(‘ls -a‘)

.              iRedMail-0.9.2         .pythonhistory     test.pkl


>>> test=open(‘/root/te1.txt‘,‘w‘)  对把打开的te1.txt赋予文件对象test,模式为写入

>>> test.write(‘hell word‘)    文件对象.write(str)   对test对象进行写操作,把str写入对象

>>> test.close()    文件对象.close()  关闭对象(对文件操作完成后,需要关闭文件,习惯问题)

>>> test=open(‘/root/te1.txt‘,‘r‘)

>>> test.read()     文件对象.read()   对对象读操作

‘hell word‘

>>> test.close()     

readlines:

区别readline 他是全部读取,返回行为单位的元组

fileinput 模块(修改内容)

fileinput.input(files=None, inplace=0, backup=‘‘, bufsize=0, mode=‘r‘, openhook=None) 返回能够用于for循环遍历的对象 files:文件对象 inplace: 原文件是否修改(0表示不修改,1表示修改)backup:备份文件后缀

>>> test=fileinput.input(‘/root/python/auth‘,1,‘_bak‘)

>>> for aa in test:

...     aa=aa.replace(‘hjd‘,‘hjdd‘)

...     print aa

cat /root/python/auth

hjdd 1 123456

huang 0 123456

jin 1 123456

/root/python/auth_bak

hjd 1 123456

huang 0 123456

jin 1 123456

fileobject.tell() 返回当前所在指针位置

help(函数名) 获取函数帮助信息

dir(类) 返回所有方法

vars(类) 返回所有方法和返回值

callable(object) 测试函数是否能用 object对象:函数名  变量会返回假

id() 查看内存中占用空间

isinstance(object, class-or-type-or-tuple) 判断对象是否是某个类型

type() 查看类型

cmp(x,y) 比较两个序列的值知否相同

range(i,j,[,步进值])用于生成整数序列,只适用整数对象,i为初始值默认为0,j为终止值(结果中不包含终止值,结果最后的值为终止值前一个值),步进值默认为1

xrange(i,j,[,步进值])

input()   获取到键盘输入的值可以加入“str”在屏幕显示字符串提示 如下:

raw_input("please input num:")

strip()

enumerate(object,[起始值]) 枚举 可以获取到索引值

>>> q=enumerate(‘123456‘)

>>> for i in q:

...     print i

...

(0, ‘1‘)

(1, ‘2‘)

(2, ‘3‘)

(3, ‘4‘)

(4, ‘5‘)

(5, ‘6‘)

globals() 获取所有的全局变量

locals() 获取所有的局部变量

数学运算类:

pow(x,y[,z]) 返回x的y次方,再和z求余数

round(number[, ndigits]) 返回浮点数 number:数字 ndigits:位数

divmod(被除数,除数) 返回(商,余数)

abs() 返回绝对值

类型转换类:

int() 转换成整数

long() 转换成长整型

float() 转换成浮点型

complex() 转换成复数

list() 转换成列表

tuple() 转换成元组

str() 转换成字符串

bin() 返回二进制字符串

hex() 整数转换成十六进制字符串

oct() 整数转换成八进制字符串

chr() 整数转换成字符

ord() 字符转换成它的整数

unichr() 整数转换成unicode字符

all(序列) 序列的所有值为真则返回真

any(序列)

序列的值有为真的则返回真

ascii() 相当于类下的__repr__()方法

bool() 返回bool值

字符串对象函数:

str.capitalize() 使字符串 首字母大写

str.replace(old, new[, count]) 返回原字符串中的old替换成new old:摸个字符串 new:摸个字符串 count:替换个数

(原字符串不变,知识返回替换后的字符串)

str.split([sep [,maxsplit]]) 返回原字符串用sep切割后的一个列表 wep:用来切割的标志 maxsplit:分割次数

str.strip([chars])  返回一个去掉前后

chars(默认空格)

的字符串   

chars:字符  

序列对象函数:

len() 求序列长度

max() 返回序列最大的值

min() 返回序列最小的值

filter(function or None, sequence)  function or None:函数或者none sequence:序列 当函数作用序列后,返回返回值为True的对应值生成一个新序列

>>> a=[1,2,3,4,5,6,7,8,9]

>>> def fun02(x):

...     if x>3 and x<8:

...         return True

...

>>> filter(None,a)

[1, 2, 3, 4, 5, 6, 7, 8, 9]

>>> filter(fun02,a)

[4, 5, 6, 7]

zip(seq1 [, seq2 [...]])  seq1:序列1 seq2:序列2

>>> a=[1,1,1]

>>> b=[1,2,3]

>>> c=[1,10,100]

>>> e=[5,5]

>>> zip(a,b,c)

[(1, 1, 1), (1, 2, 10), (1, 3, 100)]

zip(a,b,c,e)

[(1, 1, 1, 5), (1, 2, 10, 5)]

map(function or None, sequence[, sequence, ...])   function or None:函数或者none sequence:序列 返回当函数作用序列后一个新序列

>>> a=[1,1,1]

>>> b=[1,2,3]

>>> c=[1,10,100]

>>> e=[5,5]

>>> ce=lambda x,y,z:x*y*z

>>> map(None,a,b,c)

[(1, 1, 1), (1, 2, 10), (1, 3, 100)]

>>> map(None,a,b,c,e)

[(1, 1, 1, 5), (1, 2, 10, 5), (1, 3, 100, None)]

>>> map(ce,a,b,c)

[1, 20, 300]

reduce(function or None, sequence[, initial])    function or None:函数或者none sequence:序列 initial:初始值

reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) 相当于  ((((1+2)+3)+4)+5)

reduce(lambda x, y: x+y, [1, 2, 3, 4, 5],3) 相当于  3+((((1+2)+3)+4)+5)

reduce(lambda x, y: x*y, [1, 2, 3, 4, 5]) 相当于  ((((1*2)*3)*4)*5)

reduce(lambda x, y: x*y, [1, 2, 3, 4, 5],3) 相当于  3*((((1*2)*3)*4)*5)

>>> a=range(1,101)

>>> a

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100]

>>> fun01=lambda x,y:x+y

>>> reduce(fun01,a)

5050

时间: 2024-08-29 13:34:11

自定义函数及内置函数的相关文章

python协程函数、递归、匿名函数与内置函数使用、模块与包

目录: 协程函数(yield生成器用法二) 面向过程编程 递归 匿名函数与内置函数的使用 模块 包 常用标准模块之re(正则表达式) 一.协程函数(yield生成器用法二) 1.生成器的语句形式 a.生成器相关python函数.装饰器.迭代器.生成器,我们是如何使用生成器的.一个生成器能暂停执行并返回一个中间的结果这就是 yield 语句的功能 : 返回一个中间值给调用者并暂停执行. 我们的调用方式为yeild 1的方式,此方式又称为生成器的语句形式. 而使用生成器的场景:使用生成器最好的场景就

JavaScript原生函数(内置函数)

1.JavaScript原生函数(内置函数) JavaScript原生函数(内置函数)有: String() Number() Boolean() Array() Object() Function() RegExp() Date() Error() Symbol() 2.创建内置函数 <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8" /> &l

python 全栈 python基础 (十三)匿名函数 与 内置函数

一.匿名函数  1.定义: 匿名函数顾名思义就是指:是指一类无需定义标识符(函数名)的函数或子程序. 2.语法格式:lambda 参数:表达式 lambda语句中,开头先写关键字lambda,冒号前是参数,可以有多个,用逗号隔开:冒号右边的为表达式,需要注意的是只能有一个表达式.由于lambda返回的是函数对象(构建的是一个函数对象),所以需要定义一个变量去接收.  3.注意点:lambda 函数可以接收任意多个参数 (包括可选参数) 并且返回单个表达式的值.lambda 函数不能包含命令,包含

python学习-day16:函数作用域、匿名函数、函数式编程、map、filter、reduce函数、内置函数r

一.作用域 作用域在定义函数时就已经固定住了,不会随着调用位置的改变而改变 二.匿名函数 lambda:正常和其他函数进行配合使用.正常无需把匿名函数赋值给一个变量. f=lambda x:x*x print(f) #打印指向该函数的内存地址 print(f(5)) #内存地址(5) 调用运行该函数 def cala(x): y=x*x return y z=cala(5) print(z) >>> <function <lambda> at 0x10137d950&g

python匿名函数 与 内置函数

一.匿名函数  1.定义: 匿名函数顾名思义就是指:是指一类无需定义标识符(函数名)的函数或子程序. 2.语法格式:lambda 参数:表达式 lambda语句中,开头先写关键字lambda,冒号前是参数,可以有多个,用逗号隔开:冒号右边的为表达式,需要注意的是只能有一个表达式.由于lambda返回的是函数对象(构建的是一个函数对象),所以需要定义一个变量去接收.  3.注意点:lambda 函数可以接收任意多个参数 (包括可选参数) 并且返回单个表达式的值.lambda 函数不能包含命令,包含

十一、python沉淀之路--map函数、filter函数、reduce函数、匿名函数、内置函数

一.map函数 1.自定义函数,实现类似于map函数的功能 1 num_l = [1,3,4,5,6,9] 2 def power(n): 3 return n ** 2 4 def map_test(func,array): 5 li0 = [] 6 for i in array: 7 p = func(i) 8 li0.append(p) 9 return li0 10 11 f = map_test(power,num_l) 运用自己定义的函数来计算 12 print(f) 13 f =

python函数: 内置函数

forthttp://blog.csdn.net/pipisorry/article/details/44755423 Python内置函数 Python内置(built-in)函数随着python解释器的运行而创建.在Python的程序中,你可以随时调用这些函数,不需要定义. Built-in Functions     abs() dict() help() min() setattr() all() dir() hex() next() slice() any() divmod() id(

lambda函数,常用函数,内置函数(string,zip()map()filter())的用法

lambda函数胡使用#coding:utf-8g = lambda x,y:x*y/*必须亦g=*/print g(2,3)/*print必须有*/swtich函数使用 def jia(x,y):    return x+ydef jian(x,y):    return x-ydef cheng(x,y):    return x*ydef chu(x,y):    return x/yoperator = {"+":jia,"-":jian,"*&q

python基础-匿名函数、内置函数、正则表达式、模块

1. 匿名函数 1.1 有名函数 有名函数:定义了一个函数名,函数名指向内存地址:通过函数名进行访问.函数名加括号就可以运行有名函数,例如:func() def func(x, y, z = 1): return x + y + z print(func(1,5,2)) 1.2 匿名函数 匿名函数:没有名字的函数,定义的时候不需要函数名:定义匿名函数的关键字是:lambda 特点: 1.没有函数名 2.函数自带return 应用场景: 1.应用于一次性的地方 2.临时使用 salaries={

函数6—内置函数

内置函数 #数据类型中的数字int()num = 1num = int(1) print(type(num)) #查看num的数据类型print(isinstance(num,int)) #判段num的数据类型 print(num is 1) #身份运算 根据id判断 print(float(6)) #变为浮点数 complex() #复数x = complex(1-2j)print(x.real) #查看复数的实部print(x.imag) #查看复数的虚部 #对数字的处理print(abs(