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 ...
随机推荐
- freemarker自定义标签报错(一)
freemarker自定义标签 1.错误描述 freemarker.core.ParseException: Token manager error: freemarker.core.TokenMgr ...
- 硬盘运行与“AHCI 模式”还是“IDE 模式”
如今SATA硬盘越来越流行,最新购买或者组装的电脑,基本都安装新一代的SATA硬盘,由于绝大多数BIOS初始设置是"IDE模式",安装的windows XP和vista系统,并没有 ...
- hdu5798 Stabilization
温习一下多校的题目 这题主要抓住一点,亦或值的贡献是固定的 所以按位搜索即可 #include<bits/stdc++.h> using namespace std; typedef lo ...
- Treeview 丢失焦点后依然高亮 SelectedNode
参考:StackOverFlow.Control.Validating 事件 注意 TreeView 的 HideSelection 要保持为默认值True. private TreeNode pre ...
- Java多线程之Callable接口的实现
Callable 和 Future接口 Callable是类似于Runnable的接口,实现Callable接口的类和实现Runnable的类都是可被其它线程执行的任务. Callable和Runn ...
- RobotFramework下的http接口自动化Get Response Body关键字的使用
Get Response Body 关键字在上面已经有用到了,服务器端在处理完成了发出的http请求后,会给出对应的响应结果,那么Get Response Body这个关键字就是来获取响应结果中的主体 ...
- 主席树总结(经典区间第k小问题)(主席树,线段树)
接着上一篇总结--可持久化线段树来整理吧.点击进入 这两种数据结构确实有异曲同工之妙.结构是很相似的,但维护的主要内容并不相同,主席树的离散化.前缀和等思想也要更难理解一些. 闲话 话说刚学习主席树的 ...
- 【NOIP2012】开车旅行(倍增)
题面 Description 小A 和小B决定利用假期外出旅行,他们将想去的城市从1到N 编号,且编号较小的城市在编号较大的城市的西边,已知各个城市的海拔高度互不相同,记城市 i的海拔高度为Hi,城市 ...
- C#利用substring按指定长度分割字符串
这几天学习分析声音的波形数据,接收到的是十六进制的数据,需要将数据转换成十进制再绘图,这个过程涉及到字符串的分割,正好可以促进自己对C#相关知识的学习.说到分割字符串,我首先想到的是Split,但根据 ...
- Linux系统中svn服务器设置开机启动
安装完svn服务器后虽然好用但是因为经常重启Linux服务器,每次重启完就要去手动启动svn服务器,很是麻烦,于是在网上找了一些方法后,自己把svn服务器设置成开机启动 步骤一:安装svn服务器: h ...