文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python基础

2023-01-30 22:13

关注

主要是复习时总结自己不太熟悉的知识点了(面向Internet的总结)。

函数的参数

  1. 位置参数——按位置依次对应

  2. 关键字参数——按“键值对”对应

    func('hello', val = 1)

    调用时:若有位置参数,位置参数必须在关键字参数的前面,但关键字参数之间不存在先后顺序

  3. 默认参数——为参数提供默认值,调用时可不传

    def func(val1, val2 = 7):
        pass
    
    func(10)
    func(10, 20)

    调用时:若有位置参数,位置参数必须在默认参数的前面

  4. 可变参数——可以有不确定个数的参数,非常灵活,收集参数然后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='seduction', otherInfo='fire of my loins')   # 还是位置参数放在关键字参数前
  5. 可变参数之愉快解包——就是直接传入tuple或者dict喵:)

    def func(args, kw):
        pass
    
    l1 = ('hi', 'nice', 2, 'meet', 'u')
    l2 = {'one':1, 'two':2}
    
    func(*l1, **l2)

内置数据结构

  1. 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()
  2. tuple——不可变的list,有序

    t1 = ()
    t2 = (1,) # 只有一个元素记得加’,‘
  3. 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()
  4. 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'}
阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯