黑马程序员技术交流社区

标题: 总结个人在学习python中遇到的错误 [打印本页]

作者: 黄河龙虾    时间: 2019-3-28 13:14
标题: 总结个人在学习python中遇到的错误
1.for i in range(1, 20):

range 是左闭又开的!!

random.randint(1, 9)是两边都是闭区间

2.return可以返回一个函数的执行结果,下方的代码不会被执行

3.

- 在 Python 中,可以 将一个元组 使用 赋值语句 同时赋值给 多个变量
- 注意:变量的数量需要和元组中的元素数量保持一致
- result = temp,wetness = measure()

字符串

1.replace方法执行完成之后,会返回一个新的字符串。(不会修改原有字符串的内容)

函数的参数进阶

不可变和可变的参数

1.无论传递的参数是可变还是不可变的,只要针对参数使用赋值语句,会在函数内部修改局部变量的引用,不会修改函数外部变量的引用

例如:

def demo(num, num_list):

    print("函数内部")
    num = 200
    num_list = [1, 2, 3]
    print(num)
    print(num_list)
    print("函数代码完成")

gl_num = 99

gl_list = [4, 5, 6]

demo(gl_num, gl_list)  //这边将实参传递给函数,但是函数运行完之后并不会影响之前定义的变量的值。

print(gl_num)

print(gl_list)

输出如下结果:

200

[1, 2, 3]

函数代码完成

99

[4, 5, 6]

[6, 7, 8]

注意:函数执行时,需要处理变量时 会:

1. 首先 查找 函数内部 是否存在 指定名称 的局部变量,如果有,直接使用
2. 如果没有,查找 函数外部 是否存在 指定名称 的全局变量,如果有,直接使用
3. 如果还没有,程序报错!

2.如果传递的参数是可变类型,在函数内部使用了方法修改了数据的内容,则会影响到外部的数据。

def mutable(num_list):

    num_list.extend([1, 2, 3])//这里在函数内部使用方法对可变变量改变了其值,影响到了外部的变量。
    print(num_list)

gl_list = [6, 7, 8]

print(gl_list)

mutable(gl_list)

print(gl_list)

输出如下结果:

[6, 7, 8]

[6, 7, 8, 1, 2, 3]

[6, 7, 8, 1, 2, 3]





列表

1.列表索引是从 0 开始,而不是从 1 开始,并且遵循左闭又开原则。

2.列表和元祖转换之间注意事项

如下nums_list为一个列表,若将其转换为元祖,需要在前面添加元祖的变量名

nums_list = [1, 2, 3, 4, 5]

tuple.(nums_list) 表面上将nums_list转换成了元祖,其实并没有,使用type()函数查看nums_list之后仍然是list变量,正确的操作是要在前面接上一个元祖的变量名

nums_tuple = tuple(nums_list)

While

1.在while当中使用continue时,应在continue前条件判断之后,否则会进入死循环,因为你进入条件判断时如果不改变变量值还是原来的变量,就会重新进入while,然后死循环。

字典

1.使用update()函数合并字典时,如果在原有的字典中的键与将要合并字典的键重名,或者重复,则会将原有的键对应的值覆盖成将要合并的字典里面的键的对应值。







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2