"""
1、什么是函数
具备某一功能的工具===》函数
事先准备工具的过程===》函数的定义
遇到应用场景拿来就用=》函数的调用 2、为何要有函数
内置函数(python3解释器定义好的,我们只需要拿来使用即可)
1、拿来主义,提升开发效率 自定义函数:(把程序中实现某一功能一块代码组织整理到一起)
为了解决
1、增强程序的组织结构性、提升可读性
2、减少代码冗余
3、提升程序的可维护性与扩展性 3、如何用函数
使用原则:先定义,后调用 定义函数的语法: def 函数名(参数1,参数2,参数3):
'''
文档注释
'''
代码1
代码2
代码3
。。。。。。
return 值 调用函数的语法:
函数名(值1,值2,值3) """ # 一:基本使用
# x = 10 # x = 存放值10的那个内存空间的内存地址
# print(x) # def login(): # login = 存放代码的那个内存空间的内存地址
# name = input("your name>>: ")
# pwd = input("your pwd>>: ")
# role = input("your role>>: ")
# if name == "egon" and pwd == "123" and role == "amdin":
# print('login successful')
# else:
# print("user or password error") # print(login)
# login()
# login()
# login()
# login()
# login()
# login() # x = 10
# x() # 逻辑错误,没有语法错误 # 二:先定义、后调用
# 函数的使用分为两个阶段
# 定义阶段:申请内存空间把函数体代码放进去,然后把内存地址绑定给函数名
# 调用阶段:通过函数名找到函数体代码,加括号触发函数体代码运行 # 强调:定义阶段只识别语法不执行代码,只有在调用阶段才会执行代码
# def func():
# xxx
#
# func() # # 示范一:
# def f2():
# print('from f2')
#
#
# def f1():
# print('from f1')
# f2()
#
# f1() # 示范二:
# def f1():
# print('from f1')
# f2() # def f2():
# print('from f2')
#
# f1() # 三:函数定义的三种形式
# 3.1 无参函数
# def login():
# name = input("your name>>: ")
# pwd = input("your pwd>>: ")
# role = input("your role>>: ")
# if name == "egon" and pwd == "123" and role == "amdin":
# print('login successful')
# else:
# print("user or password error")
#
# login() # 3.2 有参函数
# def max2(x,y):
# # x=10
# # y=11
# if x > y:
# print(x)
# else:
# print(y)
#
#
# max2(10,11)
# max2(20,21) # 3.3 空函数
# def login():
# """登录功能。。。"""
# pass
#
#
# def register():
# pass
#
#
# def transfer():
# pass
#
#
# def withdraw():
# pass # 四:函数调用的三种形式
# def max2(p1_msalary, p2_msalary):
# if p1_msalary > p2_msalary:
# return p1_msalary
# else:
# return p2_msalary
import hashlib #
#
# x = max2(10, 11)
# print(x * 12) # 语句形式:单纯的调用
# print("hello world")
# max2(10,11) # 表达式:
# x = max2(1, 2)
# res = max2(1, 2) * 12
# print(res) # 可以当做参数传给另外一个函数
# print(max2(1,2)) res = max2(max2(10, 11), 12)
print(res) 函数返回值
# 函数的返回值
# 1、函数体内没有return,或return后没有值:默认返回是None
# def func():
# # return None
# pass
#
# res = func()
# print(res) # # 2、return 值:返回的就是这一个值
# def func():
# return 123
#
# res=func()
# print(res) # 3、return 值1,值2,值3:返回一个小元组(值1,值2,值3)
# def func():
# return 123, "abc", 3.1
#
#
# res = func()
# print(res, type(res)) # 补充:函数内可以有多个return,return是函数结束的标志,函数体代码但凡运行到一个
# return就会立刻终止整个函数的运行,然后将return后的值当做本次调用的产品返回
# def func():
# print("first")
# return 111
# print('second')
# return 2222
# print('third')
# return 3333
# res=func()
# print(res) 函数参数
# 函数的参数分为两大类
# 形参:在定义函数阶段,括号内指定的参数,称之为形式参数,简称形参
# 形参相当于定义在函数内的变量名,用于接收外部传进来的值
def func(x,y):
# x=10
# y=11
print(x)
print(y) # 实参:在调用函数阶段,括号内传入的值,称之为实际参数,简称实参
# 实参相当于变量值,用于为形参赋值的
func(10,11) # ps:在函数调用时,会将实参的值绑定给形参,这种绑定关系只能在函数内使用,在函数调用完毕后,实参
# 与形参会解除绑定,回收占用的内存空间
												

day11总结的更多相关文章

  1. 团队项目——站立会议 DAY11

    团队项目--站立会议 DAY11        团队成员介绍(5人):张靖颜.何玥.钟灵毓秀.赵莹.王梓萱        今日(2016/5/20),站立会议已进行了两周时间,将这一周所遇到的问题和心 ...

  2. python_way ,day11 进程

    if __name__ == '__main__': for i in range(10): p = Process(target=foo, args=(i,)) # p.daemon = True ...

  3. python_way day11 自定义线程池

    python_way day11 线程池 为什么需要线程池 线程多一些固然好,但是过多的线程反倒影响系统的负荷,所以我们就需要创建合适多的线程,哪我们把线程放到哪里?这时就放到线程池中. 线程池中存放 ...

  4. Spark Streaming揭秘 Day11 Receiver Tracker的具体实现

    Spark Streaming揭秘 Day11 Receiver Tracker的具体实现 ReceiverTracker是运行在Driver上Receiver管理程序,今天让我们深入学习一下. 核心 ...

  5. python 之路,Day11 (下)- sqlalchemy ORM

    python 之路,Day11 - sqlalchemy ORM   本节内容 ORM介绍 sqlalchemy安装 sqlalchemy基本使用 多外键关联 多对多关系 表结构设计作业 1. ORM ...

  6. python 之路,Day11(上) - python mysql and ORM

    python 之路,Day11 - python mysql and ORM   本节内容 数据库介绍 mysql 数据库安装使用 mysql管理 mysql 数据类型 常用mysql命令 创建数据库 ...

  7. Day11 - Mysql and ORM

    python 之路,Day11 - python mysql and ORM   本节内容 数据库介绍 mysql 数据库安装使用 mysql管理 mysql 数据类型 常用mysql命令 创建数据库 ...

  8. ##DAY11 UITableView编辑

    ##DAY11 UITableView编辑 每一个视图控制器都有一个编辑按钮,因为项目中编辑的应用场景非常多,所以系统预留了一个编辑按钮供我们使用 self.navigationItem.leftBa ...

  9. 【JAVA零基础入门系列】Day11 Java中的类和对象

    今天要说的是Java中两个非常重要的概念--类和对象. 什么是类,什么又是对象呢?类是对特定集合的概括描述,比如,人,这个类,外观特征上,有名字,有年龄,能说话,能吃饭等等,这是我们作为人类的相同特征 ...

  10. Alpha冲刺Day11

    Alpha冲刺Day11 一:站立式会议 今日安排: 由周静平继续完成昨日第三方机构剩余的核实企业风险数据和企业风险数据详情模块 由张梨贤和黄腾飞共同完成第三方机构的分级统计展示模块 由林静开始登录/ ...

随机推荐

  1. [寒假学习]ps知识

    小学就开始学了,还是要感谢当时年轻不懂事到处研究怎么画画哈哈哈哈,不过到现在有点忘,寒假在家禁足也无聊,寻思着重拾画笔来着,复习一下,冲! 为了防止看完就忘用博客记录一下小笔记   1. 一些快捷键的 ...

  2. 01.Markdown学习

    Markdown学习 一.标题 在想要设置为标题的文字前面加#来表示(#后面有空格) 一个#是一级标题,二个#是二级标题,以此类推.支持六级标题. 示例: # 这是一级标题 ## 这是二级标题 ### ...

  3. [xDebug]Xdebug和Sublime调试PHP代码

    安装xdebug 省略... 配置sublime 要调试某一个项目,首先得把这个项目在sublime下保存成一个project sublime->project->save project ...

  4. Keiichi Tsuchiya the Drift King (c++三角函数公式)【几何+三角函数公式】

    Keiichi Tsuchiya the Drift King 感谢:  https://blog.csdn.net/xiao_you_you/article/details/89357815 题目链 ...

  5. (二)POI-创建一个sheet页,并添加行列数据

    原文:https://blog.csdn.net/class157/article/details/92800439 1.只创建sheet页 package com.java.poi; import ...

  6. python基础003----标准数据类型

    一.标准数据类型 在python中,只要定义了一个变量,而且它有数据,那么它的类型就已经确定了,不需要开发者主动去说明它的类型,系统会自动识别.可以用type(变量名)来查看变量的类型.常见的变量类型 ...

  7. Docker中使用RabbitMQ

    安装Docker yum install docker //安装完成以后,可以查看一下docker的版本 docker -v //Docker version 1.13.1, build 64e998 ...

  8. 手把手教你基于SqlSugar4编写一个可视化代码生成器(生成实体,以SqlServer为例,文末附源码)

    在开发过程中免不了创建实体类,字段少的表可以手动编写,但是字段多还用手动创建的话不免有些浪费时间,假如一张表有100多个字段,手写有些不现实. 这时我们会借助一些工具,如:动软代码生成器.各种ORM框 ...

  9. CCNA-Part1:网络基础概念

    由于身处一家网络公司,日常项目中设计到的网络概念较多,恰逢之后公司组织相关培训.借此机会,打算写下一系列文章用于之后梳理并回顾.文章主要涉及 NA,NP 中所覆盖的知识.由于网络分为较多方向,如路由交 ...

  10. 【初学Java学习笔记】SQL语句调优

    1, 对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2,应尽量避免在 where 子句中对字段进行 null 值判断,创建表时NULL是默认 ...