python 基础 数据类型

发布时间:2019-09-11 07:46:27编辑:auto阅读(1841)

    1、变      量:变量是计算机内存中的一块儿区域,变量可以存储规定范围内的值,而且值可以改变。

      范    例: a a1 a_ a_1

         变量命名:变量名有字母、数字、下划线组成;
                        
      数字不能开头,或 纯数字;                     

                                 不可以使用关键字;

          #数字不可以开头:SyntaxError: invalid syntax 语法错误;

        #变量是一个标签  

    >>> id(a)
    7989040
    #id()查看内存地址;
    #变量是对赋值的一个引用;
    #同样的一个地址空间,可以有多个标签;
    >>> b=1
    >>> id(b)
    7713592

    2、python赋值

    python赋值方式简介                          
     增量赋值 
       x=2 ; x+=2
     多重赋值
        a=b=c=10
     多元赋值
    x,str1 = 10,"test"


    3、python运算符

    wKioL1WCeLjQpL0OAAKLUdOlB-U700.jpg

        #运算符的优先级
         单纯的算术运算和数据法则是一致的。
         a=2+4*4
         赋值运算
         数算运算符高与赋值运算

        #计算器

    #!/usr/bin/python
    a = int(raw_input("please input number1:"))
    b = int(raw_input("plwase input number2:"))
    print a+b
    print a-b
    print a*b
    print a%b
    #raw_input() 方法 
    #int() 定义数值类型,字符串无法相加


    4、数据类型
         #不需要事先申明,根据事物的特点
          数字   

    整型int范围:-2147 483 648 到 2147 483 647

    >>> num1=123
    >>> id(num1)
    21892896
    >>> type(num1)
    <type 'int'>
    长整型long范围:区分普通整数和长整数,需要在整数后加L或者小写l

    >>> num1=2L
    >>> type(num1)
    <type 'long'>
    #存的值只有2
    #建议使用大写的L
    #人为定义长整型
     浮点型 :(小数型)flote 定义:需要加一个小数点

    >>> x=3e+7
    >>> type(x)
    <type 'float'>
    >>> a=1.0
    >>> type(a)
    <type 'float'>
    复数型complex 定义:小写字母j 表示定义一个复数类型

    例:3.14j、8.32e-36j
    >>> num1=3.145j
    >>> type(num1)
    <type 'complex'>

         序列类型的数据

     序列的两个主要特点:

     索引操作符:从序列中抓取特定项目
     切片操作符:获取序列的一个切片,即一部分序列
    字符串 string 

    范例:使用引号定义的一组可以包含数字、字母,符号(非特殊系统符号)集合

               a="abced"

    操作: >>> a[1]
           'b'
           #索引,从0开始
           >>> a[0]+a[1]
           'ab'
     元组 tuple
    范例:t=("name","kong","age","18")
         定义单一元组
         cc=("my name kong",)
         #注意要添加一个逗号
         #定义空的元组由一对空的圆括号组成
    操作:>>> t=("milo","30","male")
          >>> name,age,gender=t
          >>> name
          'milo'
          类似于>>> a,b,c=1,2,3
          >>> a
          1
          >>> b
          2
          >>> a,b,c=(1,2,3)  
          #注意添加小括号
          >>> t=["name","age"]
          >>> t1=["kong","age"]
          >>> zip(t,t1)
          [('name', 'kong'), ('age', 'age')]
          #zip遍历, 变为元组,但没有绝对的联系
    元组和列表十分相似,只不过元组和字符串一样是不可变的,即不能修改元组。   
    元组通过圆括号中用逗号分隔的项目定义   
    元组通常用在使语句或用户定义的函数能够安全的采用一组值的时候,即被使用的元组值不会改变。
    列表list 范例:>>> list1=["milo","30","male",]
           >> list1
           ['milo', '30', 'male']
           二元列表
           list1=["milo","30","['a','b',1]","male",]   
     
    操作: >>> list1=["milo","30","male",]
           >>> list1
           ['milo', '30', 'male']
           >>> list1[0]
           'milo'
           >>> list1[0]=("kong")
           >>> list1[0]="kong" 
           >>> list1
           ['kong', '30', 'male']
           # 列表的重新赋值,取值和元组相同;
           # 单个值的定义不需要有逗号,也是列表;
           添加:
           #借助列表类型的方法
           >>> list1
           ['kon', '30', 'male', '12345678']
           >>> list1.append('phone')
           >>> list1
           ['kon', '30', 'male', '12345678', 'phone']
           删除:
           list1.remove("12345678")
           #如果有多个,它会选择第一个剔除
           或者:list1.remove(list1[3]) 
           #注意list1是一个变量 ,即要操作的列表名
           ['kongjiagou', '1233e2e32']
           >>> del(mail[0])
    list 是处理一组有序项目的数据结构,即你可以在一个列表中存储一个序列的项目;
    列表是可变类型的数据 ;
    列表的组成:用[]表示列表,包含了多个以逗号隔开的数字,或者字符串;
    序列的基本操作:

    1、len(): 求序列长度
    2、     + :连接两个序列
    3、 *     : 重复序列元素  "#"*50
    4、in     :判断元素是否在序列中
    5、max():返回最大值
    6、min():返回最小值
    7、cmp(tuple1,tuple2) 比较两个序列值是否相同
    字典
    范例: 创建字典使用{}
          >>> dic={"name":"kong","age":"232"}
          >>> dic["name"]
          'kong'
          混合类型的定义
          >>> dic1={1:'name','age':20,'d':'1232'}
          >>> dic1[1]
          'name'
    操作:for循环遍历:
          >>> dic1
          {1: 'name', 'age': 20, 'd': '1232'}
          >>> for k in dic1:
          ...     print k
          ... 
          1
          age
          d
          >>> for k in dic1:
          ...     dic1[k]
          ... 
          'name'
          20
          '1232'
    字典是python中唯一的映射类型(哈希表#无序的) ;   
    字典对象是可变的,但是字典的键必须使用不可变对象,并且一个字典中可以使用不同类型的健值。
    keys()或者values()返回键列表或者值列表;
    items()返回包含健值对的元组;
    #工厂方法dict()生成字典,但是它比较慢,效率低,另一种方式是fromkeys(),字典中的元素具有相同的值,默认为none,最常用的还是{}  
    #访问字典的值:可以直接使用key访问:key不存在会报错,可以使用had_key()或者in 和not in判断,但是has_key()方法即将废弃。   




    附:使用引号的区别


    >>> str1="abcdefssfs"
    >>> 'c' in str1
    True
    >>> str1="abcded"
    >>> 'a' in str1
    True
    >>> a=100
    >>> 'a' in str1
    True
    >>> a in str1
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    TypeError: 'in <string>' requires string as left operand, not int
    #注意引号的使用,它是区分字符串和变量的方法

    附:定义变量时,数字加引号和不添加引号的区别;


    >>> a=123
    >>> stra="123"
    >>> print a
    123
    >>> print stra
    123
    >>> a+stra
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    TypeError: unsupported operand type(s) for +
    : 'int' and 'str'
    >>> type(stra)
    <type 'str'>                                                 
    #类型为字符串

    附:单引号,双引号,三重引号的区别;


    >>> str1='hello word'
    >>> str2="hello good"
    >>> str3="I'm is kong"
    >>> type(str3)
    <type 'str'>
    #单引号和双引号没有任何区别,区分对待(例如:let's go)
    #如果更复杂可以使用转义符号\(例如:>>> say="let's \"go\"" )
    #控制字符串换行,需要使用转义字符 换行\n
    >>> mail="hello \n my name is kong"
    >>> print mail
    hello 
     my name is kong

     

    附:""" 三重引号 的使用


    >>> mail="""tom:
    ...     i am jack
    ...     good bay
    ... """
    >>> mail
    'tom:\n\ti am jack\n\tgood bay\n'
    >>> print mail
    tom:
        i am jack
        good bay




关键字