这或许是对小白最友好的python入门了吧——18,定义函数

有的时候我们写的代码往往是一个功能组合,并且这组代码可能会很复杂,但是我们在写代码的时候可能会多次用到这组代码,每次都写这么多代码浪费时间并且检查、修改起来也很费劲。

这个时候我们可以定义函数,只要以后用到这组代码,把定义的函数拿出来就可以了。

比如:

def start_learn_python():
	"""我们第一次接触python时候的代码"""
	print("hello world!")

这是我们定义的一个最简单的函数,只要在Python中输入start_learn_python()就会输出hello world!

def告诉python我们要定义一组函数,紧接着def的是变量名称,括号内是变量工作的具体信息,当然我们这里没有,但是也不能省略。三引号是定义的注释理论上可以不写,print("hello world!")是这个定义的执行部分。

括号里要怎么加呢?

像这样:

def start_learn_python(name):
	"""我们第一次接触python时候的代码"""
	print(name.title() + ":hello world!")
start_learn_python("tom")

上述代码中name叫做形参,tom叫做实参。我们在代码中可以有多个形参,这意味着也可以有多个形参:

这次我们打印的是有两个人名的函数。注意,实参的顺序很重要,在这个例子中可能看不出来,要是这样一组代码:

def pet(ownername,petname):	"""告诉我们主人以及宠物名称"""	print(petname + "是" + ownername +"的宠物。")pet("小明","大白")

那就“贻笑众人”了。

实参形参要一一对应,否则会出错

当然,我们可以给实参一个默认值,最起码让它代码不错。

我们在设置默认值的时候可以给所有实参都设置,也可以只设置某(几)个实参的默认值。

当然,如果我们在下边的函数中还另外给定了实参名称,那默认值就会被忽略。


原文发布于微信公众号 - TungHsu(gh_cd21b89e52e6)

原文发表时间:2018-01-27

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏lgp20151222

java 核心技术 读后总结

如 AbcController和AbcService两个文件,javac Abc*.java 即可一次性编译两个

512
来自专栏高性能服务器开发

全排列(含递归和非递归的解法)

全排列在近几年各大网络公司的笔试中出现的比较频繁 首先来看看题目是如何要求的(百度迅雷校招笔试题)。 用C++写一个函数, 如 Foo(const char *...

953
来自专栏Felix的技术分享

霍夫曼压缩算法

1998
来自专栏CSDN技术头条

不到40行代码构建正则表达式引擎

原文:Build a Regex Engine in Less than 40 Lines of Code (作者:Nick Drane ,翻译:Diwei) ...

1816
来自专栏个人随笔

房上的猫:带参数的方法

一.定义带参方法  语法: <访问修饰符>返回值类型<方法名>(<参数列表>){    //方法的主体   }   解析:    (1)<访问修饰符>指该...

31110
来自专栏程序员互动联盟

【答疑解惑】define和const区别

在c/c++程序中我们经常使用到它们,由于使用比较频繁,我们就来做一下对比它们各自的作用。从以下几个方面来说明 1、编译器处理方式不同   define宏是在预...

34512
来自专栏用户2442861的专栏

#define和typedef的用法与区别及面试问题

在C/C++语言中,typedef常用来定义一个标识符及关键字的别名,它是语言编译过程的一部分,但它并不实际分配内存空间,实例像:

1111
来自专栏北京马哥教育

Python编程中的反模式

这篇文章收集了我在Python新手开发者写的代码中所见到的不规范但偶尔又很微妙的问题。

632
来自专栏LEo的网络日志

python技巧分享(一)

34413
来自专栏数据结构与算法

163. [USACO Mat07] 牛语

☆   输入文件:latin.in   输出文件:latin.out   简单对比 时间限制:1 s   内存限制:128 MB 译: zqzas 奶牛们...

2407

扫码关注云+社区