python学习笔记三 函数(基础篇)
函数
内置函数

常用的内建函数:
if __name__ == "__main__":
print("hello")
for k,v in enumerate(range()):
print(k,v)
自定义函数
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(func, *iterables)
l1 = [,,]
l2 = [,,]
def func1(a1,a2):
return a1 + a2
map(func1,l1,l2) [,,]
python学习笔记三 函数(基础篇)的更多相关文章
- 学习笔记三:基础篇Linux基础
Linux基础 直接选择排序>快速排序>基数排序>归并排序 >堆排序>Shell排序>冒泡排序=冒泡排序2 =直接插入排序 一.Linux磁盘分区表示 Linux中 ...
- Python学习笔记之函数
这篇文章介绍有关 Python 函数中一些常被大家忽略的知识点,帮助大家更全面的掌握 Python 中函数的使用技巧 1.函数文档 给函数添加注释,可以在 def 语句后面添加独立字符串,这样的注释被 ...
- python 学习笔记十三 JQuery(进阶篇)
jQuery 是一个 JavaScript 库. jQuery 极大地简化了 JavaScript 编程. 安装jQuery 有两个版本的 jQuery 可供下载: Production versio ...
- Python 学习笔记三
笔记三:函数 笔记二已取消置顶链接地址:http://www.cnblogs.com/dzzy/p/5289186.html 函数的作用: 給代码段命名,就像变量給数字命名一样 可以接收参数,像arg ...
- Python学习笔记三
一. 为什么要使用函数? 函数可以方便阅读代码. 函数可以减少重复代码. 函数可以减少管理操作,减少修改操作. 二. 函数分类: 内置函数:len() sum() max() min() ...
- Python学习笔记 - day6 - 函数
函数 函数在编程语言中就是完成特定功能的一个词句组(代码块),这组语句可以作为一个单位使用,并且给它取一个名字.可以通过函数名在程序的不同地方多次执行(这叫函数的调用).函数在编程语言中有基本分为:预 ...
- 小甲鱼:Python学习笔记003_函数
>>> # 函数>>> def myFirstFunction(params1,params2...): print("这是我的第一个函数!") ...
- Python学习笔记1:基础
1.编码 默认情况下,Python 3 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串. 你也可以为源文件指定不同的字符编码.在 #! 行(首行)后插入至少一行特殊的注释行来定义 ...
- Python学习笔记【第五篇】:基础函数
一.函数:函数定义关键字def 后跟函数名称 def 函数名(参数): ... 函数体 ... 返回值 案例: # 定义函数 def say_hei( ...
随机推荐
- maven的pom报plugins却是的解决方法(转)
maven的pom报plugins却是的解决方法. 引用 Failure to transfer org.apache.maven.plugins:maven-surefire-plugin:pom: ...
- 1.表单中 get与post提交方法的区别?
get是发送请求HTTP协议通过url参数传递进行接收,而post是实体数据,可以通过表单提交大量信息. get是从服务器上获取数据,post是向服务器传送数据. GET方式提交的数据最多只能有102 ...
- android EditText长按屏蔽ActionMode context菜单但保留选择工具功能
最近项目要求屏蔽EditText 长按出来的ActionMode菜单,但是要保留选择文本功能.这个屏蔽百度会出现各种方法,这里说一下我的思路: 1.屏蔽百度可知setCustomSelectionAc ...
- C#下调用C++ SDK的编码常识
一组编码规范,通过C#调用C++ 自动封装的C# SDK,会发现面向对象思想的重要性. C++ SDK可以使用自动封装工具转换成C# SDK.但需要遵守如下规则: 1.如果需要对C#对象进行判断,则分 ...
- BPM 应用系统开发案例实战
概述 IBM BPM 的前身是 Lombardi,是由 IBM 于 2009 年收购的产品,之后产品更名为 IBM WebSphere Lombardi Edition,目前最新版本称为 IBM BP ...
- [转]Delphi多线程编程入门(二)——通过调用API实现多线程
以下是一篇很值得看的关于Delphi多线程编程的文章,内容很全面,建议收藏. 一.入门 ㈠. function CreateThread( lpThreadAttributes: Pointer ...
- 加载执行预编译的Sql :prepareStatement
1.获得连接:Connection con = null; con = DBUtil.getConnection(); 2.写sql语句:String sql=""; 3.用连接加 ...
- JSONArray.fromObject()注入处理日期Date格式
package jsonDateProcess; import java.sql.Date; import java.text.SimpleDateFormat; import java.util.L ...
- Axure简介
Axure RP(Rapid Prototyping快速原型) 是美国公司Axure Software Solution公司旗舰产品,是一个专业的快速原型设计工具,让负责定义需求和规格.设计功能和界面 ...
- PostgreSQL的 Slony-I 数据同步
原文--http://www.tuicool.com/articles/mMvARf 先谈谈slony的局限性: 1. DDL动作是不会被复制到: 2. 如果想使用slony来同步数据,表必须是带有主 ...