首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

python基础-part2

3.函数

3.1 def语句和参数

3.2 返回值和return 语句

return返回的字符串被赋给一个名为fortune 变量.打印输出。

3.3 None 值

它表示没有值。None 是NoneType 数据类型的唯一值(其他编程语言可能称这个值为null、nil 或undefined)。就像布尔值True和False 一样,None 必须大写首字母N。

3.4 关键字参数和print()

“关键字参数”是由函数调用时加在它们前面的关键字来识别的。关键

字参数通常用于可选变元。例如,print()函数有可选的变元end 和sep,分别指定在参数末尾打印什么,以及在参数之间打印什么来隔开它们。

3.5 局部和全局作用域

1)局部变量不能在全局作用域内使用

2)局部作用域不能使用其他局部作用域内的变量

3)全局变量可以在局部作用域中读取

3.6 global 语句

如果需要在一个函数内修改全局变量,就使用global 语句。

1.如果变量在全局作用域中使用(即在所有函数之外),它就总是全局变量。

2.如果在一个函数中,有针对该变量的global 语句,它就是全局变量。

3.否则,如果该变量用于函数中的赋值语句,它就是局部变量。

4.但是,如果该变量没有用在赋值语句中,它就是全局变量。

3.7 异常处理

3.8 一个小猜数游戏

4.列表

4.1列表数据类型

1)用下标取得列表中的单个值

2)负数下标

3)利用切片取得子列表

4)用len()取得列表的长度

len(spam) = 4

5)用下标改变列表中的值

>>> spam = ['cat', 'bat', 'rat', 'elephant']

>>> spam[1] = 'aardvark'

['cat', 'aardvark', 'rat', 'elephant']

>>> spam[2] = spam[1]

['cat', 'aardvark', 'aardvark', 'elephant']

>>> spam[-1] = 12345

['cat', 'aardvark', 'aardvark', 12345]

6)列表连接和列表复制

7)用del 语句从列表中删除值

>>> spam = ['cat', 'bat', 'rat', 'elephant']

>>> del spam[2]

['cat', 'bat', 'elephant']

>>> del spam[2]

['cat', 'bat']

4.2 使用列表

1)列表用于循环

2)in 和not in 操作符

例如:'howdy' in ['hello', 'hi', 'howdy', 'heyas'] 返回True/False

3)多重赋值技巧

4.3 增强的赋值操作

4.4 方法

1.index() 坐标

2.append()和insert()方法在列表中添加值

append('值')添加到末尾,insert('坐标','值')在某坐标插入

3.用remove(),del()方法从列表中删除值

如果知道想要删除的值在列表中的下标,del 语句就很好用。如果知道想要从

列表中删除的值,remove()方法就很好用。

4.用sort()方法将列表中的值排序

对字符串排序时,使用“ASCII 字符顺序”,

4.6类似列表的类型:字符串和元组

1).元组数据类型

2).用list()和tuple()函数来转换类型

4.7 引用

1)传递引用

代码只改变了cheese 列表,但似乎cheese 和spam 列表同时发生了改变。

尽管spam和someParameter 包含了不同的引用,但它们都指向相同的列表。这就是为什么函数内的append('Hello')方法调用在函数调用返回后,仍然会对该列表产生影响。

2)copy模块的copy()和deepcopy()函数

4.8小结

列表是有用的数据类型,因为它们让你写代码处理一组可以修改的值,同时仅用一个变量。在本书后面的章节中,你会看到一些程序利用列表来完成工作。没有列表,这些工作很困难,甚至不可能完成。列表是可变的,这意味着它们的内容可以改变。元组和字符串虽然在某些方面像列表,却是不可变的,不能被修改。包含一个元组或字符串的变量,可以被一个新的元组或字符串覆写,但这和现场修改原来的值不是一回事,不像append()和remove()方法在列表上的效果。变量不直接保存列表值,它们保存对列表的“引用”。在复制变量或将列表作为函数调用的参数时,这一点很重要。因为被复制的只是列表引用,所以要注意,对该列表的所有改动都可能影响到程序中的其他变量。如果需要对一个变量中的列表修改,同时不修改原来的列表,就可以用copy()deepcopy()。

点播关注呗~

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180217G00F4600?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券