900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 扇贝编程python学习笔记-基础篇3

扇贝编程python学习笔记-基础篇3

时间:2021-05-10 06:13:20

相关推荐

扇贝编程python学习笔记-基础篇3

Genius only means hard-working all one's life.天才只意味着终身不懈的努力。

文章目录

第五关1.函数的定义、组成2.函数中的参数3.函数的作用4.随堂练习5.学习巩固

第五关

学习用时:30min

随堂测验+上机作业:25min

随堂作业正确率:7/7

1.函数的定义、组成

1.定义:函数是一段组织好的、可重复使用的、用来实现特定功能的代码快。

python内置函数len()举例

print(len('生如夏花之灿烂'))# 输出结果:7

2.函数的组成:

1.告诉计算机,要定义一个函数;

2.函数的名字是什么;

3.这个函数需要输入什么参数;

4.参数的处理过程是什么样的;

5.把什么样的处理结果还给输入者。

# def是函数定义的关键字(define 的缩写,意为“定义”),f 是我们取的函数名。#函数名后有一对英文括号,括号里面是我们设定的参数(也就是我们之前说的输入),最后用一个英文冒号结尾。# 冒号后有缩进的代码块,这部分叫函数体,这部分就是函数功能实现和输出返回值的地方。# 最后一行的 return 用于返回函数处理的结果,return 后面的值称为函数的返回值。def f(x): y = 2 * x + 1return y# 下一行代码调用 f 函数,并赋值给变量 resultresult = f(3)print(result)# 输出:7# 也可以将后两行简写为print(f(3))

注意:函数代码块快的缩进问题。

3.函数的执行顺序

函数的内部,return 语句一旦执行之后,剩下的语句将不再执行。

# 例1 这样的情况下 将不会有任何打印结果,因为return y 后,函数将不在执行def f(x):y = 2 * x + 1return yprint(y)f(3)#---------------------------------------------------------------------------------------# 例2 下面这种情况下没有return依旧打印出结果,但缺点是结果打印完之后就没有了,无法将结果进行有效的利用,相当于“阅后即焚”def f(x):y = 2 * x + 1print(y)f(3)# 输出:7#---------------------------------------------------------------------------------------# 例3 强行获取函数结果def f(x):y = 2 * x + 1print(y)# 用 result 变量获取结果result = f(3)# 打印结果为 7 ,但是返回结果为 None,赋值给 resultprint(result + 1)# 报错: TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'# (类型错误,不支持 None 和整数的相加)

上面例3中,print(result + 1) 并不能让我们获得 8 这个目标值,因为函数内部没有 return 语句,y = 7 打印后就销毁了,然后函数暗搓搓地为你返回了 None ,并赋值给 result。

2.函数中的参数

对于函数的参数:形参实参

形参是形式上的参数(上面的x)的缩写,表明这里有一个叫x的参数,实参是实际上的参数(上面的3)的缩写,实参传给函数后x被赋值为3。

Python 函数的命名规范:函数名应该为小写,可用下划线连接多个英文单词,比如在习题中用 calc_age 的函数名来编写年龄计算器。函数名要有一定的描述性,避免使用 a、b、c 这样过于简单的英文字母。

# 练习1# 定义一个名为 calc_age 的函数# calc_age() 函数的输入为出生年份,输出为年龄# 在屏幕上输出 calc_age() 函数的返回值def calc_age(birth_yrear):age = - birth_yrearreturn agex = int(input("请输入出生年份"))print (calc_age(x))

这里面我又犯了一个错误就是python函数的命名不符合规范,里面的

3.函数的作用

DRY 原则 = Don’t repeat yourself = 不要重复自己

如果多次遇到同样的问题,就应该抽象出一个共同的解决方法,尽量避免写重复的代码。

另外:函数的参数和返回值都不是必选项,是可以没有的。

下面的函数既没有参数,也没有返回值:

def say_hello(name):greetings = '你好啊~'print(greetings + name)# 不用再 print 了,因为函数里用了 print 函数say_hello('鸽子')# 输出:你好啊~鸽子# 练习 2 将这首诗打印5遍~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~def print_poetry():print('----------------')print('我打江南走过')print('那等在季节里的容颜如莲花的开落')print('春风不来,三月的柳絮不飞')print('你的心如小小的寂寞的城')print('恰若青石的街道向晚')print('跫音不响,三月的春帷不揭')print('你的心是小小的窗扉紧掩')print('我达达的马蹄是美丽的错误')print('我不是归人,是个过客……')print_poetry()print_poetry()# 其他地方找的python中一个函数多次调用for i in range(1,4):print_poetry()

写函数的注意点

1.定义函数时,要遵循语法规则,给函数和参数的命名要有可读性;

2.注意缩进规则,函数体中是实现函数功能的代码,前面一定要有统一的空格缩进;

3.我们用 函数名() 的形式调用函数,执行函数体中的代码,用关键字 return 返回函数的结果;

4.函数体中也可以没有 return,系统会默认 return None。

5.函数内部如果有 print(),只负责显示结果,不能将结果保留或者传给其它变量。

4.随堂练习

计算多边形内角和的函数。 三角形内角和为 180°、四边形内角和为 360°

五边形内角和为 540°

# 输入内角和的边数n = int(input("请输入所求内角和的边数:"))# 定义求内角和的函数x为形参,新知识点是形参和实参可以是一个名字def calc_degree(x):calc = (x - 2) * 180return calc# 打印结果print(str(n) + "边形内角和为" + str(calc_degree(n)))

5.学习巩固

定义一个名为 calc_profit 的函数;

该函数有一个参数,为当天卖出的奶茶数量;

函数的返回值为奶茶店当天的净利润(不需要单位);

通过 input() 函数获取当天卖出的奶茶数量;

调用函数并打印出奶茶店当天的净利润。

再定义一个名为 calc_perf 的函数;

该函数有一个参数,为当天的净利润(calc_profit() 函数的返回值);

该函数功能为:当净利润大于 2000 时打印 合格,否则打印 不合格;

使用 input() 函数获取当天卖出的奶茶数量;

调用函数并打印出奶茶店当天是否合格。

def calc_profit(n):#n为每日饮料销量形参princ = 25 #饮料价格cost = 9 #饮料成本jingli = princ - cost #饮料净利润chengben = 500 #每日成本money = jingli * n - chengben #每日利润计算return moneydef calc_perf(money):if money > 2000: #每日纯利润业绩>2000合格 否则不合格print("合格")else:print("不合格")# 输入每天销售额 number = int(input("今天你卖了多少杯奶茶啊?"))print(calc_profit(number)) #每日纯利润calc_perf(calc_profit(number))#每日业绩是否合格

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。