python之函数第一篇
一.为什么用函数:
解决代码重用问题
统一维护
程序的组织结构清晰,可读性强
二.定义函数 先定义后使用!!
def funcname(arg1,arg2,...):
"""描述信息"""
函数体
return value 定义函数可以分为三类:
无参函数
foo()
不需要返回值
有参函数
bar(x,y)
空函数
函数体写pass 三.调用函数
语句形式:foo()
表达式形式:res=10*my_sum(1,2)
函数调用作为另外一个函数的参数:print(my_sum(1,2)) 四.函数的返回值
可以返回任意类型
没有return的时候 返回None
return 可以返回一个值
可以返回多个值,用元组的形式表示
只能执行一次return
五.函数的参数
实参和形参
def foo(x,y)
print(x)
print(y)
*****在实参的角度
1.按照位置传值
foo(1,2) 2.按照关键字传值
foo(x=1,y=2) 3.混着用
foo(1,y=2)
按位置传值必须在按关键字传值的前面
foo(y=2,1)报错
对于一个形参只能赋值一次 *****从形参的角度分析
位置参数:必须传值的参数
默认参数:无需传值(可传可不传)
默认参数必须放在位置参数的后面 六.*args和**kwargs
*args
*按照位置传值以后的数字给他(元组)
def foo(x,*args):
print(x)
print(args) foo(1,2,3,4,5) *args与位置参数和默认参数混用 **kwargs
**按照关键字传值以后的数字给他(字典)
def foo(x,**kwargs):
print(x)
print(kwargs)
foo(1,y=1,z=2) 混着用
def foo(x,*args,**kwargs):
print(x)
print(args)
print(kwargs) 从形参的角度
def foo(**kwargs):
print(kwargs)
foo(x=1,y=2,z=3) 从实参的角度
def foo(x,y,z=1):
print(x)
print(y)
print(z)
python之函数第一篇的更多相关文章
- Python开发【第一篇】:目录
本系列博文包含 Python基础.前端开发.Web框架.缓存以及队列等,希望可以给正在学习编程的童鞋提供一点帮助!!! Python开发[第一篇]:目录 Python开发[第二篇]:初识Python ...
- Python开发【第一篇】:目录
本系列博文包含Python基础.前端开发.Web框架.缓存以及队列等,希望可以给正在学习Python编程的朋友们提供一点帮助! .Python开发[第一篇]:目录 .Python开发[第二篇]:初始P ...
- lua学习之深入函数第一篇
深入函数第一篇 函数是第一类值,具有特定的词法域 第一类值 第一类值的意思是函数与 lua 中的其他类型如数字,字符串具有相同的权力 函数可以存储到全局变量或局部变量变量,还可以存储到 table 中 ...
- Python开发【第一篇】Python基础之函数递归
函数递归 递归的本质: 就是一个函数调用另外一个函数. def d(): return '123' def c(): r = d() return r def b(): r = c() return ...
- Python开发【第一篇】:初识Python
初识python 一.python简介 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解 ...
- Python笔记_第一篇_面向过程第一部分_6.循环控制语句(while 和 for)_
承接条件控制语句.条件控制语句像大树一样有很多的之差,那条路径通(也就是表达式判断为True)就会往哪一个树杈去运行,万涓溪水汇成大河.对于常用的程序结构形式,还有一种这篇文章就会讲解,那就是循环控制 ...
- Python开发【第一篇】Python基础之正则表达式补充
正则表达式 一简介:就其本质而言,正则表达式(或RE)是一种小型的.高度专业化的标称语言,(在Python中)它内嵌在Python中,并通过re模块实现.正则表达式模式被编译成一系列的字节码,然后由用 ...
- Python开发【第一篇】Python基础之自定义模块和内置模块
为什么要有模块,将代码归类.模块,用一砣代码实现了某个功能的代码集合. Python中叫模块,其他语言叫类库. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代 ...
- Python之路(第一篇):Python简介和基础
一.开发简介 1.开发: 开发语言: 高级语言:python.JAVA.PHP.C#..ruby.Go-->字节码 低级语言: ...
随机推荐
- 关于sizeof与#pragma pack 以及网络上关于字节对齐的一点感想
工作中面试中对于字节对齐基本上是必考一个知识点,而很多面试是网络上上原题.基本上背一背就可以写正确,而关于4字节对齐我相信很多人也只是一个基本地了解,对于一些题目就感觉有问题,而且很多blog后面仍然 ...
- Nginx Java 日志切割脚本
Nginx日志切割脚本: #!/bin/bash ########################################################################### ...
- C# 之 判断一个字符是否是汉字
判断一个字符是不是汉字通常有三种方法: [1] 用 ASCII 码判断:[2] 用汉字的 UNICODE 编码范围判断:[3] 用正则表达式判断. 1.用ASCII码判断 在 ASCII码表中,英文的 ...
- Asp.Net Mvc 返回类型总结
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...
- 【AtCoder】ARC072
ARC072 C - Sequence 直接认为一个数是正的,或者第一个数是负的,每次将不合法的负数前缀和改成+1正数前缀和改成-1 #include <bits/stdc++.h> #d ...
- JVM性能参数优化
以上是jdk1.7的默认GC回收器 Java的gc回收的类型主要有几种 UseSerialGC, UseConcMarkSweepGC, UseParNewGC, UseParallelGC, Use ...
- Javascript 中调参数的脚本onclick="select(this)" this 怎么解释
解释1. this,指当前的onclick所在的节点本身. 比如: <div onclick='select(this)"></div> 则当点击div时,this就 ...
- 关于ubuntu的ssh远程登录的问题
一. 安装ssh(参考:http://liuyifan789.iteye.com/blog/2068263) sudo apt-get install openssh-server openssh-c ...
- Trident中的解析包含的函数操作与投影操作
一:函数操作 1.介绍 Tuple本身是不可变的 Function只是在原有的基础上追加新的tuple 2.说明 如果原来的字段是log,flag 新增之后的tuple可以访问这些字段,log,fla ...
- Flume的四个使用案例
一.Flume监听端口 1,在linux机器上下载telnet工具 yum search telnet yumm install telnet.x86_64 2.编写flume的配置文件,并将文件复制 ...