1、为什么要用函数
#1.避免代码重用
#2.提高代码的可读性

2、函数的定义
def 函数名(参数1,参数2):
    '''函数注释'''
    print("函数体")
    return "返回值"

3、函数调用
返回值 = 函数名(参数1,参数2)

4、函数定义——返回值
#关键字:return
#return的作用:
    #1.结束函数的执行
    #2.返回要返回的值
#返回值的两种情况:
    #返回值为None
    #返回值不为None
        #1.返会一个值
        #2.返回多个值

5、函数调用——接收返回值
#返回值为None   不接收
#返回值不为None
    # 1.返会一个值
            #用一个变量接收
    # 2.返回多个值
            #用一个变量接收,接收的结果是一个元组
            #有多少个返回值就用多少个变量接收

#参数——站在定义函数的角度上
#1.位置参数、
#2.默认参数
#3.动态参数
    #*args
    #**kwargs
#顺序 位置参数 *args 默认参数 **kwargs

#参数——站在调用函数的角度上
#1.按照位置传参
#2.按照关键字传参
#3.动态传参 *tup **dic

1、首先 返回值可以是任意的数据类型

1 def func():
2 a = 111
3 b = [1,2,3]
4 return b
5
6 ret = func() #如果有返回值:必须要用变量接收才会有效果
7 print(ret)

2、函数可以没有返回值

 def func1():
a = 111
b = [1,2,3]
ret = func1()
5 print(ret)
#函数可以没有返回值
#当不写return的时候,一个函数默认的返回值是'None'

3、

 def func2():
a = 111
b = [1,2,3]
return
# ret = func2()
# print(ret)
#当只写一个return的时候,函数的返回值为None
None

4、

def func3():
a = 111
b = [1,2,3]
return None
# ret = func3()
# print(ret)
#return None的时候函数的返回值也为None(几乎不用)

5、

python全栈开发从入门到放弃之函数基础的更多相关文章

  1. python全栈开发从入门到放弃之网络基础

    一.操作系统基础 操作系统:(Operating System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才 ...

  2. python全栈开发从入门到放弃之函数进阶

    1.三元运算 a= 1 b=2 max = (a if a>b else b ) #条件成立的结果 if 条件 else 条件不成立的结果 print(max) 2.先上一首python之禅 i ...

  3. python全栈开发从入门到放弃之迭代器生成器

    1.python中的for循环 l = [1,2,3,4,5,6] for i in l: #根据索引取值 print(i) 输出结果: 1 2 3 4 5 6 2.iterable  可迭代的 可迭 ...

  4. python全栈开发从入门到放弃之socket网络编程基础

    网络编程基础 一 客户端/服务器架构 1.硬件C/S架构(打印机) 2.软件C/S架构 互联网中处处是C/S架构 如黄色网站是服务端,你的浏览器是客户端(B/S架构也是C/S架构的一种) 腾讯作为服务 ...

  5. python全栈开发从入门到放弃之递归函数的调用

    1.递归效率低,需要在进入下一次递归时保留当前的状态,见51cto博客 解决方法是尾递归,即在函数的最后一步(而非最后一行)调用自动但是python又没有尾递归,且对递归层级做了限制 必须有一个明确的 ...

  6. python全栈开发从入门到放弃之初识面向对象

    面向过程 VS 面向对象 面向过程的程序设计的核心是过程(流水线式思维),过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西. 优点是:极大的降低了写程序的复 ...

  7. python全栈开发从入门到放弃之面向对象的三大特性

    组合 class Course: def __init__(self,name,period,price): self.name = name self.period = period self.pr ...

  8. python全栈开发从入门到放弃之socket并发编程多进程

    1.1 multiprocessing模块介绍 python中的多线程无法利用多核优势,如果想要充分地使用多核CPU的资源(os.cpu_count()查看),在python中大部分情况需要使用多进程 ...

  9. python全栈开发从入门到放弃之socket并发编程多线程

    一 threading模块介绍 multiprocess模块的完全模仿了threading模块的接口,二者在使用层面,有很大的相似性,因而不再详细介绍 二 开启线程的两种方式 from threadi ...

随机推荐

  1. 【noip模拟题】迎接仪式(dp+特殊的技巧)

    好神的一题... 这是一道DP题,本题的难点在于状态的确定,由于调整是任意的,很难划分状态,我们略微修改一下调整的形式:把一次’j’和’z’交换看做两次变换:’j’->’z’;’z’->’ ...

  2. 【NOIP模拟题】Graph(tarjan+dfs)

    似乎我搞得太复杂了? 先tarjan缩点然后dfs就行了QAQ. (我不说我被一个sb错调了半个小时....不要以为缩点后dfs就可以肆无忌惮的不加特判判vis了.. bfs的做法:减反图,然后从大到 ...

  3. epplus excel数据导出(数据量有点大的情况) Web和Client

    Asp.net MVC后台代码 public ActionResult Export() { OfficeOpenXml.ExcelPackage ep = new OfficeOpenXml.Exc ...

  4. u盘作为git仓库,完成不同地方的代码同步

    参考网上一篇 "把Git Repository建到U盘上去" 1.我经常有这样的需求,工作.家里需要对同一份代码或文档编辑,并希望在不同地方能同步: 如果是私密性不那么强,可以直接 ...

  5. 自己实现一个Promise库

    源码地址 先看基本使用 const promise = new Promise((resolve, reject) => { resolve(value) // or reject(reason ...

  6. UVA 548(二叉树重建与遍历)

    J - Tree Time Limit:3000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu Submit Status Ap ...

  7. 复习及总结--.Net线程篇(3)

    不幸的发现,原来多线程的东西还有好多. 不只是一个Thread就能把事情做完的,好吧,孤陋寡闻了 这里总结下  复习及总结--.Net线程篇(2)里的两个概念AppDomain和ThreadPool ...

  8. 在 Ubuntu Mate 16.04 上通过 PPA 升级 Mate 1.14

    导读 Mate 桌面环境 1.14 现在可以在 Ubuntu Mate 16.04 ("Xenial Xerus") 上使用了.根据这个版本的描述,为了全面测试 Mate 1.14 ...

  9. HighCharts使用心得(转载)

    转载自:http://www.cnblogs.com/Olive116/p/3777021.html 1.  准备工作------下载HighCharts插件 跟ECharts一样,HighChart ...

  10. powerdesigner 修改name时code不修改

    o