python 基础知识
一、通识
1、在python中,类型属于对象,对象有不同类型的区分,变量是没有类型的!
1)变量a是没有类型的,它仅仅是一个对象的引用(一个指针),可以指向List类型对象,也可以是指向String类型对象
a = [1, 2, 3] a= 'Runoob'
二、字典
1、基本操作
# 声明空字典
a = {}
# 迭代字典
dict = {'abc': (1, 2), 'efg':(3, )}
for k, v in dict.items():
for i in v:
func(v)
# 删除键值对
ls = list(dict.keys())
for k in ls:
if k.startswith(('a', 'e'))
dict.pop(k)
2、迭代字典方法
dict_1 = {'Name': 'Zara', 'Age': 7, 'Class': 'First'} # 直接迭代字典,获取键 for key in dict_1: print(key, ":", dict_1[key]) # 迭代字典对象的键集合 for key in sorted(dict_1): print(key, ":", dict_1[key]) # 迭代方法.item()生成的元组 for k,v in dict_1.items(): print(k,">>",v)
二、函数
1、函数参数:可更改(mutalble)与不可更改(immutable)对象
1)不可以变类型:
(1)字符串(strings)、元组(tuples)、整数(numbers)是不可以更改的对象
(2)如果函数参数传递不可变对象,在函数内部修改a值,不会影响a对象本身,是新生成了一个a的对象!
def change(a): print(id(a)) # 指向的是同一个对象 a=10 print(id(a)) # 一个新对象 a=1 print(id(a)) change(a)
2)可变类型:list、dict等
2、函数参数:必需参数、关键字参数、默认参数、不定长参数
1)必需参数:
(1)必须以正确的顺序传入函数参数,而且数量必须和声明时一致!
2)关键字参数:
(1)使用关键字参数来确定传入的参数值。
(2)使用关键字参数允许函数调用时参数的顺序与声明时不一致,因为 Python 解释器能够用参数名匹配参数值。
3)默认参数
(1)如果没有传递参数,则会使用默认参数
4)不定长参数
(1)需要一个函数能处理比当初声明时更多的参数,这些参数叫做不定长参数!
(2)和别的参数不同,声明时不会命名
(3)加了星号 * 的参数会以元组(tuple)的形式导入,存放所有未命名的变量参数。
def printinfo( arg1, *vartuple ): "打印任何传入的参数" print ("输出: ") print (arg1) print (vartuple) # 调用printinfo 函数 printinfo( 70, 60, 50 )
(4)加了两个星号 ** 的参数会以字典的形式导入
def printinfo( arg1, **vardict ): "打印任何传入的参数" print ("输出: ") print (arg1) print (vardict) # 调用printinfo 函数 printinfo(1, a=2,b=3) 输出: 1 {'a': 2, 'b': 3}
(5)声明函数时,参数中星号 * 可以单独出现,但是,星号 * 后的参数必须用关键字传入!