python 函数基础 定义
一、函数介绍
1.为什么要有函数?
没有函数的代码组织结构不清晰,可读性差。
代码冗余
管理维护难度大,扩展性
2.什么是函数?
具备某一个功能的工具就是程序中的函数。
事先准备工具的过程就是:函数的定义。
拿着工具来使用就是函数的调用。
所有函数都是:先定义后调用!
二、函数的定义
1.语法 def msg()
def是定义函数的关键字 msg就是是函数名,函数名是用来调用函数的,命名必须能反映函数的功能。()是用来放参数的
def msg(count,liu):
print(count*liu) #函数的功能 #在中间还可以加文档描述,来增强函数的可读性。
def good(good_p):
print(good_p)
msg(20,'=') #函数的代码块
good('hello word') #函数的代码块
msg(20,'*')
***以上输出:
====================
hello word
********************
2.定义函数的三种类型
(1)有参函数:参数是函数体代码用来接收外部传入数据的。
inp_name='ly'
inp_paws=123 def interactive():
name=input('请输入你的用户名:')
paws=input('请输入你的密码:')
return name,paws def auth(name,paws):
if inp_name == name and inp_paws == paws:
print('登录成功') res=interactive()
x=res[0]
y=res[1]
print(x)
print(y)
***以上输出:
请输入你的用户名:ly
请输入你的密码:123
ly
123
(2)无参函数:当函数代码体逻辑不需要函数的调用者参入值的情况下,定义时无参,意味着调用者用时也无需传入数据。
def line(x,y):
if x > y:
print(x)
else:
print(y) line(10,50) ***以上输出:
50
name='liuyuan'
paws='123'
def interactive():
inp_name=input('输入你的名字:')
inp_paws=input('输入你的密码:')
if inp_name == name and inp_paws == paws:
print('输入正确')
else:
print('错误') interactive() ##定义时无参,意味着调用时也无需传入参数。 ***以上输出
输入你的名字:liuyuan
输入你的密码:123
输入正确
(3)空函数:函数体为pass.
def auth():
"""
这是一个认证功能
:return:
"""
pass
def put():
"""
上传功能
:return:
"""
pass
def get():
"""
下在功能
:return:
"""
pass
def ls():
"""
list contents
:return:
"""
pass
三、调用函数
定义:函数的使用必须先定义收调用的原则。
2.调用函数:
调用函数必须先定义,再调用。
函数名加()就是在调用函数
# print(print_sym)
# print_sym('#',30)
# print_msg('hello egon')
# print_sym('#',30)
注意:没事先定义而直接调用,就相当于引用了一个存在的变量名。
(1)定义阶段:在定义阶段,不执行函数体代码(只检测语法)
(2)调用阶段:根据函数找到函数的内存地址,然后执行函数体代码
# 定义阶段:
def lol():
print('你好')
blo()
def blo():
print('lasdll') #调用阶段
lol() 四、返回值 定义:当函数体代码运行结束后,需要有一个返回的结果给调用者。 返回值有三种形式: 1.没有reture,返回None
def ppp():
pass ren=ppp()
print(ren) ***以上输出
None
2.retur后跟一个值。
def ppp():
return 5 ren=ppp()
print(ren)
***以上输出
5 3.ruture可以以逗号分隔,返回多个值,会返回一个元组给调用者。
def ppp():
return 1,5,6,9,[5,6,9,],{9:6}
ren=ppp()
print(ren) ***以上输出
(1, 5, 6, 9, [5, 6, 9], {9: 6}) 注意:
1.retur返回的值,没有类型限制。
2.函数内可以写多个return,但执行一次,函数会立刻结束,并把return后的值作为本次调用的返回值。
def ppp():
print('你好')
return 1
print('你好2')
return 2
print('你好3')
return 3
ren=ppp()
print(ren) ***以上输出
你好
1
python 函数基础 定义的更多相关文章
- Python函数的定义、参数传入与函数的调用
作为计算机代码的一种抽象方式,函数在Python中扮演了极为重要的角色.今天给大家介绍Python函数的定义.参数的传入以及调用方式.其中函数参数的传入方式为本节重点内容.Python函数的参数形式包 ...
- 《转》Python学习(17)-python函数基础部分
http://www.cnblogs.com/BeginMan/p/3171977.html 一.什么是函数.方法.过程 推荐阅读:http://www.cnblogs.com/snandy/arch ...
- 10分钟学会Python函数基础知识
看完本文大概需要8分钟,看完后,仔细看下代码,认真回一下,函数基本知识就OK了.最好还是把代码敲一下. 一.函数基础 简单地说,一个函数就是一组Python语句的组合,它们可以在程序中运行一次或多次运 ...
- 详解Python函数参数定义及传参(必备参数、关键字参数、默认可省略参数、可变不定长参数、*args、**kwargs)
详解Python函数参数定义及传参(必备参数.关键字参数.默认可省略参数.可变不定长参数.*args.**kwargs) Python函数参数传参的种类 Python中函数参数定义及调用函数时传参 ...
- 11、Python函数基础(定义函数、函数参数、匿名函数)
函数先定义函数,后调用 一.定义函数: 1.简单的规则: 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 (). 任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数. 函 ...
- python函数基础(函数的定义和调用)
函数的定义 python定义函数使用def关键字 return[表达式]语句用于退出函数,选择性的向调用方返回一个表达式,不带参数值的return语句返回none def 函数名(参数列表): 函数体 ...
- python函数基础:调用内置函数&定义函数
调用内置函数 有很多内置函数,在使用中需要积累.这里只举两个例子: 分别调用abs和数据类型转换,注意当入参类型错误时候会报错 ''' print('abs(-100)') abs(-100) pri ...
- python函数基础
一.基础 函数的定义 def 函数名(参数): ... 函数体 ... 返回值 #如果函数执行完毕也没有return语句时,自动return None. 空函数 如果想定义一个什么事也不做的空函数,可 ...
- python 函数基础介绍
函数是对程序逻辑进行结构化或过程化的一种编程方法.能将整块代码巧妙地隔离成易于管理的小块,把重复代码放在函数中而不是进行大量的拷贝. 一.函数创建 def 函数创建格式如下: def function ...
随机推荐
- Excel 2010高级应用-柱形图(一)
今天,做项目低保真,是在excel中画图,这也是我第一次在excel中画图. 每次做过的东西或者学到的新东西,我必须要把他们记录下来,这样到时再次用到它们时可以很容易地找到. 下面介绍做柱形图的过程: ...
- 嵌入式Linux基于framebuffer的jpeg格式本地LCD屏显示
在基于Linux的视频监控采集系统中,摄像头采集到的一帧视频图像数据一般都是经过硬件自动压缩成jpeg格式的,然后再保存到摄像头设备的缓冲区.如果要把采集到的jpeg格式显示在本地LCD屏上,由于我们 ...
- Java中的“&”和“&&”的区别
Java中的"&"和"&&"的区别 1."&"是位运算符,"&&"是逻辑 ...
- 堡垒机-teleport的安装以及常见问题解决办法
teleport是一款简单易用的堡垒机系统,运用在企业对windows.linux服务器的安全使用管理以及审计. 官网网址:http://teleport.eomsoft.net/ github地址: ...
- Java 第六章
第六章 for语法:for(表达式①;表达式②;表达式③){ //④循环操作}表达式含义:表达式1:赋值语句, 它用来给循环变量赋初值 例如:int i = 1;表达式2:循环条件,一个关系表达式, ...
- CentOS 5.x 多个ISO文件 安装方法(VMware)
CentOS下载地址:http://mirror.centos.org/centos/ CentOS版本:5.11 VMware版本:11.1.0 CentOS 5.11有两个ISO: CentOS- ...
- 【LightOJ1259】Goldbach`s Conjecture(数论)
[LightOJ1259]Goldbach`s Conjecture(数论) 题面 Vjudge T组询问,每组询问是一个偶数n 验证哥德巴赫猜想 回答n=a+b 且a,b(a<=b)是质数的方 ...
- Bzoj4869: [Shoi2017]相逢是问候
题面 传送门 Sol 摆定理 \[ a^b\equiv \begin{cases} a^{b\%\phi(p)}~~~~~~~~~~~gcd(a,p)=1\\ a^b~~~~~~~~~~~~~~~~~ ...
- redis的常用公共方法
实用redis已经有一段时间了,今天刚好有空记录一下所用到的方法,欢迎指正 首先我封装了一些字段信息 #region 字段 /// <summary> /// Redis服务器地址 /// ...
- springboot如何测试打包部署
有很多网友会时不时的问我,spring boot项目如何测试,如何部署,在生产中有什么好的部署方案吗?这篇文章就来介绍一下spring boot 如何开发.调试.打包到最后的投产上线. 开发阶段 单元 ...