zoukankan      html  css  js  c++  java
  • 第二章节

    第二章节

    数据类型和文件类型

    2.1 上章补充-变量的创建过程

    2.1.1

    (变量名指向内存地址)

    查询内存地址>>>id(name)

    python解释器有自动垃圾回收机制,自动隔一段时间把没有跟变量关联的内存数据回收

    2.1.2 变量的指向关系

    name = Alex

    name1 = name

    name1= Alex

    如果这个时候,修改name的值

    name = Jake

    >>>name1 = Alex

    如何判断一个值是不是字符串

    python 中有很多数据类型,查看一个数据的类型的方法是type()

    type(name),type(age)

    type(name) is str

    2.2 上章补充-身份运算和None

    None 什么也没有

    name = None

    age = None

    weight = None

    if name is None:

      print("请输入名字")

    #为什么不用==

    不符合python开发规范

    三元运算

    d= a if a > 15 else b

    d = 值1 if 条件A else 值32

    如果条件A成立,就取左边的值1,否则取值2

    2.3 细讲数据类型-列表

    列表的特点:

    1.可存放多个值

    2.按照从左到右的顺序定义列表元素,下标从0开始顺序访问,有序

    3.可修改制定索引位置对应的值,可变

    列表的增加操作

    追加,数据会追加到尾部  append 

    插入,可插入任何位置 insert

    合并,可以把另一外列表的值合并起来 extend

     

    n2=["a,"b,"c"]

    names = ["1","2","3","4"]

    names.extend(n2)=  ["1","2","3","4","a,"b,"c"]

    列表的嵌套

    insert

     删除操作

    del 直接删除

    pop 删  【删除并返回最后一个值】【删除指定元素】

    # name.pop()  如果列表内没有元素为空,再执行pop就会报错

    clear 清空

    remove

    从左到右的第一个,如果有两个,则会删除从左到右的第一个

    如果元素内没有,则报错

    修改操作

    赋值

    查操作

    如果查询的元素不在列表里,则会报错

    切片

    切片就像切面包,可以同时取出元素的多个值

    切片的特性是顾头不顾尾,即start的元素会被包含,end-1是实际取出来的值

     (a[1:5],其实就是从第二个切到第四个)

    倒着切

    >>>a=[1,2,3,4,5,6,7,8,0]

    >>>a [-5:-1]

    >>>a=[5,6,7,8]

    步长

    步长:步子的长度

    步长-1代表真正的从右往左走

     列表的反转

    -步长,即可实现列表的反转

    字符串的反转

      

    for循环

    2.4 细讲数据类型-元祖

     特点:

    不可变,只读列表;

    name=("","","",)

    2.5 细讲数据类型-字符串

    2.6 细讲数据类型-字典

     1.字典的定义:{key1:value1,key2:value2}

    2.字典的特性:

    1.key-value结构

    2.key必须可hash,且必须为不可变数据类型、必须唯一

    3.可存放任意多个值,可修改,可以不唯一

    4.无序

    字典的创建

    1、

    2、dict

    3.fromkeys

    {}.fromkeys(seq,100)#不指定100默认为None

    info= {“name”= "py","age"= 23}

    d= {1,2,3,"Alex"}

     字典中items()的用法:

    将字典以列表返回可遍历的(键,值)元祖数组

    d = {1:'a',2:'b',3:'c'}
    print(d.items())

    输出结果:

    dict_items([(1, 'a'), (2, 'b'), (3, 'c')])

    dict.keys()函数:以列表返回一个字典所有的键

    d = {1:'a',2:'b',3:'c'}
    print(dict.keys(d))
    

     输出结果:

    dict_keys([1, 2, 3])

     dict.values()函数:以列表返回字典中的所有值

    2.7 细讲数据类型-集合

    集合的元素有三个特性:

    1. 确定性

    2.互异性

    3.无序性

    集合的关系运算

    包含关系

    in   not in  判断元素是否在集合内

    ==   !=   判断两个集合是否相等

    两个集合之间一般有是三种关系:相交,包含,不相交

    set.isdisjoint()    判断两个集合是不是相交
    set.issuperset()  判断两个几个是不是包含其他集合,等同于a>=b
    set.issubset()  判断集合是不是被其他集合包含  等同于a<=b

    集合的常用操作

    元素的增加

    单个元素的增加:add(),add类似于列表的append

    >>> a = {1,2}
    >>> a.add("hello")
    >>> a
    {1, 2, 'hello'}
    >>>

    对序列的增加:update()

    >>> a = {1,2}
    >>> a.update([3,4],[1,2,7])
    >>> a
    {1, 2, 3, 4, 7}
    >>>

    元素的删除

    1.元素不在原集合中时:

    set.discard()  不会抛出异常

    a = {1,2}
    a.update([3,4],[1,2,7])
    a.update("hello")
    print(a)
    a.discard(1)  #元素在集合内
    print(a)
    a.discard(8)  #元素不在集合内
    print(a)

    输出结果:

    {'l', 1, 2, 3, 4, 'o', 7, 'e', 'h'}
    {'l', 2, 3, 4, 'o', 7, 'e', 'h'}
    {'l', 2, 3, 4, 'o', 7, 'e', 'h'}

    set.remove()   会抛出keyerror错误

    a = {1,2}
    a.update([3,4],[1,2,7])
    a.update("hello")
    print(a)
    a.remove(7)
    print(a)  #元素在集合内    
    a.remove("x")   #元素不在集合内
    print(a)
    

    输入结果:

    Traceback (most recent call last):
      File "D:/py/test/第四章/homework/test.py", line 7, in <module>
        a.remove("x")   #元素不在集合内
    KeyError: 'x'
    {1, 2, 3, 4, 7, 'h', 'l', 'o', 'e'}
    {1, 2, 3, 4, 'h', 'l', 'o', 'e'}

    pop()  由于集合是无需的,pop返回的结果不能确定,且当集合为空是调用pop会抛出keyerror错误

    a = {1,2}
    a.update([3,4],[1,2,7])
    a.update("hello")
    print(a)
    a.pop(9)  #不在集合内
    print(a)
    

    输出结果:

    Traceback (most recent call last):
      File "D:/py/test/第四章/homework/test.py", line 5, in <module>
        a.pop(9)
    TypeError: pop() takes no arguments (1 given)
    {1, 2, 3, 4, 7, 'h', 'l', 'o', 'e'}
    
    a = {1,2}
    a.update([3,4],[1,2,7])
    a.update("hello")
    print(a)
    a.pop()
    print(a)
    

    输出结果:

    {1, 2, 3, 4, 'l', 7, 'h', 'e', 'o'}
    {2, 3, 4, 'l', 7, 'h', 'e', 'o'}

    chear() 清空集合

    a = {1,2}
    a.update([3,4],[1,2,7])
    a.update("hello")
    print(a)
    a.clear()
    print(a)
    

    输出结果:

    {1, 2, 3, 4, 7, 'h', 'e', 'o', 'l'}
    set()

    2.8 秒懂二进制

    2.9 秒懂十六进制

    2.10 字符编码之文字是如何显示的

    2.11 hash是个什么东西

    2.12 用python操作文件

    2.13本章练习题&作业

  • 相关阅读:
    【转载】Hadoop 文件副本存放的位置策略
    【原创】Hadoop 常用命令集锦
    【转载】centos6.2下安装星际译王stardict3.0
    【转载】hadoop之failed task任务和killed task任务
    【原创】linux 下远程连接windows桌面
    【原创】Hadoop配置详解
    【原创】Pig 0.10.0 piggybank 如何编译
    【转载】关于hadoop的dfs.replication
    【原创】centos 安装 thrift 0.8
    【原创】ASP.NET常见问题集锦
  • 原文地址:https://www.cnblogs.com/hantongxue/p/11295207.html
Copyright © 2011-2022 走看看