Python中的函数(一)


  接触过C语言的朋友对函数这个词肯定非常熟悉,无论在哪门编程语言当中,函数(当然在某些语言里称作方法,意义是相同的)都扮演着至关重要的角色。今天就来了解一下Python中的函数用法。

一.函数的定义

  在某些编程语言当中,函数声明和函数定义是区分开的(在这些编程语言当中函数声明和函数定义可以出现在不同的文件中,比如C语言),但是在Python中,函数声明和函数定义是视为一体的。在Python中,函数定义的基本形式如下:

def function(params):blockreturn expression/value

  在这里说明几点:

  (1)在Python中采用def关键字进行函数的定义,不用指定返回值的类型。

  (2)函数参数params可以是零个、一个或者多个,同样的,函数参数也不用指定参数类型,因为在Python中变量都是弱类型的,Python会自动根据值来维护其类型。

  (3)return语句是可选的,它可以在函数体内任何地方出现,表示函数调用执行到此结束;如果没有return语句,会自动返回NONE,如果有return语句,但是return后面没有接表达式或者值的话也是返回NONE。下面看两个例子:

复制代码
def printHello():print 'hello'def printNum():for i in range(0,10):print ireturndef add(a,b):return a+bprint printHello()
print printNum()
print add(1,2)
复制代码

 二.函数的使用

  在定义了函数之后,就可以使用该函数了,但是在Python中要注意一个问题,就是在Python中不允许前向引用,即在函数定义之前,不允许调用该函数。看个例子就明白了:

print add(1,2)def add(a,b):return a+b

  这段程序运行的结果是:

  从报的错可以知道,名字为"add"的函数未进行定义。所以在任何时候调用某个函数,必须确保其定义在调用之前。

  函数的定义和使用这篇就讲这么多了,关于函数中一些比较复杂的概念和知识点会在《Python中的函数(二)》中继续讲解。

作者:海子
    
出处:http://www.cnblogs.com/dolphin0520/
    
本博客中未标明转载的文章归作者海子和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/352682.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Shell基础命令

它又是一种程序设计语言。作为命令语言,它交互式解释和执行用户输入的命令或者自动地解释和执行预先设定好的一连串的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循…

电脑报警5声_电脑故障怎么判断 常见电脑故障诊断方法介绍【详解】

在电脑使用的过程,出现一些电脑故障是在所难免的,很多小伙伴对一些常见电脑故障诊断的方法不是很了解,不知道自己电脑出现的这些故障 究竟是什么原因造成的 。关于软件故障有很多种可能性,一般都是比较容易解决的,今天…

洛谷P3857 [TJOI2008]彩灯(线性基)

传送门 线性基裸题 直接把所有的状态都带进去建一个线性基 然后答案就是$2^{cnt}$&#xff08;$cnt$代表线性基里数的个数&#xff09; 1 //minamoto2 #include<cstdio>3 #include<cstring>4 #define ll long long5 const int N55;6 ll b[N],a[N];int n,m,cnt;char…

sort函数

sort函数:#include <algorithm>,默认从小到大&#xff0c;如果降序可写第三方函数进行排序&#xff0c;EXP:sort(array,arrayn,cmp) 1.普通排序,升序 01#include <iostream> 02#include <algorithm> 03using namespace std; 04int main() 05{ 06 int a[10]{…

javaone_JavaOne 2012:非阻塞数据结构如何工作?

javaone当我查看今天的日程安排时&#xff0c;我感到有些惊讶&#xff0c;并指出我目前计划今天参加的所有会议都在希尔顿举行。 当我意识到JavaOne演示文稿中大约有一半是在希尔顿酒店中并且似乎按路线大致定位时&#xff0c;这变得有些不足为奇了。 Tobias Lindaaker &#x…

台式电脑键盘字母乱了_电脑键盘上的一个不起眼的按键,特别实用却被粗心的人忽略...

笔记本电脑与台式电脑的键盘有一个小小的区别。笔记本电脑没有输入数字的小键盘&#xff0c;而台式电脑键盘有&#xff1b;笔记本电脑键盘有一个Fn键&#xff0c;而台式电脑键盘没有。正是笔记本电脑键盘有了这个Fn键&#xff0c;为我们使用者提供了许多特别实用的功能&#xf…

ubuntu下crontab启动,重启,关闭命令

启动&#xff1a;/etc/init.d/cron start ( service cron start )重启&#xff1a;/etc/init.d/cron restart ( service cron restart )关闭&#xff1a;/etc/init.d/cron stop ( service cron stop )转载于:https://www.cnblogs.com/yu-yuan/p/9722202.html

NET Framework 4.0 安装失败:安装时发生严重错误

NET Framework 4.0 安装失败&#xff1a;安装时发生严重错误 看日志&#xff0c;好像是缺少系统组件。不知道你的系统是怎么装的&#xff0c;有耐心的话&#xff0c;请用系统盘执行Windows的默认方式安装。即常说的硬装&#xff0c;不要用网上常用的ghost方式安装。执行完硬装后…

C语言文件操作 fopen, fclose, mkdir(打开关闭文件,建文件夹,判断文件是否存在可读或可写)

1.建文件夹 int _mkdir(const char *path,mode_t mode); 函数名: _mkdir    功 能: 建立一个目录    用 法: int _mkdir( const char *dirname );    头文件库&#xff1a;direct.h    返回值&#xff1a;创建一个目录&#xff0c;若成功则返回0&#xff0c;否则返回-1…

差分进化算法_OPTIMUS软件功能特性介绍【全局优化算法模块】

导读&#xff1a;面向应用工程师的商业软件咨询、自研软件定制开发服务的仿真公众号&#xff0c;点击关注进入菜单&#xff0c;查看更多精彩内容。OPTIMUS提供自适应进化算法(Self-adaptive Evolution)&#xff0c;从用户给定的起始解或者算法随机产生的起始种群开始&#xff0…

Java生产力提示:社区的热门选择

社区已经发言。 我们已将您最好和最出色的生产力技巧汇总到一篇文章中。 我们都有自己的小技巧&#xff0c;可以帮助我们提高工作效率&#xff0c;并提高生产率。 我们使用工具来避免繁琐的日常任务&#xff0c;并运行脚本来自动化流程。 我们所做的一切只是为了确保一切就绪&…

JAVA获取Classpath根路径的方法

方法一&#xff1a; String path Test.class.getResource("/").toString(); System.out.println("path " path); 此方法在tomcat下面没有问题&#xff0c;可以取到WEB-INF/classes path file:/home/ngidm_db2/AS_Tomcat7_0_29/webapps/NGIDM/WEB-INF/c…

Navicat 9.1、10.0 简体中文最新版,注册码(For Mysql)

Navicat 9.1、10.0 简体中文最新版&#xff0c;注册码(For Mysql) by 尘缘 on 七月 17th, 2011 // Filed Under → MySQL Navicat属于偶的必备开发工具&#xff0c;最新版的自动提示&#xff0c;SQL格式化比较好用。 今天测试过Navicat 9.1.11&#xff0c;注册码可以使用。 下…

win10休眠设置_电脑总是“打瞌睡”?教你如何简单关闭自动休眠

电脑休眠指的是将当前处于运行状态的数据保存在硬盘中&#xff0c;整机完全停止供电。通常电脑的自动休眠是有一个电源计划的&#xff0c;电脑如果在设定的时间内没有使用&#xff0c;那么就会进入自动休眠状态。然而许多人长时间不操作电脑&#xff0c;只是想让电脑继续执行一…

nohup 命令 用途:不挂断地运行命令

简单而有用的nohup命令在UNIX/LINUX中&#xff0c;普通进程用&符号放到后台运行&#xff0c;如果启动该程序的控制台logout&#xff0c;则该进程随即终止。要实现守护进程&#xff0c;一种方法是按守护进程的规则去编程&#xff08;本站有文章介绍过&#xff09;&#xff0…

让VC编译的程序链接到系统的 msvcrt.dll 的方法

安装 DDK 或者 WDK &#xff0c;提取里面的 msvcrt.lib 和 msvcrtd.lib &#xff0c;这两个文件分别对应 release 和 debug 版本。 然后再按下图进行设置&#xff1a; 编译生成的程序&#xff0c;就直接链接系统的 msvcrt.dll 上了&#xff0c;debug 版是链接到 msvcrtd.dll。

局域网arp攻击_网络安全基础之ARP攻击和防御

本文转载于 SegmentFault 社区作者&#xff1a;吴小风前言在看这篇文章之前&#xff0c;请大家先看下交换机的工作原理&#xff0c;不知大家有没有想过数据链路层中头部协议数据帧的目的MAC地址是如何获取的呢&#xff1f;这就是今天的主角ARP协议&#xff0c;通过广播来获取IP…

SocketServer模块,hmac模块验证client合法性

hmac模块&#xff1a; 1.模块初识&#xff1a; import hmac # h hmac.new() #括号里要给它连个bytes类型&#xff0c;一个是自定义的secret_key&#xff0c;一个是你想进行加密的bytes # 密文 h.digest() # hmac.compare_digest() #括号内传另外一个密文&#xff0c;看是否相…

以实例让你真正明白mapreduce---填空式、分布(分割)编程

问题导读&#xff1a;1.如何在讲mapreduce函数中的字符串等信息&#xff0c;输出到eclipse控制台&#xff1f;2.除了使用下文方法&#xff0c;还有其它方法输出到控制台&#xff1f;3.map中&#xff0c;系统默认接受的value值是什么&#xff1f;4.reduce输出不是自己想要的结果…

使用Spring编写和使用SOAP Web服务

在RESTful Web服务时代&#xff0c;我有机会使用SOAP Web Service。 为此&#xff0c;我选择了Spring &#xff0c;这是因为我们已经在项目中使用Spring作为后端框架&#xff0c;其次它提供了一种直观的方式来与具有明确定义的边界的服务进行交互&#xff0c;以通过WebServiceT…