阅读目录:

    函数

    函数的使用

    函数的分类

    函数的返回值

  ##函数  

##函数的定义-----what?----什么是函数:
# 函数:完成 特定 功能的代码块,作为一个整体,对其进行特定的命名,该名字就代表函数
# -- 现实中:很多问题要通过一些工具进行处理 => 可以将工具提前生产出来并命名
# => 通过名字就可以找到工具 => 使用工具来解决问题
## 函数的优点-----why?------为什么要用函数:
# 1. 避免代码的冗余
# 2. 让程序代码结构更加清晰
# 3. 让代码具有复用性,便于维护
##函数的组成部分(四部分):
1. 函数名:使用该函数的依据
2. 函数体:完成功能的代码块
3. 返回值:功能完成的反馈结果
4. 参数:完成功能需要的条件信息
# 定义函数的语法:通过def关键字来定义
def get_water(water, money):
print('收入你的%d元钱')
print('给你%s水种')
return '矿泉水'

  ##函数的使用

# 使用函数:
1.根据需求定义函数
2.通过函数名找到函数所在的位置(内存地址)
3.函数名() 执行函数地址中存放的所有代码块
-- 函数在定义时需要外界的参数,就要在调用时传入对应的参数
4.函数执行完一定有返回结果,通过return关键字将结果返回给外界
-- 外界需要知道执行结果,用变量接收,反之只执行函数(不需要接收)即可 # 注:函数必须先定义,后使用 # 函数的四部分都可以根据需求的变化而变化
def get_water(water, money):
print('收入你的%d元钱' % money)
print('给你%s水种' % water)
return water # 需要使用函数,就调用一次
res = get_water('矿泉水', 10)
print(res) print('玩耍...')
print('又口渴了...') # 又来需求,在调用一次,代码可以复用,函数只有一个,代码结构清晰且不冗余
res = get_water('王老吉', 20)
print(res)

  ##函数的分类

# 1.根据函数体分类
# 空函数: pass来填充函数体的函数
# -- 优先明确函数名,暂不明确函数体(编程中就存在一些没有函数体的函数)
def login(): pass # 在开发初期,可以讲所有功能提前列出来,用pass占位着,后期再去填充功能体 # 非空函数:有函数体的函数
def fn2():
print('函数体') # 2.根据函数参数分类
#无参函数
def add():
print('功能体不需要外界的参数')
n1 = input('n1: ')
n2 = input('n2: ')
print(n1 + n2) # 有参函数
def add_two(n1, n2):
print('功能体需要外界的参数')
print(n1 + n2) # 3.根据函数返回值分类:所有的函数都有返回值
# 不明确返回值
def low_two(n1, n2):
# 外部不需要知道内部的执行结果
print(n1 - n2) # 明确返回值
def jump_two(n1, n2):
# 外部需要知道内部的执行结果
return n1 * n2
res = jump_two(10, 20)
print(res)

  ##函数的返回值

# 重点:函数名()
# 1)拿到函数地址 => 2)加()执行函数体 => 3)得到函数的执行结果 # 重点: 返回值的功能
1.结束函数;
2.将函数的内部数据返回给外部 # 二、应用场景
# 1.不明确return关键词的函数:系统在函数最末尾自动添加了return,返回的是None
def fn1():
print('普通的函数执行') res = fn1() # 一般不需要对这样的函数进行接收执行结果
print(res) # 2.明确空return关键词的函数:为了结束函数而return
def print_msg():
while True:
msg = input("msg: ")
if msg == 'q':
# break
return # 在特定的位置需要直接结束函数,但不需要告诉外界某个结果,用空return处理
print(msg)
print(msg) # 在break下可以被执行,在return下不能被执行
res = print_msg()
print(res) # 3.有明确的返回值需求的函数:
# -- python中的函数本质上只能返回一个值,
# -- 值跟在return关键词后
# -- 可以通过语法上返回多个值,值之间用逗号隔开,但是本质上返回装有多个值的元组
# 一个值
def get_num():
num = input('num: ')
return num
print(get_num()) # 多个值
def get_two_num():
n1 = input('n1: ')
n2 = input('n2: ')
return n1, n2
# return (n1, n2)
# print(get_two_num())
num1, num2 = get_two_num() # python的return支持多值返回的语法原因是python中有解压赋值
print(num1, num2)

Python Day 10的更多相关文章

  1. 十. Python基础(10)--装饰器

    十. Python基础(10)--装饰器 1 ● 装饰器 A decorator is a function that take a function as an argument and retur ...

  2. 快速入门:十分钟学会PythonTutorial - Learn Python in 10 minutes

    This tutorial is available as a short ebook. The e-book features extra content from follow-up posts ...

  3. 『Python基础-10』字典

    # 『Python基础-10』字典 目录: 1.字典基本概念 2.字典键(key)的特性 3.字典的创建 4-7.字典的增删改查 8.遍历字典 1. 字典的基本概念 字典一种key - value 的 ...

  4. python进阶10 MySQL补充 编码、别名、视图、数据库修改

    python进阶10 MySQL补充    编码.别名.视图.数据库修改 一.编码问题 #MySQL级别编码 #修改位置: /etc/mysql/mysql.conf.d/mysqld.cnf def ...

  5. python学习10—迭代器、三元表达式与生成器

    python学习10—迭代器.三元表达式与生成器 1. 迭代器协议 定义:对象必须提供一个next方法,执行该方法或者返回迭代中的下一项,或者返回一个StopIteration异常,以终止迭代(只能往 ...

  6. Python 3.10 版本采纳了首个 PEP,中文翻译即将推出

    现在距离 Python 3.9.0 的最终版本还有 3 个月,官方公布的时间线是: 3.9.0 beta 4: Monday, 2020-06-29 3.9.0 beta 5: Monday, 202 ...

  7. Python 3.10 的首个 PEP 诞生,内置类型 zip() 迎来新特性

    译者前言:相信凡是用过 zip() 内置函数的人,都会赞同它很有用,但是,它的最大问题是可能会产生出非预期的结果.PEP-618 提出给它增加一个参数,可以有效地解决大家的痛点. 这是 Python ...

  8. Python 3.10 明年发布,看看都有哪些新特性?

    我们目前生活在Python 3.8的稳定时代,上周发布了Python的最新稳定版本3.8.4.Python 3.9已经处于其开发的beta阶段,并且2020年7月3日预发布了beta版本(3.9.0b ...

  9. Python 3.10 中新的功能和变化

    随着最后一个alpha版发布,Python 3.10 的功能更改全面敲定! 现在,正是体验Python 3.10 新功能的理想时间!正如标题所言,本文将给大家分享Python 3.10中所有重要的功能 ...

  10. Python 3.10 is coming!

    看看Python 官网的文档 whatsnew,Python 3.10 已然距离我们越来越近了,然我们看看 Python 3.10 相较于 Python 3.9 有哪些改变吧 新特性 通过括号来组织多 ...

随机推荐

  1. 小程序官网CMS开源项目出炉,Weixin-App-CMS 1.0 版本正式发布

    Weixin-App-CMS 是捷微团队开发的微信小程序CMS开源项目,涵盖了微网站的基本功能,能够快速发布简单易用的小程序网站.采用工具“微信web开发”上传小程序,即可快速体验发布体验小程序网站. ...

  2. JEECG 3.7.8 新版表单校验提示风格使用&升级方法(validform 新风格漂亮,布局简单)

    JEECG 表单校验采用的是validform,默认的校验提示需要占用页面布局,提示效果较传统.jeecg这个自定义的校验提示风格,不占用页面布局,提示效果也更美观,简单易用,让表单看起来更漂亮!!! ...

  3. jmeter(一)

      jmeter简介   Apache jmeter是Apache组织开发的基于java的压力测试工具   与LR功能基本相同,根据用户数来选择用哪个更合适   为什么要做压力测试? 了解被测系统一般 ...

  4. python视频学习笔记2(if)

    一.if语句1.比较运算符,if语句语法 # 1. 输入用户年龄# 2. 判断是否满 18 岁 (**>=**)# 3. 如果满 18 岁,允许进网吧嗨皮# 4. 如果未满 18 岁,提示回家写 ...

  5. 2017-11-10 Fr Oct 消参

    2017-11-04 Sa $ P(-3, 0) $ 在圆C $ (x-3)^2 + y^2 = 8^2 $ 内,动圆M与圆相切且过P点,求M点轨迹. 设切点 $ A(a, b) $,圆心 \(M(x ...

  6. org.apache.hadoop.security.AccessControlException: Permission denied: user=

    这个是权限问题,可以配置下,然后重启hadoop集群解决,目前简单的解决方式是: 在 hdfs-site.xml 总添加参数: <property>    <name>dfs. ...

  7. 配置错误 不能在此路径中使用此配置节。如果在父级别上锁定了该节,便会出现这种情况。锁定是默认设置的(overrideModeDefault="Deny"),或者是通过包含 overrideMode="Deny" 或旧有的 allowOverride="false" 的位置标记明确设置的。

    原因:可能是在安装IIS7的时候没有安装asp.net, 尝试使用以下方法: cmd.exe要以管理员身份启动,在c:\windows\system32下找到cmd.exe,右键管理员启动,输入命令 ...

  8. Python数据结构与算法相关问题与解决技巧

      1.如何在列表, 字典, 集合中根据条件筛选数据¶ In [1]: from random import randint In [2]: data = [randint(-10,10) for _ ...

  9. Java相关查询记录

    Version of Spring Facet could not be detected. http://yijiesuifeng.iteye.com/blog/2221444

  10. Python基础-函数(六)

    一.函数介绍 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.Python提供了许多内建函数,比如print().但你也可以自己创建函数 ...