Python入门之函数的介绍/定义/定义类型/函数调用/Return
本篇目录:
一、 函数的介绍
二、 函数的定义
三、 定义函数的三种类型
四、 函数调用的阶段
五、 Return返回值
==========================================================================
一、 函数的介绍
1. 什么是函数?为什么要有函数?
1.1. 具备一个特定功能的工具(类比)>>>函数
1.2 事先准备工具的过程(类比)>>>函数的定义
1.3 工具直接拿来使用,使用其特定的功能>>>函数的调用
1.4 没有函数的话,程序会有以下缺点:
a. 组织结构不清晰,可读性差
b. 管理维护难度大,扩展性差
c. 代码冗余,重复
#1 定义函数
def print_sym(sym*count):
print(sym*count) def print_msg(msg):
print('\033[35m%s\033[0m' %msg)
二、函数的定义
1. 函数的语法结构
1.1 函数的结构,def是define的意思,代表定义
def 函数名(参数1,参数2,参数3。。。): ''' 此处用来增加文档描述,阐述函数的功能,增加可读性 '''
代码块部分
1.2 函数可以通过函数名直接调用,函数的命名必须能准备反应函数的功能
1.3 代码块部分是函数功能实现的代码
注意点:
# 函数和变量都是占用内存地址,过程相似,但是函数并不是变量

三、定义函数的三种类型
1. 带参函数
1.1 参数是外部调用函数的部分传入函数的值
1.2 函数中的代码块逻辑中需要函数调用者传入值
def max2(x,y):
'''
这是一个比较大小的函数,返回较大的数
'''
if x >y:
print(x)
else:
print(y) #调用函数max2
max2(100, 200)
def auth(username,pwd):
'''
该函数用来验证用户输入的用户名和密码
'''
if username == inp_name and pwd == inp_pwd:
print('登陆成功!')
else:
print('登陆失败') #调用auth()
auth()
def interactive():
'''
该函数用来返回用户输入的用户名和密码
'''
inp_name = input('Username>>>:').strip()
inp_pwd = input('Password>>>:').strip()
return inp_name, inp_pwd def auth(inp_name, pwd):
'''
该函数用来验证return的结果是元组类型
'''
res = interactive()
x = res[0]
y = res[1]
print(x)
print(y)
2. 无参函数
1.1 函数本身定义无参数,调用者也不需要传入参数
def print():
'''
该函数用来展示无参函数
'''
print('\033[35m--------------------\033[0m')
print('--------------不需要传入参数------------')
1.2 函数体的代码逻辑不需要函数的调用者传入值
def auth():
'''
该函数用来展示无参函数
'''
inp_name = input('Username>>>:').strip()
inp_pwd = input('Password>>>:').strip()
if username == inp_name and pwd == inp_pwd:
print('登陆成功!')
else:
print('登陆失败') #调用auth()
auth()
3. 空函数
什么事都不做的函数就是一个空函数。
即便是一个空函数,它也会有如下属性:
['__call__', '__class__', '__closure__', '__code__', '__defaults__', '__delattr__', '__dict__', '__doc__', '__format__', '__get__', '__getattribute__', '__globals__', '__hash__', '__init__', '__module__', '__name__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'func_closure', 'func_code', 'func_defaults', 'func_dict', 'func_doc', 'func_globals', 'func_name']

# Tips:当我们在写程序的过程中,遇到一个卡壳的地方,我们可以在函数末尾加一个pass,暂时的跳过思维的断路的地方。
四、 函数调用的阶段
1. 调用守则: 必须先定义再调用
定义阶段不执行代码,只检测语法

2. 调用方式:函数名+括号
调用阶段根据函数名找到函数的内存地址,执行函数的代码体

五、 Return返回值
1. 什么时候该有返回值
函数代码体执行完毕后,需要返回一个结果给调用者

2. Return返回值的三种情况
2.1 当函数代码块中没有Return,返回为None

2.2 如果返回值后跟一个值,就返回值本身

2.3 return返回的值用逗号分割,返回多个值,组成一个元组(类型)

2.4 如果函数体内有多个Return,则返回第一Return的值(Return代表函数结束)

# return返回值没有类型限制
# 函数内可以写多个return,但是只到第一个return就结束
# return是函数结束的标志
Python入门之函数的介绍/定义/定义类型/函数调用/Return的更多相关文章
- python学习Day10 函数的介绍(定义、组成、使用)
今日学习内容: 1.什么是函数 :函数就是一个含有特定功能的变量,一个解决某问题的工具 函数的定义:通过关键字def + 功能名字():代码体(根据需求撰写代码逻辑) 2.为什么要用函数:可以复用:函 ...
- Python入门篇-函数、参数及参数解构
Python入门篇-函数.参数及参数解构 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.函数概述 1>.函数的作用即分类 函数 数学定义:y=f(x) ,y是x的函数,x ...
- Python入门之 函数
Python入门之 函数 1.初识函数 1.1 什么是函数? <1> 将某个功能封装到一个空间中就是一个函数 <2> 减少重复代码 1.2 定义函数 def -- python ...
- python内置函数详细介绍
知识内容: 1.python内置函数简介 2.python内置函数详细介绍 一.python内置函数简介 python中有很多内置函数,实现了一些基本功能,内置函数的官方介绍文档: https: ...
- Python中关于函数的介绍
一.什么是函数 当我们在日常工作中编写代码时,有没有发现这种情况,写了一套代码,却发现里面有很多段代码出现了有规律的重复,这样就不符合一个合格程序员的标准了,一个合格的程序员编写的代码最重 ...
- Python入门之函数的嵌套/名称空间/作用域/函数对象/闭包函数
本篇目录: 一.函数嵌套 二.函数名称空间与作用域 三.函数对象 四.闭包函数 ============================================================ ...
- Python入门day04_函数与装饰器
一.函数入门 什么是函数: # 函数:函数是一系列代码的集,用来完成特定功能的代码块,类似于工具,可以重复不但的去使用 为什么要有函数: # 优点:# 1. 避免代码的冗余 # 2. 让程序代码结构更 ...
- Python入门-初始函数
今天让我们来初步认识一个在python中非常重要的组成部分:函数 首先,让我们来幻想这样一个场景: 比如说我们现在想要通过社交软件约一个妹子,步骤都有什么? print('打开手机 ') print( ...
- python入门15 函数
函数的主要作用是实现代码复用 1 python内置函数 2 匿名函数lambda 3 自定义函数 def functionname(arg):... #coding:utf-8 #/usr/bin/p ...
随机推荐
- New Windows 10 SDK - Toast Notification
概述 Toast Notification 在 UWP App 中有很重要的作用,能够很大程度上增强 App 和用户之间的沟通,比如运营推广活动.版本更新.提醒类任务提示等等.Toast Notifi ...
- Java内存区域之程序计数器--《深入理解Java虚拟机》学习笔记及个人理解(一)
Java虚拟机程序计数器 在书上的P39页 程序计数器干嘛的? 有了它,字节码解释器才可以知道下一条要执行的字节码指令是哪个. 无论是取下一条指令还是分支.循环.跳转.中断.线程恢复,都需要这个程序计 ...
- mybatis动态insert,update
1. 动态update UPDATE ui.user_question_section_xref <set> reviewer = #{0}, score = #{1} , last_up ...
- spring cloud 专题二(spring cloud 入门搭建 之 微服务搭建和注册)
一.前言 本文为spring cloud 微服务框架专题的第二篇,主要讲解如何快速搭建微服务以及如何注册. 本文理论不多,主要是傻瓜式的环境搭建,适合新手快速入门. 为了更好的懂得原理,大家可以下载& ...
- Nginx代理转发Apache+svn
1.安装svn和httpd yum install httpd yum install subversion mod_dav_svn 创建仓库目录 mkdir -p /var/www/svn 3.创建 ...
- dubbo服务简单搭建
一.初识dubbo: 架构图: Provider: 暴露服务的服务提供方. Consumer: 调用远程服务的服务消费方. Registry: 服务注册与发现的注册中心. Monitor: 统计服务的 ...
- [日常] NOIWC 2018爆零记
开个坑慢慢更(逃 (然而没准会坑掉?) day 0 大概 $8:30$ 就滚去雅礼了qwq 过去的时候发现并没有人...进报到处楼门的时候还被强行拍照围观了一波OwO 然后就领了HZ所有人的提包和狗牌 ...
- 【Java EE】从零开始写项目【总结】
从零开发项目概述 最近这一直在复习数据结构和算法,也就是前面发出去的排序算法八大基础排序总结,Java实现单向链表,栈和队列就是这么简单,十道简单算法题等等... 被虐得不要不要的,即使是非常简单有时 ...
- CountDownLatch 源码解析—— await()
上一篇文章说了一下CountDownLatch的使用方法.这篇文章就从源码层面说一下await() 的原理. 我们已经知道await 能够让当前线程处于阻塞状态,直到锁存器计数为零(或者线程中断). ...
- Twisted 延迟调用
延迟(defer)是twisted框架中实现异步的编程体系,使程序设计可以采用事件驱动的机制 1.基本使用 defer可以看作一个管理回调函数的对象,可以向该对象添加需要的回调函数同时也可以指定该组函 ...