Python的作用域是静态的
python变量的作用域由变量所在源代码中的位置决定
在函数外部声明的变量是全局变量,其作用域是整个文件(模块;在函数内部声明的变量是局部变量,其作用域是声明这个变量的函数内部,在函数外部不可访问
当函数定义里有多个参数时,其参数的传递形式主要有以下五种:位置传递、关键字、默认值传递、包裹传递和解包裹传递。
python中一切皆为对象
变量是对象的一个引用,对象的操作都是通过引用来完成的。
函数调用过程中,传递的是对象,参数的传递本质是名字到对象的绑定过程
每次函数调用时,形参都会被重新赋值
匿名函数(没有函数名字的临时使用的小函数)
在Python中使用lambda表达式创建匿名函数 (该表达式只能包含一个表达式,不允许包含选择、循环等语法结构)
lambda 参数列表 : 表达式(或条件表达式)
不需要return来返回值,表达式本身的计算结果就是函数的返回值
使用del命令可以删除整个元组,但不能用del删除元组中的元素
共有三种推倒式:列表 字典 集合
append()用于向列表末尾追加一个元素,append()方法的使用方式为:Is.append(x)Is为操作的列表名,x为增加的元素。
extend()是将另一个列表中的所有元素追加到当前列表的末尾,extend()方法的使用方式为:Is.extend(L)
insert()是向列表中任意位置插入一个一元素,insert()方法的使用方式为:Is.insert(i,x)Is为操作的列表名,i为插入位置的序号,x为增加的元素
字典中的键必须使用不可变数据类型的数据,也就是可“哈希”类型数据
字典中的键不可重复,必须是字典中独一无二的数据,如有重复,只保留最后一个元素
创建一个不包含任何值的空字典,使用以下方法中的一种:
- 将一对空的大括号赋值给一个对象的方法创建空字典;
- 用dict()函数不加任何参数来创建空字典。
-
创建非空字典
- 将用大括号界定的多个包含键值对的元素赋值给一个对象
In [16]:
D1 = {'name': '张三', 'age': 19, 'gender': 'M'}
print(D1)
{'name': '张三', 'age': 19, 'gender': 'M'}
- 使用字典构造器dict(),给键名赋值(创建映射),创建字典,注意:此处的键名不加引号。这种方法不能创建以Python关键字为字符串的键,如 'for'。
In [17]:
D2 = dict(name = '张三', age = 19, gender = 'M')
print(D2)
{'name': '张三', 'age': 19, 'gender': 'M'}
- 使用字典构造器dict(),参数必须为一个可迭代对象,该可迭代对象中的每个元素本身必须为一个刚好包含两个元素的可迭代对象。 每一元素中的第一个元素将成为新字典的一个键,第二个元素将成为其对应的值。
In [18]:
D3 = dict([('name', '张三'), ('age', 19), ('gender', 'M')])
print(D3)
{'name': '张三', 'age': 19, 'gender': 'M'}
- 使用字典构造器dict()结合内置zip()函数。zip()函数可产生一个可迭代对象,该可迭代对象中的每个元素本身为一个刚好包含两个元素的可迭代对象。
In [19]:
D4 = dict(zip(('name','age','gender'), ('张三',19,'M')))
print(D4)
{'name': '张三', 'age': 19, 'gender': 'M'}