函数

内置函数

常用的内建函数:

type()  列出指定对象的类型
help()  能够提供详细的帮助信息
dir()    将对象的所有特性列出
vars()  列出当前模块的所有变量 file,doc,name
 
__file__  列出文件位置
__doc__  文档字符串
__name__ 被执行的脚本,name == __main__
if __name__ == "__main__":
print("hello")
 
int() 
abs()
max()
min()
pow()
bool()
divmod(x,y)  #相除,得到商和余数组成的元组,在网页分页操作中使用。
sum()
 
len()
all()   接受一个序列 判断所有值都为真,才会返回为true
any() 接受一个序列,只要有一项为真,即为真
 
chr()   返回值是当前整数对应的ascii字符。
ord()   返回值是当前ascii字符对应的整数。
hex()  16进制转换
oct()   8进制转换
bin()   2进制转换
 
range()  创建整数的迭代器
enumerate() 枚举函数
for k,v in enumerate(range()):
print(k,v)
 
print()  
eval(source[,globals[,locals]])  将字符串作为表达式计算,并且返回值
 
zip(seq1,seq2,...)   创造用于并行迭代的新序列
sorted()     返回seq中排序后的列表
reversed()  产生seq中值的反向版本,用于迭代

自定义函数

def 定义函数的关键字
函数名,通过函数名调用函数

函数声明,不自动执行;调用后才执行

函数的参数 为函数提供数据;普通参数,关键字参数,默认参数,动态参数;

返回值 当函数执行完毕后,返回的数据;可以同时返回多个值,但其实就是一个tuple

创建函数:

def fib(n):    
  result = [,]
  for i in range(n-):
    result.append(result[-]+result[-])
  return result

函数的返回值
1.未明确指定返回值,返回None

并非真正的函数:

def show():
print('a')
return
print('b')
x = show()
print(x) a
None
#函数会执行print('a'),然后被return终止,不会继续执行print('b')

2.返回值可以赋值给某个变量

def show(guess):
ret = False
if guess == 'xixi':
ret = True
return ret
ret = show('xixi') if ret:
print("猜对了")
else:
print("猜错了") 猜对了

普通参数:
    形式参数,形参;实际参数,实参;参数可以有n个,传入n个参数

def fun2(a1,a2):
print(a1,a2)
fun2('hello,','wolrd')

关键字参数

有时候参数的顺序很难记住,可以提供参数的名字;这样参数顺序不受影响,但是参数名和值一定要对应。

def hello(greet,name):
print('%s,%s!'%(greet,name))
hello(name='csp',greet='hello') hello,csp

默认参数

默认参数只能放在最后,不传入参数则使用默认提供的参数。

def hello1(greet,name="koka"):
print('%s,%s!'%(greet,name))
hello1('hello')
hello,koka!

动态参数

定义时添加*,接受多个参数,内部构造元组

def xixi(*arg):
print(arg,type(arg))
xixi(,,,) (, , ,) <class 'tuple'>

定义时添加**,接受多个参数,内部构造字典

def haha(**args):
print(args,type(args))
haha(name='koka',age=) {'name': 'koka', 'age': } <class 'dict'>

调用时添加* 或**可以分隔序列和字典,避免内部构造元组或字典

def haha(*arg,**args):
print(arg,type(arg))
print(args,type(args)) haha(,,,,name='doubi')
(, , , ) <class 'tuple'>
{'name': 'doubi'} <class 'dict'> li1= [,,,]
name = {'haha':,'xixi':}
haha(*li1,**name)
(, , , ) <class 'tuple'>
{'haha': , 'xixi': } <class 'dict'> #星号只有在定义(允许使用不定数目的参数)或者调用("分割"字典或者序列)的时候才有效。 #字典元素必须放在后面,否则将报错
haha(name='test',,,) haha(name='test',,,)
^
SyntaxError: positional argument follows keyword argument

一些功能函数

lambda 函数

#普通函数
def func1(arg):
return arg + #匿名函数,执行简单语句
func2 = lambda arg: arg +
print(func2()) #匿名函数也可以像普通函数一样,收集多个参数
fun3 = lambda a,b,*arg,**args: print(a,b,arg,args) fun3(,,,,,name='koka')

filter 函数

过滤函数 对于序列中的元素进行筛选,最终获取符合条件的序列

#filter(function_or_None, iterable)
seq = [,,,,]
filter(lambda a:a>,seq) #返回迭代器,可以基于一个返回布尔值的函数对元素进行过滤
map 函数
将序列中的元素全部传递给一个函数
#map(func, *iterables)
l1 = [,,]
l2 = [,,]
def func1(a1,a2):
return a1 + a2
map(func1,l1,l2) [,,]

python学习笔记三 函数(基础篇)的更多相关文章

  1. 学习笔记三:基础篇Linux基础

    Linux基础 直接选择排序>快速排序>基数排序>归并排序 >堆排序>Shell排序>冒泡排序=冒泡排序2 =直接插入排序 一.Linux磁盘分区表示 Linux中 ...

  2. Python学习笔记之函数

    这篇文章介绍有关 Python 函数中一些常被大家忽略的知识点,帮助大家更全面的掌握 Python 中函数的使用技巧 1.函数文档 给函数添加注释,可以在 def 语句后面添加独立字符串,这样的注释被 ...

  3. python 学习笔记十三 JQuery(进阶篇)

    jQuery 是一个 JavaScript 库. jQuery 极大地简化了 JavaScript 编程. 安装jQuery 有两个版本的 jQuery 可供下载: Production versio ...

  4. Python 学习笔记三

    笔记三:函数 笔记二已取消置顶链接地址:http://www.cnblogs.com/dzzy/p/5289186.html 函数的作用: 給代码段命名,就像变量給数字命名一样 可以接收参数,像arg ...

  5. Python学习笔记三

    一. 为什么要使用函数? 函数可以方便阅读代码. 函数可以减少重复代码. 函数可以减少管理操作,减少修改操作. 二. 函数分类: 内置函数:len()   sum()   max()   min() ...

  6. Python学习笔记 - day6 - 函数

    函数 函数在编程语言中就是完成特定功能的一个词句组(代码块),这组语句可以作为一个单位使用,并且给它取一个名字.可以通过函数名在程序的不同地方多次执行(这叫函数的调用).函数在编程语言中有基本分为:预 ...

  7. 小甲鱼:Python学习笔记003_函数

    >>> # 函数>>> def myFirstFunction(params1,params2...): print("这是我的第一个函数!") ...

  8. Python学习笔记1:基础

    1.编码 默认情况下,Python 3 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串. 你也可以为源文件指定不同的字符编码.在 #! 行(首行)后插入至少一行特殊的注释行来定义 ...

  9. Python学习笔记【第五篇】:基础函数

    一.函数:函数定义关键字def  后跟函数名称 def 函数名(参数):             ...     函数体     ...     返回值 案例: # 定义函数 def say_hei( ...

随机推荐

  1. HashMap存储数据赋值javabean简单示例

    package com.shb.web; import java.util.HashMap; import java.util.Iterator; import java.util.Map; /** ...

  2. Android侧滑

    人人客户端有一个特效还是挺吸引人的,在主界面手指向右滑动,就可以将菜单展示出来,而主界面会被隐藏大部分,但是仍有左侧的一小部分同菜单一起展示. 据说人人客户端的这个特效是从facebook客户端模仿来 ...

  3. 不允许调用库函数,也不允许使用任何全局或局部变量编写strlen函数

    不允许调用库函数,也不允许使用任何全局或局部变量编写strlen函数. 这是一道面试题,可以使用递归的方式解答,答案如下: #include <stdio.h> int mylen(cha ...

  4. android 学习随笔二十(多媒体编程 )

    1.图片处理 加载大图片 图片大小的计算 图片大小 = 图片的总像素 * 每个像素占用的大小 * 单色图:每个像素占用1/8个字节* 16色图:每个像素占用1/2个字节* 256色图:每个像素占用1个 ...

  5. scala模式匹配

    package com.ming.test /** * 模式匹配 */ object MatchTest { def main(args: Array[String]): Unit = { //mat ...

  6. xib中设置控件的圆角

    1.http://my.oschina.net/ioslighter/blog/387991?p=1 利用layer.cornerRadius实现一个圆形的view,将layer.cornerRadi ...

  7. windows cmd color setup

    设置颜色的话,一般可定会有foreground和background color设置:(其实color /?直接看一下就好了) Color Background Foreground Black 0 ...

  8. linux的mtd架构分析【转】

    转自:http://blog.csdn.net/column/details/xgbing-linux-mtd.html linux mtd 嵌入式系统的存储有很多不可靠之处.随着使用容量的增大,现在 ...

  9. Android中Base64的简单使用

    服务端图片的信息被转化成字符串,传到android客户端,android端需要把这些信息再解码转化成图片并保存在本地. //编码部分 String string = Base64.encodeToSt ...

  10. C# Driver LINQ Tutorial

    1.介绍 该教程涵盖了1.8版本的C#驱动中的LINQ查询.你可能已经阅读最新的C# Driver Tutorial. 2.快速开始 首先,给程序添加下面的using声明 using MongoDB. ...