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 ...
随机推荐
- NetBeans部署项目(Extjs)报错(一)
NetBeans部署项目(Extjs)报错(一) 1.用NetBeans将项目部署到Tomcat中,报错. 具体如下: ant -f D:\\NetBeans\\workspace\\Foundati ...
- HighCharts中的Ajax请求的2D折线图
HighCharts中的Ajax请求的2D折线图 设计源码: <!DOCTYPE html> <html> <head> <meta charset=&quo ...
- Caused by: java.lang.ClassNotFoundException: flex.messaging.io.BeanProxy
1.错误描述 2014-7-13 1:34:46 org.apache.catalina.startup.HostConfig undeploy 信息: Undeploying context [/b ...
- The Eclipse executable launcher was unable to locate its companion launcher jar的解决方法
大家都知道eclipse是免安装的,基本上解压就能用,但是笔者在解压后打开eclipse时遇到一个奇葩的问题,如题目所示. 在网上搜了半天,基本上都说的是:The Eclipse executable ...
- CF374 Journey
技不如人甘拜下风 这题网上说法有 建反向边和先拓扑 都是为了每个点之前将其前驱都遍历到 #include<bits/stdc++.h> using namespace std; typed ...
- CF AIM Tech Round 3 (Div. 2) D - Recover the String
模拟 首先可以求出 0 和 1 的个数 之后按照01 10 的个数贪心安排 细节太多 错的都要哭了 #include<bits/stdc++.h> using namespace std; ...
- ASP.NET CORE的Code Fist后Models更改了怎么办?
上次我写到MVC的code fist后,自动生成数据库并自动生成web页面了 点击打开链接 那么随着项目需求的逐步明确,model变化了怎么办呢?其实和上次一样的,有两条关键的语句要记住 Add-Mi ...
- Mybatis入门看这一篇就够了
什么是MyBatis MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为 ...
- 回滚 - 每天5分钟玩转 Docker 容器技术(141)
kubectl apply 每次更新应用时 Kubernetes 都会记录下当前的配置,保存为一个 revision(版次),这样就可以回滚到某个特定 revision. 默认配置下,Kubernet ...
- Django Middleware简介
1 前言 Django使用非常熟练了,各种API接口不在话下,全都搞定.为方便定位问题在每个API接口的的开始和返回的地方都加上了log打印,记录入参和返回值. 但是这样有一个问题,需要每个 ...