函数

内置函数

常用的内建函数:

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. C++之路进阶——poj2104(K-th Number)

    K-th Number Time Limit: 20000MS   Memory Limit: 65536K Total Submissions: 44537   Accepted: 14781 Ca ...

  2. spark小技巧-mapPartitions

    与map方法类似,map是对rdd中的每一个元素进行操作,而mapPartitions(foreachPartition)则是对rdd中的每个分区的迭代器进行操作.如果在map过程中需要频繁创建额外的 ...

  3. kafka0.8.2以下版本删除topic

    一些说明 kafka0.8.2及以上版本已经支持delete命令删除topic,可是之前的版本要是想删除topic还是要费一番手脚,绝对是个体力活... 该方法最好仅在线下开发环境中使用,毕竟要重启z ...

  4. 显示刚刚添加的最后一条数据,access,选择语句,select

    显示刚刚添加的最后一条数据,access,选择语句,select select top 1  * from s1 order by id desc

  5. 【RoR win32】安装RoR

    在配置好ruby的win 7 命令行下运行, gem install rails 安装成功之后会收到提示,下面就可以用rails建立项目了. 为了提高“rails new”时“bundle insta ...

  6. NOIP200205均分纸牌

                                                                  均分纸牌 描述 有 N 堆纸牌,编号分别为 1,2,…, N.每堆上有若干张 ...

  7. HGE引擎之hgeSprite

    一.hgeSprite类 hgeSprite是一个精灵实体的HGE帮助类. 1.构造函数 创建和初始化一个hgeSprite对象. hgeSprite(HTEXTURE tex, float x, f ...

  8. angularjs 相关资料

    1.angularjs 框架结构 bootstrap process :http://www.oschina.net/translate/angularjs-the-next-big-thing?pr ...

  9. 在HTML页面获取当前系统时间

    <script language="javascript"> function getCurDate() { var d = new Date(); var week; ...

  10. Python 的命令行参数处理 optparse->argparse

    optaprse自2.7版开始弃用:弃用optparse模块,不会进一步开发,将继续开发argparse模块作为替代. 但是用习惯了optparse,还是很好用的撒. optparse使用起来,相比旧 ...