Python 入门 Day6 列表、元组和字符串

2019-12-05  本文已影响0人  猪小菊不是猪

列表、元组和字符串的共同点:

1. 可以通过索引得到每一个元素;

2. 默认索引值总是从0开始;

3. 可以通过分片的方法得到一个范围内的元素的集合;

4. 有很多共同的操作符(重复操作符、拼接操作符、成员关系操作符)

list([literable])把一个可迭代对象转换为列表。例如:

list()生成一个空列表。

tuple([literable])把一个可迭代对象转换为元组

max:返回序列或参数集合中的max值

搜索出的结果是ASCII码的最小。

注意:使用max或min的方法必须保证比较的对象是同类的,而不能是str和int的比较。

sum()求和

sum(numbers,8):表示把列表求和之后再加上8。

sorted:排序

enumerate的使用:(忽略中间的输入错误)

zip:同位置的元素合成一组

P18

函数、对象、模块

函数:

定义函数:使用def(eg.   def Myfirstfunction(): )

def 函数名称():不能漏了括号和冒号

调用函数时:

函数名()(Myfirstfunction())

试着制作简单的函数(同理可制作其他):如下,我们尝试制作一个元素相加的函数。

如果要得到字符串拼接而不是真正的相加,就在两个整型上分别加上引号即可。如:

我们也可以直接使用return函数返回结果而不使用print.

形参和实参:

形参只是一个形式:比如一开始在定义函数时,function(name):xxxx,

这时候的name就是一个形参,而我们调用函数时真正引用的字符为实参。

设置关键字参数:

默认参数

收集参数:(可变参数)加*星号,表示不确定括号内会有多少个参数,这样调用时可以根据实际情况选择参数数量,如下图:

如果有收集参数之后还要添加其他的参数,那么需要把其他的参数也设置为默认的参数,比如:

注意函数和过程的区别:

!有返回值的为函数,没有返回值的为单纯的过程~

python可以返回多个值:列表

局部变量:local variable

全局变量:global variable

我们可以这样使用函数:

当我们要尝试print final_price的时候,我们发现

python显示final_price not defined?为什么呢?这就是局部变量,意思是final price这个变量只在discount中的函数才是有效的,出了这个函数则不ok!

总结:在函数中定义的参数和变量都称为局部变量(意思为离开这个函数就无效),因为他们处于同一栈中,执行完语句之后变量所在的空间已经被删除。

在这个例子中,全局变量为original_price和discount_rate(在函数之外),所以即使在其他地方(包括函数范围内也可以调用,比如)

我们把两种情况放在一起更好比较。在下图中,第三行代码输入打印original_price,发现可以实现,但是最后一行代码的final price却打印不出来,这就是全局变量和局部变量的差距(局部变量好小气orz)

如果我们要尝试在函数内部修改一个全局变量,python会新建一个和这个全局变量相同的变量反映在函数中,但在函数外,这个全局变量并不会改变。

课后题:

1. 如何在函数中修改全局变量的值?

-->使用global关键字。

2. 如何修改外部函数中的局部变量:

-->nonlocal

上一篇 下一篇

猜你喜欢

热点阅读