Python函数 之 函数基础

  • print() 在控制台输出
  • input() 获取控制台输⼊的内容
  • type() 获取变量的数据类型
  • len() 获取容器的⻓度 (元素的个数)
  • range() ⽣成⼀个序列[0, n)

以上都是我们学过的函数,函数可以实现⼀个特定的功能。我们将学习⾃⼰如何定义函数, 实现特定的功能。


1.函数是什么?

  • 函数将多⾏代码(可以实现⼀个特定的功能)放在⼀块,并给它起⼀个名字在需要使多⾏代码的时候, 可以使⽤名字代替
  • 定义函数的好处对具备相同逻辑的代码进行封装,实现对代码的重用,减少代码冗余(重复的代码不需要多次书写),提⾼编程效率。
  • 函数必须 先定义 后 调用

2.函数的文档注释[了解] 

  1. 函数的⽂档注释,本质就是注释, 只不过作⽤和书写位置有特定的要求
  2. 作⽤: 是对函数的作用和使用方法进行说明, ⽐如 有哪些参数, 返回值是什么
  3. 书写位置: 在def 的下方,使⽤三对引号来书写

函数的查看:

  1. 在函数名上,使⽤快捷键 Ctrl q 查看
  2. 在函数名上,使⽤ 快捷键 Ctrl B 跳转到函数定义的地⽅查看
  3. 在函数名上, 按住 Ctrl 键,点击函数名,跳转到函数定义的地⽅查看

3.函数的定义 

def 函数名():
    函数中的代码
    函数中的代码
  1. 函数定义,就是给多行代码起名字的过程
  2. 函数的定义需要使⽤ 关键字 def, 单词 define
  3.  处在 def 缩进中的代码 都属于这个函数
  4. 函数名要满⾜标识符的规则, ⻅名知意
  5.  def 这⾏代码的最后需要⼀个 冒号
  6. 函数定义不会执⾏函数中的代码,想要执⾏需要调⽤这个函数

4.定义带参数的函数

  • 参数
    • 形式参数(形参):在函数定义的时候,在括号中写⼊变量,这个变量就称为是函数的参数。
    • 实际参数(实参):在函数调⽤的时候,可以给定义时候的形参传递具体的数据值,供其使⽤。
    • 注: 在函数调⽤的时候,会将函数的实参值传递给形参。
  • 好处: 可以让函数更加的通⽤,函数中的数据值不是固定的,是调⽤的时候,你传递的。
  • 使用场景: 判断 函数中 数据值是不是固定不变的, 如果是变化的就可以使⽤参数传递。
  • 注意点: ⽬前书写的函数, 如果存在形参,必须传递相同个数的实参
def sun_2_num(a, b): # a, b 形参
 c = a + b
 print(c)

sun_2_num(10, 20) # 10, 20 实参 10 给 a, 20 给 b
sun_2_num(1, 2)
sun_2_num(20, 39)

5.函数的调用

语法:函数名()

注意:有参数则需要传递参数

  1.  函数调用,就是使用 多行代码的过程
  2. 只定义函数, 不调用函数, 函数永远不会被执行
  3. 不能将 函数调用 放在 函数定义 的上方,否则将会出现错误。(先定义再调用)

# 定义带参数的函数
def sun_2_num(a, b): # a, b 形参
 c = a + b
 print(c)

# 调用带参数的函数
sun_2_num(10, 20) # 10, 20 实参 10 给 a, 20 给 b
sun_2_num(1, 2)
sun_2_num(20, 39)
定义函数的小技巧:
  • 先不使⽤函数,将多⾏代码写完
  • 在多行代码的上⽅使⽤ def 起名字
  • 使⽤ tab 键, 将多⾏代码进行缩进

6.函数嵌套调用

  • 在⼀个函数中调⽤另⼀个函数。

        1, 代码从上到下执⾏的

        2, 函数定义不会执⾏函数中的代码

        3, 函数调用会进⼊函数中执⾏函数中的代码

        4, 函数中的代码执行结束,会回到调⽤的地⽅继续向下执⾏

# 1. 定义名为test01的函数,打印当前函数的名称
def test01():
    print(1)
    print('func01')
    print(2)


# 2. 定义名为test02的函数,打印当前函数的名称,并 调用test01函数
def test02():
    print(3)
    print('func2')
    test01()
    print(4)


print(5)
test02()
print(6)
# 5 3 1 2 4 6

 


7.返回值

  • 返回值: 函数执⾏的结果
    • print() ---> None
    • input() ---> 键盘输⼊的内容, 类型 字符串
    • type() ---> 变量的数据类型
    • len() ---> 容器⻓度
  • 在⼀个函数中,想要返回⼀个数据(想要有返回值),需要使用return 关键字
  • 为什么返回值? 在函数中可能通过各种代码得到的数据结果,想要在函数外部使用就需要使⽤返回值。
  • 如果函数有返回值, ⼀般在调⽤的时候 会使⽤变量来接收(保存) 返回值, 以便后续使用。
  • return 关键字的作用:
    • 将⼀个数据值返回到调用的地⽅
    •  函数遇到 return 会结束函数的执行
    • return 关键字只能⽤在函数中
  • 如果⼀个函数 没有写 return,可以认为 返回值是 None
    • 返回一个值
    • 返回多个值(函数中如果想要返回多个数据值, 一般是组成元组进行返回

(1) return返回单个数据值

# 设计⼀个函数⽤于获取两个数中的较⼤数,数据来⾃于函数的参数


def get_max(a, b):
    if a > b:
        return a
    else:
        return b
    print('我会执⾏吗, 不会执⾏')  # 注意:return 表示返回,后续的代码都不会被执行


# 调用
num = get_max(10, 20)
print(num)

 

(2)return返回多个数据值 

def calc(a, b):
    """返回两个数的和及差"""
    return a + b, a - b


result = calc(10, 20)
print(result)

(3)案例: 

需求:

1. 定义名为 input_username 的函数, 获取⽤户输⼊的⽤户名

2. 定义名为 input_password 的函数, 获取⽤户输⼊的密码

3. 定义名为 login 的函数, 判断获取的⽤户名和密码信息

4. 要求当获取的⽤户名为:admin 并且密码为: 123456 时, 输出“登录成功!”,否则提示“⽤户       名或 密码错误!”

# 1. 定义名为 input_username 的函数, 获取⽤户输⼊的⽤户名


def input_username():
    """输⼊⽤户名"""
    return input('请输入用户名:')


# 2. 定义名为 input_password 的函数, 获取⽤户输⼊的密码
def input_password():
    """输⼊密码"""
    return input('请输入密码:')


# 3. 定义名为 login 的函数, 判断获取的用户名和密码信息
# 4. 要求当获取的用户名为:admin 并且密码为: 123456 时,输出“登录成功!”,否则提示“用户名或密码错误!”

def login():
    """登录函数"""
    if input_username() == 'admin' and input_password() == '123456':
        print('登录成功')
    else:
        print('用户名或密码错误')


login()

 


未完待续。。。 

  • 39
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

埜玊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值