主要是复习时总结自己不太熟悉的知识点了(面向Internet的总结)。
函数的参数
-
位置参数——按位置依次对应
-
关键字参数——按“键值对”对应
func(\'hello\', val = 1)调用时:若有位置参数,位置参数必须在关键字参数的前面,但关键字参数之间不存在先后顺序
-
默认参数——为参数提供默认值,调用时可不传
def func(val1, val2 = 7): pass func(10) func(10, 20)调用时:若有位置参数,位置参数必须在默认参数的前面
-
可变参数——可以有不确定个数的参数,非常灵活,收集参数然后packaging
def func(*args, **kw)args接受一堆位置参数打包成tuple, kw接受一堆关键字参数打包成dict,具体示例(混用)如下:
def person(name, age, *args, hobby=\"blank\", **kwa): for i in args: print(i) for k, v in kw.items(): print(k, v) person(\'Loli\', 17) person(\'loli\', 17, \'Light of\', \'my life\', hobby=\'sedution\', otherInfo=\'fire of my loins\') # 还是位置参数放在关键字参数前 -
可变参数之愉快解包——就是直接传入tuple或者dict喵:)
def func(args, kw): pass l1 = (\'hi\', \'nice\', 2, \'meet\', \'u\') l2 = {\'one\':1, \'two\':2} func(*l1, **l2)
内置数据结构
-
list
l1 = [] l2 = list() l1.append(2) l2 = [i for i in range(1, 10) if i % 2 == 1] del l2[2] l2.reverse() l3 = l1 + l2 # l1.extend(l2) l3.insert(2, 12) #insert(index, data) l3.count(12) l3.clear() -
tuple——不可变的list,有序
t1 = () t2 = (1,) # 只有一个元素记得加’,‘ -
set——无序,元素互异性,只可存可哈希元素(str, int, float, tuple,冰冻集合)
s1 = set() s2 = {1, 2} # 必须有值,否则为dict s1.add(22) s1.clear() s2.discard(2) s2.pop() # 集合函数 # intersection: 交集 # difference:差集 # union: 并集 # issubset: 检查一个集合是否为另一个子集 # issuperset: 检查一个集合是否为另一个超集 s1 = {1,2,3,4,5,6} s2 = {5,6,7,8,9} s_1 = s1.intersection(s2) s_2 = s1.difference(s2) s_3 = s1.issubset(s2) # 冰冻集合frozenset——不可变set s = frozenset() -
dict——无序序列:无分片索引;key必须可哈希
d1 = dict({\'one\':1, \'two\':2, \'three\':3}) d2 = dict(one=1, two=2, three=3) d3 = dict( [(\'one\',1), (\'two\',2), (\'three\',3)]) for k in d: print(k, d[k]) # 上述代码可以改写成如下 for k in d1.keys(): print(k, d[k]) # 只访问字典的值 for v in d2.values(): print(v) # 注意以下特殊用法 for k,v in d3.items(): print(k,\'--\',v) dd = {k:v for k,v in d1.items()} print(d2.get(\"on333\")) # 没有则返回None l = [\'hi\', \'i\', \'am\'] d = dict.fromkeys(l, \"ha\") # 使用指定的序列作为键,使用一个值作为字典的所有的键的值 # d = {\'hi\': \'ha\', \'i\': \'ha\', \'am\': \'ha\'}
继续阅读与本文标签相同的文章
-
Spring AOP应用场景你还不知道?这篇一定要看!
2026-05-18栏目: 教程
-
阿里云云数据库RDS如何监控、备份及克隆实例?
2026-05-18栏目: 教程
-
用CSS新属性实现特殊的图片显示效果
2026-05-18栏目: 教程
-
Java描述设计模式(12):外观模式
2026-05-18栏目: 教程
-
Effctive_java_01 阅读笔记
2026-05-18栏目: 教程
