本篇目录:

    一、 函数的介绍

    二、 函数的定义

    三、 定义函数的三种类型

    四、 函数调用的阶段

    五、 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的更多相关文章

  1. python学习Day10 函数的介绍(定义、组成、使用)

    今日学习内容: 1.什么是函数 :函数就是一个含有特定功能的变量,一个解决某问题的工具 函数的定义:通过关键字def + 功能名字():代码体(根据需求撰写代码逻辑) 2.为什么要用函数:可以复用:函 ...

  2. Python入门篇-函数、参数及参数解构

    Python入门篇-函数.参数及参数解构 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.函数概述 1>.函数的作用即分类 函数 数学定义:y=f(x) ,y是x的函数,x ...

  3. Python入门之 函数

    Python入门之 函数 1.初识函数 1.1 什么是函数? <1> 将某个功能封装到一个空间中就是一个函数 <2> 减少重复代码 1.2 定义函数 def -- python ...

  4. python内置函数详细介绍

    知识内容: 1.python内置函数简介 2.python内置函数详细介绍 一.python内置函数简介 python中有很多内置函数,实现了一些基本功能,内置函数的官方介绍文档:    https: ...

  5. Python中关于函数的介绍

    一.什么是函数       当我们在日常工作中编写代码时,有没有发现这种情况,写了一套代码,却发现里面有很多段代码出现了有规律的重复,这样就不符合一个合格程序员的标准了,一个合格的程序员编写的代码最重 ...

  6. Python入门之函数的嵌套/名称空间/作用域/函数对象/闭包函数

    本篇目录: 一.函数嵌套 二.函数名称空间与作用域 三.函数对象 四.闭包函数 ============================================================ ...

  7. Python入门day04_函数与装饰器

    一.函数入门 什么是函数: # 函数:函数是一系列代码的集,用来完成特定功能的代码块,类似于工具,可以重复不但的去使用 为什么要有函数: # 优点:# 1. 避免代码的冗余 # 2. 让程序代码结构更 ...

  8. Python入门-初始函数

    今天让我们来初步认识一个在python中非常重要的组成部分:函数 首先,让我们来幻想这样一个场景: 比如说我们现在想要通过社交软件约一个妹子,步骤都有什么? print('打开手机 ') print( ...

  9. python入门15 函数

    函数的主要作用是实现代码复用 1 python内置函数 2 匿名函数lambda 3 自定义函数 def functionname(arg):... #coding:utf-8 #/usr/bin/p ...

随机推荐

  1. 用于 SELECT 和 WHERE 子句的函数

    一个 SQL 语句中的 select_expression 或 where_definition 可由任何使用了下面所描述函数的表达式组成. 包含 NULL 的表达式总是得出一个 NULL 值结果,除 ...

  2. Xcode9的xib只支持iOS7.0及以上版本

    Xcode升级到9以后,对xib的最低编译版本有了限制,以前未指定版本的xib会报错,如下 遇到这个情况,根据错误提示很明显提示的是ib文件支持的最低版本是iOS7,所以我就将该xib的版本设为iOS ...

  3. 简单的nodejs 文件系统(fs)读写例子。

    在nodejs中,可以通过fs(file system)模块进行文件的I/O操作. API链接地址: http://nodeapi.ucdok.com/#/api/fs.html 下面进行fs文件系统 ...

  4. Redis登录密码设置

    1. 更改Redis.conf配置 # requirepass foobared 去掉注释,foobared改为 自己的password , 我测试的时候用的是默认的 foobared 2.启动red ...

  5. Redis 中的数据类型及基本操作

    Redis 内置的数据类型有 5种:字符串String.哈希Hash.列表List.集合Set.有序集合ZSet 字符串类型 String 是 Redis 中最基本的类型,一个 key 对应着一个 v ...

  6. 随记PC-win7 64位系统网络连接状态一直转圈、等待状态的异常解决方案

    各位看官好~ 最近电脑也做了下升级,入手个士必得360G的SSD来玩玩,顺便也下个新系统,看看有什么区别,想想顺便升级下系统也是好的,就开始了装机,装系统的路程~~~~~~ 好了不说废话,直接进入主题 ...

  7. [学习笔记] 模拟退火 (Simulated Annealing)

    真没想到这东西真的在考场上用到了...顺便水篇blog以示诈尸好了(逃 模拟退火算法 模拟退火是一种随机化算法, 用于求函数的极值qwq 比如给出一个问题, 我们要求最优解的值, 但是可能的方案数量极 ...

  8. WHCTF-babyre

    WHCTF-babyre 首先执行file命令得到如下信息 ELF 64-bit LSB executable, x86-64 尝试用IDA64打开,定位到关键函数main发现无法F5,尝试了修复无果 ...

  9. Struts2学习笔记四 OGNL

    OGNL,全称为Object-Graph Navigation Language(对象图表达语言),它是一个功能强大的表达式语言,用来获取和设置Java对象的属性,调用java对象的方法,同时能够自动 ...

  10. Struts存取数据

    ValueStack举例分析: Action存 Jsp页面取,用于数据展示 存数据三种方式总结 存数据->map 或 root 展示数据->Strusts标签   这个玩意用着很舒服,能让 ...