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)声明函数时,参数中星号 * 可以单独出现,但是,星号 * 后的参数必须用关键字传入!

三、匿名函数

posted @ 2022-08-20 20:20  kuaqi  阅读(49)  评论(0编辑  收藏  举报