美文网首页
day8-函数基础知识总结

day8-函数基础知识总结

作者: 2333_11f6 | 来源:发表于2018-11-14 17:05 被阅读0次

    8.1 字典相关方法

    1.clear
    字典.clear() - 清空字典(删除字典中所有的键值对)

    dict1 = {'a': 100, 'b': 200 }
    dict1.clear()
    print(dict1)        # {}
    

    2.copy
    字典.copy() - 复制字典中所有的键值对产生一个新的字典(浅拷贝)

    dict1 = {'a': 100, 'b': 200 }
    dict2 = dict1
    print(dict2)               # {'a': 100, 'b': 200 }
    
    dict1 = {'a': 100, 'b': 200 }
    dict2 = dict1.copy()        # 这会产生新的地址,改变1不会影响2
    print(dict2)
    

    3.fromkeys
    通过字典类型来调用,是类方法,静态方法
    dict.fromkeys(序列,值) - 以序列中元素作为key,值作为所有key对应的默认值,创建一个字典。

    dict3 = dict.fromkeys('abc', 100)
    print(dict3)                          #  {'a': 100, 'b': 100, 'c': 100}
    

    4.get
    字典.get(key) - 获取key对应的值,如果key不存在,返回None。
    字典.get(key, 值1) - 获取key对应的值,如果key不存在,返回值1。
    值1可以是任意类型。

    print(dict3.get('d'))             # None
    print(dict3.get('d', 0))          # 0
    

    5.keys,values,items
    字典.keys() - 获取字典所有的key(返回一个序列,序列中元素就是字典的key)
    字典.values() - 获取字典所有的值(返回一个序列,序列中元素就是字典的value)
    字典.items() - 获取字典所有的键值对(返回一个序列,序列中元素是元组,元组中
    元素有两个,分别为key和value)

    dict1 = {'a': 100, 'b': 200, 'c':120}
    keys = dict1.keys()
    print(keys, type(keys))  # dict_keys(['a', 'b', 'c']) <class 'dict_keys'>
    #只是一个单纯的序列,可遍历(for i in keys:),但若要单独取则需要先转换成列表或元组等。
    for i in keys:
        print(i)       # a b c
    
    print(dict1.items()) # dict_items([('a', 100), ('b', 200), ('c', 120)])生成式
    

    6.setdefault(key, value)
    字典.setdefault(key, value) - 给字典添加键值对,如果字典中已存在key则不会修改相应的值。

    dict1 = {'a': 100, 'b': 200, 'c':120}
    dict1.setdefault('a', 300)
    print(dict1)               # {'a': 100, 'b': 200, 'c': 120}
    dict1.setdefault('d', 300)
    print(dict1)               # {'a': 100, 'b': 200, 'c': 120, 'd': 300}
    

    8.2 集合基本操作

    1.什么是集合(set)
    集合是python内置的一个容器类数据类型,是可变、无序的
    字面量 - 使用{}括起来,里面有多个元素,多个元素之间用逗号隔开{1, 2, 3}
    元素 - 不是键值对;必须是不可变的,而且是唯一的。可用于列表去重!!

    set1 = {1, 'hello', (1, 2, 3)}
    #set2 = {1, 'hello', [1, 2, 3]}  # TypeError: unhashable type: 'list'
    set3 = {1, 'hello', (1, 2, 3), True, 1}
    print(set3)         # {'hello', 1, (1, 2, 3)}
    
    set4 = {}
    print(type(set4))  #  <class 'dict'>
    set4 = set()       # 创建一个空的集合
    print(type(set4))  #  <class 'set'>
    

    2.集合的增删改查

    a.查(获取集合元素)
    不能直接获取集合中单独的某个元素,只能遍历。

    for item in set3:
        print(item)         #1   hello   (1, 2, 3)
    

    b.增(添加元素)
    集合.add(元素) - 将指定的元素添加到集合中
    集合.update(序列) - 将序列中的每个元素添加到集合中

    set3.add(333)
    set3.update([222, 3333, 2323])
    

    c.删(集合中只有remove)
    集合.remove(元素) - 删除集合中指定的元素

    set3.remove(333)
    

    d.集合不能修改元素的值,无序的拿不到,只能增加
    set(序列) - 将序列转换成集合

    8.3 数学集合运算

    python中的集合支持数学相关的集合运算

    1. 包含关系
      集合1 >= 集合2 判断集合1中是否包含集合2(判断集合2是否是1的子集)
      集合1 <= 集合2 判断集合2中是否包含集合1(判断集合1是否是2的子集)
    print({1, 2, 3} >= {1, 2})     # True
    print({1, 2, 3} >= {1, 10})     # False
    
    1. 求并集
      集合1 | 集合2 - 将两个集合中的元素合并在一起产生一个新的集合
    set1 = {1, 2, 3, 4, 5, 6}
    set2 = {1, 2, 3, 4, 5, 6, 7, 8, 9}
    print(set1 | set2)            #   {1, 2, 3, 4, 5, 6, 7, 8, 9}
    
    1. 求交集
      集合1 & 集合2 - 使用两集合的公共元素创建一个新的集合
    print(set1 & set2)           #     {1, 2, 3, 4, 5, 6}
    
    1. 求差集
      集合1 - 集合2 -- 使用集合1中除了(1和2共有的部分)集合2的部分以外的元素,创建一个新的集合
    print(set2 - set1)   #   {8, 9, 7}
    
    1. 求补集
      补集 = 并集 - 交集
      集合1 ^ 集合2 - 将俩个集合中除了公共部分以外的元素,创建为一个新的集合
    print(set1 ^ set2)   # {8, 9, 7}集合无序
    

    8.4 认识函数

    1. 函数的定义
      定义:
      函数就是对实现某一特定代码段的封装。
      分类:
      函数可以分为python内置函数和自定义函数
      内置函数:python已经声明好了,程序员直接调用的函数。print函数,input函数等。
      max和min函数等。相当于已经造好的机器,程序员只需要知道使用方法。
      自定义函数:程序员自己声明,自己实现功能的函数。可以提供给别人用,也可以自己用。相当于自己设置和创建机器。
    1. 函数的声明
      语法:
      def 函数名(形参列表):
      """'函数说明文档'"""
      函数体
      说明:
      def - python中声明函数的关键字
      函数名 - 自己命名;要求:标识符,不能是关键字。
      PEP8规范(名字中的字母小写,多个单词之间用下划线隔开),见名知意(
      看到函数名,大概知道函数的功能)
      () - 固定写法
      形参列表 - 一个或多个参数也可以没有参数。
      作用:从函数外部向函数内部传递数据
      : - 固定写法
      函数说明文档 - 用来对函数功能进行说明的注释。需要用3个”引起来。
      函数体 - 实现函数功能的代码段

    初学者函数声明步骤:
    1.确定函数功能
    2.根据函数功能,确定函数名
    3.确定参数,看实现函数功能需不需要向内部传递额外的数据。需要几个数据就需要几
    个参数。
    4.实现函数功能
    5.确定返回值
    前后两行。

    # 声明一个函数求两数和,并打印
    
    
    def add(num1, num2):
        """求两个数的和"""
        return num1 + num2
    
    
    print(add(4, 5))
    
    
    # 声明一个函数,打印10个‘*’
    
    
    def print_star():
        print('*' * 10)
    
    
    print_star()
    
    
    # 声明一个函数,求1+2+3+。。。+n
    def sum1(num1):
        sum2 = 0
        for i in range(1, num1 + 1):
            sum2 += i
        return sum2
    
    
    print(sum1(10))
    
    1. 函数的调用
      (重点)函数在声明时不会执行函数体,只有在调用时才会执行
      语法:
      函数名(实参列表)
      说明:
      函数名 - 必须是已经声明好的函数
      () - 固定写法
      实参列表 - 给形参赋值(需要传递给函数内部的数据)
      目前,形参有多少个,实参就需多少个。

    相关文章

      网友评论

          本文标题:day8-函数基础知识总结

          本文链接:https://www.haomeiwen.com/subject/lnvjfqtx.html