Python 33

函数的定义和调用

比如

传递给print不同的字符,他就会输出不同的字符串,他就会输出不同的字符串

print("Hello!")

print("Bye!)

借助于互联网上大量别人开发好的函数,几乎可以无限扩展自己的代码功能

无需知道功能如何实现

给他输入,就会得到特定的输出

那么我们可以将自己的代码给别人使用吗?

可以,通过函数?

例:判断两个数的最大值并输出

if 1 >2:

print(1)

else:

print(2)

没有使用变量,直接比较两个常量,但是代码的逻辑可以

比较任何两个数值

并输出最大的数值

假设这段代码经常使用,复制代码可行吗

会和当前代码融为一体,增加对整体代码功能的理解的复杂度

如果想修改,就要将所有复制过去的代码都要改动

虽然允许别人使用,但是并不想把代码给别人看到

........这就到了需要函数的时候!

定义函数

def func():

if 1>2:

print(1)

else:

print(2)

definition(定义)

可以定义很多不同名称的函数来区分不同的函数

函数与变量的区别

strs =input()

表面的区别:函数后面有括号

实质区别:函数代表功能,变量只存储数据。

函数的使用

func()

但是这个函数太简单了

希望他们都能得到正确的最大值输出

func(1, 2)    # 输出2      

func(2, 4)    # 输出4   

func(3, 2)    # 输出3

理解参数

fun(1 ,2) 实际参数(实参)

def func(num1, num2)形式参数   (形参)


#带有参数的函数

def func (num1, num2):

if num1 > num2:

print(num1)

else:

print(num2)

func(1, 2)

func(2, 4)

func(3, 2)

--------------------------------------------------------------

#关键字参数

def func (num1, num2):

if num1 > num2:

print(num1)

else:

print(num2)

func(1, 2)

func(2, 4)

func(3, 2)

func(num1 =6, num2 =1)

如果想改变这个次序,可以在实际参数前增加要赋值的参数名称

相对于此,此前默认的参数可以称之为位置参数

最好起个见名知义的函数名称

#带有参数的函数

def max(num1, num2):

if num1 > num2:

print(num1)

else:

print(num2)

max(1, 2)

max(2, 4)

max(3, 2)

max(num2=6, num1=9)

有没有设计问题?

只能输出到屏幕上

为什么只能输出到屏幕上?

不能输出到打印机上?文件中?变量中?

其实这个输出不应该作为这个函数功能的一部分

它只要能求出并把它交出来

#关于返回值

#1)函数要把值交出来

def max(num1, num2):

if num1 > num2:

return num1

else:

return num2

#2)在调用函数的时候接收这个值

print(max(1, 2))

value1 = max(2, 4)

print(value1)

关于参数和返回值

实参->形参

返回值->变量

利用封装函数,组装成完整功能

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、快捷键 ctr+b 执行ctr+/ 单行注释ctr+c ...
    o_8319阅读 11,103评论 2 16
  • 以下为学python以来知识点及练习记录,用于个人知识点复习 DAY01-02 介绍、变量、格式化输出 1.pyt...
    阿杜_12a9阅读 4,502评论 0 3
  • 〇、前言 本文共108张图,流量党请慎重! 历时1个半月,我把自己学习Python基础知识的框架详细梳理了一遍。 ...
    Raxxie阅读 19,235评论 17 410
  • 安装 Python[https://www.python.org/] Visual Studio Code文本编辑...
    徐杰阅读 1,651评论 0 0
  • Python基本语法 一、Python介绍 Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚...
    zflain阅读 1,254评论 0 0