1. 今日内容:
    编码
    集合
    深浅cpoy
    文件操作
    函数
    初始函数
    函数的返回值
    函数的传参
  2.  
  3. 初识:
    # == 数值比较
    # is 比较的是内存地址
    # id 测试的是内存地址
    # 小数据池 str int
    # int: -5 -- 256
  4.  
  5. # str:
    #1,不能含有特殊字符
    #2,单个元素*int不能超过21
    1、编码:
    a.类别:
    Ascii:数字、字母、特殊字符
    - 字节:8位表示一个字节
    - 字符:能够看到的内容的最小组成单位
    abc、中国
    unicode:万国码
    - 两个字节表示一个字符
  6.  
  7. utf-8:最少用8位表示1个字符
    - 欧洲:两个字节
    - 亚洲:三个字节
    - 英文:一个字节
    gbk:国标
    - 英文:1个字节
    - 中文:两个字节
  8.  
  9. 注意:
    - 不同编码之间的二进制是不能互相识别的
    - 对于文件的存储及传输,不能是Unicode的编码,只能为bytes
    - 对于python3中:
    - str:内部编码方式为Unicode
    - bytes:和str操作方法一直,但内部编码方式:非Unicode,可以为utf-8gbkgb2312
    strbytes对比:
    字母:显示一致
    中文:无法识别
    b.转换:
    注意:用什么编码,就用什么解码
    - 字符串转换一致
    - 中文:
    s1 = '中国'
    a1 = s1.encode('utf-8').decode('utf-8')
    b1 = a1.encode('gbk')
  10.  
  11. 2、集合
    - 含义:
    a.里面元素可哈希不可变,元素唯一不重复、无序。
    b.集合本身是不可哈希的
    - 用途:
    a.关系测试
    set1 = {1,2,3,4,5}
    set2 = {4,5,6,7,8}
  12.  
  13. - print(set1 & set2) #交集
    print(set1.intersection(set2))
    - print(set1 ^ set2) #反交集
  14.  
  15. - print(set1 | set2) #并集
    print(set1.difference(set2))
  16.  
  17. - print(set1 - set2) #差集
  18.  
  19. set1 = {1,2,3}
    set2 = {1,2,3,4,5,6}
  20.  
  21. - print(set2 > set1) #子集
    print(set1.)
  22.  
  23. - print(set2 > set1) #超集
    prin(set2.issuperset(set1))
  24.  
  25. - set1 = {1,2,3}
    print(frozenset(set1)) #动集合
  26.  
  27. b.去重
    set = {1,1,2,2,3,4,4,5}
    print(set)
    - 使用:
    增:
    set1 = {'alex','anthony','chris','neil'}
    - set1.add('wusir')
  28.  
  29. set1.update('王立功')
    print(set1)
    删:
    set1 = {'alex','anthony','chris','neil'}
  30.  
  31. - set1.pop() #随机删除
  32.  
  33. - set1.remove('alex') #按照元素删除
  34.  
  35. - set1.clear() #清空集合
  36.  
  37. - del set1 #删除整个集合
  38.  
  39. 查:
    set1 = {'alex','anthony','chris','neil'}
    - for i in set1:
    print(i)
  40.  
  41. 3、深浅cpoy
    s1 = [1,2,3]
    s2 = s1
    s1.append(666)
    print(s1,s2)
    - copy:第一层各自独立,从第二层开始共用同一个内存地址
    s1 = [1,2,3,[11,22]]
    s2 = s2
  42.  
  43. - copy:无论多少层,都是互相独立的
    import copy
    copy.
    - 切片:浅copy
  44.  
  45. 4、文件操作
    含义:
    f1 文件句柄,f,file,file_hander,f_h
    open()调用的内置函数,内置函数调用的系统内部的open,一切对文件的操作都是基于文件句柄
    方式:
    读:r rt rb
    r+模式 读写,
    r模式 read(n) #n对于字符而言
    rb模式 #对于字节而言
    readline #按行读取
    readlines #放入列表,每一行相当于一个元素
    for循环
  46.  
  47. 写:w
    w,没有源文件创建文件,源文件已存在,先清空,再写入。
  48.  
  49. 追加:a
    a,没有源文件创建文件,源文件存在,内容写到最后。
  50.  
  51. 其他方法:
    readable() 是否可读
    writeable() 是否可写
    seek() 调整光标,seek(0)光标调整到开头,seek(0,2),调整到末尾.
    tell() 显示光标所在位置
    truncate() 截断数据,按照字节对源文件进行处理,必须在a或者a+模式
    with open 不用主动关闭句柄
    文件的修改:
    1、以读模式打开源文件
    2、以写模式打开新文件
    3、将源文件读出按照要求修改将修改后的内容写入到新文件
    4、删除源文件
    5、将新文件重命名为源文件
  52.  
  53. 同一个文件句柄可以写多次
  54.  
  55. 5、函数
    定义:
    def 关键字 函数名():
    函数体
    函数:以功能为导向
  56.  
  57. return:返回值
    a. 终止函数 return
    b. 给函数的执行者返回值 return 666
    c.
    '''
    return 或者 return None
    return 单个值
    return 多个值 会将多个值放到一个元祖中
    '''
  58.  
  59. def my_len():
    count = 0
    for i in s:
    couont += 1
    return count
    s = 'fdsfdsfsdfds'
    my_len()
    传参:
  60.  
  61. def my_len(argv): # 形式参数,形参
    count = 0
    for i in argv:
    couont += 1
    return count
    s = 'fdsfdsfsdfds'
    my_len(s) # 实际参数,实参
  62.  
  63. print(my_len(s))
  64.  
  65. - 实参角度:
    - 位置参数:一一对应,按照顺序
    def func1(a,b,c):
    print(a,b,c)
    func1(1,2,'anthony')
  66.  
  67. # def my_max(num1, num2):
    # if num1 > num2:
    # return num1
    # else:
    # return num2
    #
    #
    # print(my_max(13, 23))
  68.  
  69. # def my_max(num1, num2):return num1 if num1>num2 else num2
    #
    #
    # print(my_max(13, 23))
  70.  
  71. - 关键字参数:一一对应
    def func2(a,b):
    print(a,b)
    func2(a=1,b=2)
  72.  
  73. - 混合参数:关键字参数必须在位置参数后面
    def func3(a,b,c,d):
    print(a,b,c,d)
    func3(1,3,d=4,c=9)
  74.  
  75. - 形参角度:
  76.  
  77. - 位置参数:一一对应,按照顺序
  78.  
  79. - 默认参数:默认参数在位置参数的后面
  80.  
  81. - 动态参数:*args **kwargs 万能参数(*在函数定义的时候,代表聚合)魔法应用
    args:所有的位置参数,放在一个元祖中
    kwargs:所有的关键字参数,放在一个字典中
  82.  
  83. def func3(*args,**kwargs): (*在函数定义的时候,代表聚合)
    print(args)
    print(kwargs)
    func3(*[1,2,3],*(22,33)) (*函数执行的时候,代表打散)
  84.  
  85. - 形参的顺序:
    位置参数 --> 默认参数 --> 关键字参数
  86.  

week3_notebooke1的更多相关文章

随机推荐

  1. ContentProvider 的使用

    1.简单示例:通过ContentProvider暴露数据库,然后读取数据. 2.先加上一个工具类,用来使用copy assets下面的db文件代码如下: public class MyDBOpenHe ...

  2. Django mysql 改用pymysql 驱动

    DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', #数据库引擎 'NAME': 'test', #数据库名 'USER' ...

  3. JavaScript Cookies使用

    Cookie 是个存储在客户端(浏览器)记录信息确定用户身份的小文本文件,可以用来跟踪用户当前登陆状态和用户浏览页面的次数,记录用户输入的文本信息,也可以在页面间传递变量,记录用户一些行为. 当浏览器 ...

  4. mvc cshtml 中赋值

    @{ var str = ""; str = item.ApplyStatus == ? ? ? ? "申请驳回" : ""; } < ...

  5. 【seo】title / robots / description / canonical

    1.title title,就是浏览器上显示的那些内容,不仅用户能看到,也能被搜索引擎检索到(搜索引擎在抓取网页时,最先读取的就是网页标题,所以title是否正确设置极其重要. 1)title一般不超 ...

  6. CorelDRAW最高立返500元!还剩30个名额!速抢!

    由于上月CDR X7返利活动收获众多好评 本月官方继续将活动进行到底! 而此次活动不但有上月意犹未尽的CDR X7版,更增加了CDR X6.CDR 2017以及可望不可即的CDR 2018版,可谓是优 ...

  7. MySQL_基本操作

    sql语句 Sql语句主要用于存取数据,查询数据,更新数据和管理数据库系统. #Sql语句分为3种类型 #1.DDL语句:数据库定义语言: 数据库.表.视图.索引.存储过程,例如CREATE DROP ...

  8. Shader渲染动画

    一.概述 先看一下Shader类的介绍: /** * Shader is the based class for objects that return horizontal spans of col ...

  9. vue中数组变动更新检测

    Vue 包含两种观察数组的方法分别如下 1.变异方法 顾名思义,变异方法会改变被这些方法调用的原始数组,它们也将会触发视图更新,这些方法如下 push() pop() shift() unshift( ...

  10. 【hdu 4135】Co-prime

    [题目链接]:http://acm.hdu.edu.cn/showproblem.php?pid=4135 [题意] 让你求出[a..b]这个区间内和N互质的数的个数; [题解] 利用前缀和,求出[1 ...