zoukankan      html  css  js  c++  java
  • python第三天

    北方姆Q卷土重来!今日化身!!!

    1.集合:字典的小伙伴,也是无序的,但不是kv对应存储,萌~

    #!/usr/bin/env python
    s1 = {'a','b','c','a','d',}
    print(s1) #重复的元素只会出现一次哦
    print(type(s1)) #类型是set,集合类型
    s1.add('w') #增加元素
    s1.add('w') #重复增加并没有什么卵用
    s1.add('w') #没什么卵用的用三遍
    s1.add('w')
    print(s1)
    s1.remove('w') #删除元素,如果元素不存在会报错
    s1.discard('dsds') #删除元素,如果元素不存在不会报错
    print(s1)
    r1 = s1.pop() #随机移除一个元素并获取他
    print(r1)
    s1.clear() #全部清空
    print(s1)
    s1 = {'a','b','c','a','d',}
    s2 = {'a','b','e','f',}
    s = s1.difference(s2) #s1s2中不同的元素
    print(s)
    #s1.difference_update(s2) #与s2进行对比然后直接将不同的元素更新到s1中
    s3 = s1.symmetric_difference(s2)#s1与s2的对称差集
    print(s3)
    s4 = s1.intersection(s2) #交集
    print(s4)
    s5 = s1.union(s2) #并集
    print(s5)



    C:UsersAdministratorAppDataLocalProgramsPythonPython35-32python.exe C:/Users/Administrator/PycharmProjects/ACE/study3/setttt.py
    {'a', 'b', 'd', 'c'}
    <class 'set'>
    {'a', 'b', 'd', 'w', 'c'}
    {'a', 'b', 'd', 'c'}
    a
    set()
    {'d', 'c'}
    {'d', 'c', 'e', 'f'}
    {'a', 'b'}
    {'a', 'b', 'd', 'c', 'e', 'f'}

    Process finished with exit code 0

    2.三元运算:并没有什么卵用

    #!/usr/bin/env python
    print('bfmq') if 1 == 1 else print('mmd') #跟下面的一个意思,简化写法

    # if 1 == 1:
    # print('bfmq')
    # else:
    # print('mmd')



    C:UsersAdministratorAppDataLocalProgramsPythonPython35-32python.exe C:/Users/Administrator/PycharmProjects/ACE/study3/sanyuan.py
    bfmq

    Process finished with exit code 0

    3.lambda:也没有什么卵用

    #!/usr/bin/env python
    # def f1(a1):
    # return a1 + 10
    # ret = f1(10)
    # print(ret)


    f1 = lambda a1:a1 + 10 #简易函数跟上面一个意思
    ret = f1(10)
    print(ret)


    C:UsersAdministratorAppDataLocalProgramsPythonPython35-32python.exe C:/Users/Administrator/PycharmProjects/ACE/study3/nameda.py
    20

    Process finished with exit code 0

    4.文件操作:

    ‘r’模式:以读方式打开,不能进行写操作,文件必须是已经存在的
    ‘r+’模式:以读写方式打开,文件必须是已经存在的,写操作会根据指针所在位置顶替原本字节
    ‘w’模式:以写方式打开,不能进行读操作,若文件存在,则先清空,然后重新创建;若不存在,则创建文件
    ‘w+’模式:以读写方式打开,若文件存在,则先清空,然后重新创建;若不存在,则创建文件
    ‘a’模式:以追加方式打开,不能进行读操作,把数据追加到文件的末尾;若不存在,则创建文件
    ‘a+’模式:以读写方式打开,把数据追加到文件的末尾;若不存在,则创建文件,指针无效
    ‘b’模式:

    以二进制模式打开,不能作为第一个字符出现,需跟以上模式组合使用,如’rb’,’rb+’等(大部分时间用不到,搞清楚utf-8跟gbk

    ‘x’模式:文件存在就报错,不存在就建立并可写

    with open('XXX', 'r', encoding='utf-8') as f1, open('XXX', 'x', encoding='utf-8') as f2:
      l1 = f1.readlines()
      for line in l1:
        f2.write(line)

    4.函数:这个实在是...语文老师还没死也没用啊

    函数分为自定义函数跟内置函数,内置函数大多数为经常使用的功能封装好的类中的函数,所以自定义函数起名时不要跟内置函数名称相冲突,否则会死的很惨,也要合理调用全局变量,防止污染,还要分清作用域

    #!/usr/bin/env python
    def main():
    f1(9, 8) #传2个值,第三个用默认的
    f1(9, 8, 7) #传3个值,第三个用传的


    def f1(a, b, c=10):
    print(a, b, c)

    main()


    C:UsersAdministratorAppDataLocalProgramsPythonPython35-32python.exe C:/Users/Administrator/PycharmProjects/ACE/study3/hanshu.py
    9 8 10
    9 8 7

    Process finished with exit code 0

    #!/usr/bin/env python
    def main():
    #f1(9, 8) #传2个值,第三个用默认的
    f1(9, 8, 7) #传3个值,第三个用传的
    f1(7, [3, 5, 16, 1, 56, ]) #不带*会将列表当作一个元素传入
    f1(*[3, 5, 16, 1, 56,]) #带*会将列表中的元素直接传入

    def f1(*args): #可接收多个值
    #print(args[0], args[1], args[2])
    print(args) #args是个元组

    main()


    C:UsersAdministratorAppDataLocalProgramsPythonPython35-32python.exe C:/Users/Administrator/PycharmProjects/ACE/study3/hanshu.py
    (9, 8, 7)
    (7, [3, 5, 16, 1, 56])
    (3, 5, 16, 1, 56)

    Process finished with exit code 0

    #!/usr/bin/env python
    def main():
    f1(n1=11, n2=22) #将传入的值与指定在参数作为kv
    f1(n1=11, n2=22, **{'k1': 'v1', 'k2': 'v2'}) #带**就会将字典中的kv直接放入新字典中
    f1(n1=11, n2=22, n3={'k1': 'v1', 'k2': 'v2'}) #不带**字典作为一个valuse放入新字典中


    def f1(**kwargs): #可接收多个值
    print(kwargs) #kwargs是个字典

    main()

    C:UsersAdministratorAppDataLocalProgramsPythonPython35-32python.exe C:/Users/Administrator/PycharmProjects/ACE/study3/hanshu.py
    {'n1': 11, 'n2': 22}
    {'k2': 'v2', 'n1': 11, 'n2': 22, 'k1': 'v1'}
    {'n3': {'k2': 'v2', 'k1': 'v1'}, 'n1': 11, 'n2': 22}

    Process finished with exit code 0

    累死北方了



  • 相关阅读:
    大爽Python入门教程 0-2 什么是IDE?python选什么IDE好?
    大爽Python入门教程 0-3 安装Atom与配置Python环境
    大爽Python入门教程 0-1 安装python
    HBase 过滤器 及shell 操作过滤器
    分布式ID生成方式(雪花算法)
    tidb 踩坑经验(转载)
    MYSQL ACID
    kafka什么时候会丢消息
    java 单例模式模式实现
    使用 GitHub 的十个最佳实践
  • 原文地址:https://www.cnblogs.com/bfmq/p/5724204.html
Copyright © 2011-2022 走看看