Dotcpp  >  编程教程  >  Python函数  >  Python函数的创建和调用

Python函数的创建和调用

点击打开在线编译器,边学边练

前面我们讲解了Python的核心语法,这一章我们来进行函数的学习,有编程基础的同学一定知晓函数的用法,我们是零基础教程,所以在这里介绍一下什么是函数。

我们举个例子,我们拿一家公司的工资结算问题来探讨一下。

这家公司的正常工资为每天200元,如果当月工作的天数大于等于20天,多出的天数每天按300元来结算,并且加1000全勤奖金,如果工作天数少于10天,那么所有工资按每天150元来结算,并扣除200缺勤工资。

假设该公司有4个员工,ABCD 4个员工的工作天数分别为30、25、15、5,我们来看一下它的代码。

A = 30
B = 25
C = 15
D = 5
salaryA = (30 - 20) * 300 + 20 * 200 +1000
salaryB = (25 - 20) * 300 + 20 * 200
salaryC = 15 * 200
salaryD = 5 * 200 - 200
print(salaryA)
print(salaryB)
print(salaryC)
print(salaryD)

这种方式不仅需要我们手动去判断,代码方式也是单一使用代码,当我们再次使用的时候还需要再次计算,当员工数量为1000的时候,我们肯定不能使用这种方式,因此我们来借助函数来解决这个问题。

A = 30
B = 20
C = 10
D = 5
def getsalary(name,days):
    salary = 0
    if days >=20:
        salary = 20 * 200 + (days-20) * 300 +1000
        print('{}的工资为:'.format(name),salary)
    elif days < 10:
        salary = days * 150 - 200
        print('{}的工资为:'.format(name),salary)
    else:
        salary = days * 200
        print('{}的工资为:'.format(name),salary)
getsalary('A',A)
getsalary('B',B)
getsalary('C',C)
getsalary('D',D)

输出结果为:

A的工资为: 8000
B的工资为: 5000
C的工资为: 2000
D的工资为: 550

通过上面这个例子,在解决相同问题不同变量的时候,我们只需要定义好一个函数,然后将这些变量反复使用这些函数即可解决问题,不需要我们去手动计算,计算机会帮助我们更准确迅速的解决问题。

函数可以帮助我们完成更简洁的代码、减少代码的重复、易于测试、快速开发、便于团队合作,因此在后面的学习过程中,函数是必不可少的一环。

1. 函数的创建

从上面的例子中我们可以看到函数的定义使用的关键字是def,定义函数的一般形式为:

def function_name():
    函数内容

在定义函数名字的时候我们需要注意几点:

1) 关键字不能作为函数名字。

2) 函数名中不能存在空格。

3) 函数名的首字母必须是大小写字母或者下划线。

4) 函数名的其余字母可以使用字母、数字以及下划线。

5) 不同函数名大小写不同的时候为不同函数。

我们来定义创建几个函数:

def get_name():
    pass
def get_salary():
    pass
def add_money():
    pass

采用字母+下划线+字母的形式为常用的命名方式。

2. 调用函数

当我们创建好函数之后,如果不调用的话,不管函数中有多少print都不会执行的,因为函数就像我们买了一些工具放在仓库里,只有当我们拿出来的时候才能去使用,因此我们需要调用函数。

调用函数的时候,解释器会跳到函数体内,执行函数内的语句,当执行完毕之后回到调用的位置继续执行后续语句。

我们来看一下函数的调用过程。

def helloworld():
    print('调用函数')
    print('helloworld')
    print('人生苦短,我用Python')
helloworld()
print('调用完毕')

输出结果为:

调用函数
helloworld
人生苦短,我用Python
调用完毕

本节我们主要来认识一下函数,学习函数的创建和调用,下一节我们来学习函数的参数传递。



本文固定URL:https://www.dotcpp.com/course/256

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

Python教程
第一章 Python入门
第二章 Python基础语法
第三章 Python入门语法
第四章 Python核心语法
第五章 Python函数
第六章 Python面向对象编程
第七章 Python模块
第八章 Python异常处理和程序调试
第九章 Python文件及目录操作
第十章 PythonGUI编程
第十一章 Python进程和线程
第十二章 Python数据库管理
第十三章 Python算法
第十四章 Python爬虫
第十五章 Python实战项目
第十六章 后记
Dotcpp在线编译      (登录可减少运行等待时间)