Python计算机二级(四)

type
status
date
slug
summary
tags
category
icon
password

一、前言

看一下前面都学了些什么:
💡
三、程序控制结构
1、程序的三种控制结构
2、程序的分支结构:单分支结构、二分支结构、多分支结构
3、程序的循环结构:遍历循环、无限循环、break和continue循环控制
4、程序的异常处理:try-except
各位可以再复习一下,再看正文前先过一遍脑子。不会的可以去看一下前面的:

二、正文

看一下今天学什么:

💡
四、函数和代码复用
1、函数的定义和使用;
2、函数的参数传递:可选参数传递、参数名称传递、函数的返回值;
3、变量的作用域:局部变量和全局变量。

1、函数的定义和使用

我们先来想一想我们在中学数学中学到的函数长什么样:
f(x) = y
即输入x通过f()来得到y。
程序里的函数也长这样。让我们来看一个例子:
def f(x): y = x+1 return y
在这里,我定义了一个函数叫做f(),形如: f(x) = x+1
其中,x为输入值,y为输出值。
所以我们就不难看出python函数的语法:
def(声明一个函数,就像一个记号) <函数名>(<输入值>[可写可不写]) :
而使用也很简单:
y = f(1)#当有return时 f(1)#
注意:无论有没有参数,一定要有括号。你必须要以x、y的顺序设置。
def f(): return 1 #你必须要以x、y的顺序设置,例如: def chu(x,y): return x/y print(chu(1,2)) output: 0.5

2、函数的参数传递:可选参数传递、参数名称传递、函数的返回值

有可选必有必选。先讲一下必选参数。
必选参数:函数调用的时候必须传入的参数。例如:
def chu(x,y): return x/y print(chu(1)) error: --------------------------------------------------------------------------- TypeError Traceback (most recent call last) d:\Untitled-1.ipynb Cell 9 in <cell line: 3>() 1 def chu(x,y): 2 return x/y ----> 3 print(chu(1)) TypeError: chu() missing 1 required positional argument: 'y'
必须要填上y。
可选参数传递:
默认参数:在函数定义时,给参数一个默认值。调用该函数时可以不给有默认值的参数传值,这样调用时的参数可以减少。
例如:
def f(x,y,z=1): return (x*y)**z print(f(1,2))#x,y是必选参数,必须要写 print(f(1,2,2))#z是默认参数,可写可不写。不写时默认为1
注意:默认参数必须在必选参数的后面,否则无法完成函数定义,Python会提示SyntaxError异常。
选读:
例如:
def add_end(L=[]): L.append('END') return L print(add_end([1, 2, 3])) print(add_end()) print(add_end()) output: [1, 2, 3, 'END'] ['END'] ['END', 'END']
你们也看到了,最后L的值为['END', 'END']。这是因为L只生成一次,这个对象就一直存在。
参数名称传递:
eg:
def cs(a,b,c): print(a) print(b) print(c) cs(a=1,b=2,c=3) output: 1 2 3
函数的返回值:
在一开始我就讲过return,这里细讲。
返回0个值:
像这样:
def f(a, b, c, d, e, f): print("a={}".format(a)) print("b={}".format(b)) print("c={}".format(c)) print("d={}".format(d)) print("e={}".format(e)) print("f={}".format(f))
没有return,于是不返回值。
返回多个值:
用return返回多个值的时候,多个值以元组类型保存。(元组类型可以理解成列表,只是这个列表里面的值不能被改变。这也是为什么采用元组的原因,因为数据不能被改变,就保护了数据的安全性。)
eg:
def s(a,b): return b,a print(s(1,2),type(s(1,2))) output: (2, 1) <class 'tuple'>#tuple就是元组

3、变量的作用域:局部变量和全局变量

这个我在第一篇就讲过,现在再讲一遍吧。
定义在函数外部,模块内部的变量称为全局变量
定义在函数内部的变量称为局部变量
局部变量在函数调用时才能够被创建,在函数调用之后会自动销毁
全局变量,所有函数都可以直接访问
eg:
a = 1 def w(): #这是一个函数 c = a print(c) error: --------------------------------------------------------------------------- NameError Traceback (most recent call last) Untitled-1.ipynb Cell 3 in <cell line: 4>() 2 def w(): 3 c = 1 ----> 4 print(c) NameError: name 'c' is not defined
a 是全局变量,而c是局部变量。

最后

现在,你已经学会了第四章的内容,你也离结业更进了一步。
看一下下一章的内容:
五、组合数据类型
Loading...

没有找到文章