美文网首页
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-函数基础知识总结

    8.1 字典相关方法 1.clear字典.clear() - 清空字典(删除字典中所有的键值对) 2.copy字典...

  • C语言知识拾遗

    一、前言 本系列文章旨在总结 C 语言基础知识,包括 标准库函数、疑难点分析、常用函数封装、常用项目代码块 等。关...

  • day8-函数

    1.函数的返回值: python中每个函数都是有返回值的,返回值就是return后面的值。如果函数中没有retur...

  • corplot绘制SCI级相关性热图(基础知识)

    最近年中总结,我们学习一些基础知识 利用corrplot包中的corrplot()函数 corrplot介绍: 使...

  • 烧脑必备品之函数基础篇

    函数与公式 今天学习函数的基础知识,先认识函数,再学习函数,之后再了解并运用函数 今天仅仅只是学习了函数的基础知识...

  • Day8-函数作业

    1.写⼀个函数将⼀个指定的列表中的元素逆序(例如[1, 2, 3] -> [3, 2, 1])(注意:不要使⽤列表...

  • day8-函数续

    01-函数的返回值 1.函数的返回值:a.函数返回给调用者的值b.就是return关键字后面的表达式的值c.就是函...

  • day8-函数-homework

    1.编写一个函数,求1+2+3...+N 2.编写一个函数,求多个数中的最大值 3.编写一个函数,实现摇色子的功能...

  • day8-函数2.0

    一、函数的返回值 1.函数的返回值: a.就是函数返回给调用者的值b.就是return关键字后面的表达式的值c.就...

  • day8-函数基础

    1.字典相关的方法 1.clear 字典.clear() 清空字典(删除所有的键值对) dict1 = {'a'...

网友评论

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

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