zoukankan      html  css  js  c++  java
  • python中的变量和数据类型

    一、变量定义:变量是计算机内存中的一块区域,存储规定范围内的值,值 可以改变,通俗的说变量就是给数据起个名字。

    二、变量命名规则:

    1. 变量名由字母、数字、下划线组成

    2. 数字不能开头

    3. 不可以使用关键字, 举例:a,a1,a_1

    三、变量的赋值:

    1. Python中的变量不需要声明,变量的赋值就是变量声明和 定义的过程;

    2. 每个变量在使用前都必须赋值,变量赋值以后该变量才会 被创建;

    3. 等号(=)用来给变量赋值,等号(=)运算符左边是一个 变量名,等号(=)运算符右边是存储在变量中的值。 举例:a=1

    四、多个变量赋值:

    Python允许同时为多个变量赋值。

    例如:a = b = c = 1 也可以为多个对象指定多个变量。

    例如:a2,b2,c2 = "zz",18,1

    五、变量分类:

    1. 不可变变量:数字、元组()、字符串 (值变的时候会指向一个新的地址)

    2. 可变变量:列表[]、字典{} (值变,id不变)

    六、标准数据类型:

    Numbers(数字):整形、长整形(123L,超出int自动转成 long)、浮点型、复数型(a=1j)

    String(字符串):" " ' ' """ """

    List(列表):[],值可变

    Tuple(元组):(),值不可变

    Dictionary(字典):{}

    6.1、数字类型:Number

    数字数据类型用于存储数值。是不可改变的数据类型(不可变 变量),这意味着改变数字数据类型会分配一个新的对象。 当指定一个值时,Number对象就会被创建:num = 123 Python支持四种不同的数字类型:

    1. int(有符号整型)

    2. long(长整型[也可以代表八进制和十六进制])

    3. float(浮点型)

    4. complex(复数)

    6.2、字符串:String

    字符串(String)是由数字、字母、下划线组成的一串字符。

    加号(+)是字符串连接运算符,星号(*)是重复操作。

    6.3、字符串格式化:

    Python 支持格式化字符串的输出 。

    最基本的用法是将一个值插入到一个有字符串格式符 %s 的字 符串中。

    例如:

    6.4、list:列表

    列表可以完成大多数集合类的数据结构实现。 它支持字符,数字,字符串甚至可以包含列表(所谓嵌套)。

    加号(+)是列表连接运算符,星号(*)是重复操作。

    常见列表操作:

    list.append(obj) 在列表末尾添加新的对象

    list.insert(index, obj) 将对象插入列表

    list.index(obj) 从列表中找出某个值第一个匹配项的索引位置

    list.count(obj) 统计某个元素在列表中出现的次数

    list.extend(seq) 在列表末尾一次性追加另一个序列中的多个值(用 新列表扩展原来的列表)

    del(list[index]) 删除某个元素

    list.remove(obj) 删除第一个匹配的元素

    list.pop(index) 移除列表中的一个元素(默认最后一个元素),并 且返回该元素的值

    list.sort() 对原列表进行排序

    list.reverse() 反向列表中元素

    6.5、元祖:Tuple

    元组用"()"标识,类似于List(列表),但是元组是不可变变量,元素不能二 次赋值,相当于只读列表。

    如下实例:

    >>> list=[1,2,3]

    >>> tuple=(4,5,6)

    >>> list[0]=10

    >>> list [10, 2, 3]

    >>> tuple[0]=40

    Traceback (most recent call last):

      File "<pyshell#26>", line 1, in <module> 

      tuple[0]=40

    TypeError: 'tuple' object does not support item assignment

    6.6、dictionary:字典

    字典由索引(key)和它对应的值(value)组成,字典是Python唯一的映射类型。

    字典也被称作关联数组或哈希表。

    keys() 返回键列表,values() 返回值列表,items() 返回键值对的元组,has_key(key) 返回是否含有该key。

    两个重要的点需要记住:

    1.字典中的键必须独一无二,但值则不必。创建时如果同一个键被赋值两次,后一个值会被记住;

    2. 键必须不可变,可以用数字,字符串或元组充当,但是不可以用列表。

    创建字典的两个方法:

    1. 使用工厂方法dict()创建字典:

    例:

    2. 内建方法fromkeys(),字典中的元素具有相同的值,默认 为None

    例:

    查看遍历字典

    查看字典中的值:

    1. dict[key]

    2. dict.get(key,value)

    两种遍历字典的方法:

    1. for key in dict:

       print key, dict[key]

    2. for key, value in dict.items():

      print key, value

    增改删字典:

    dict[key]=value#无该key增加,有则更新该key对应的value

    dict1.update(dict2) #更新dict2到dict1,无则添加,重复则覆盖

    dict.pop(key)#删除指定的键值,返回对应的值

    dict.clear() #清空字典

    del dict #彻底删除       

     7、json模块

    http://wthrcdn.etouch.cn/weather_mini?city=北京

    通过城市名称,获得天气数据

    import json

    json.dumps() #编码,字典转成字符串

    json.loads() #解码,字符串转成字典

    8、数据类型转换

    • 字典可转换为字符串、元组、列表

      方式str(dict)、tuple(dict)、list(dict)

    • 元组转换为字符串、列表

      如:t=(1,2,3)

      转换成字符串:t.__str__()

      转换成列表:list(t)

    • 列表转换为字符串、元组

      

      

    • 字符串转换为元组、列表、字典

      转为元组和列表:

      

      转为字典:

       

    9、序列操作

    序列包括:字符串、列表、元组 序列的两个特征是“索引”和“切片” 索引,根据index获取特定元素 切片,获取序列片段

    序列操作应用:

    最后举个工作中用到的小例子,数据存在一个列表中,如:

    list=['23.34%','30.88%','15.90%'] 需要取列表中的值与已知数据进行大小比较,为了方便比较, 想到先去掉最后的%,然后将字符串转换成float,用切片很 容易实现: >>> list=['23.34%','30.88%','15.90%']

    >>> float(list[0][:-1])

    23.34

    常见序列操作:

    len() 求长度

    + 连接两个序列

    * 重复序列元素

    in 判断元素是否在序列中

    max() 返回最大值

    min() 返回最小值

    cmp() 比较两个序列

  • 相关阅读:
    spark streaming 概述
    spark sql 的性能调优
    LeetCode 106. Construct Binary Tree from Inorder and Postorder Traversal (用中序和后序树遍历来建立二叉树)
    LeetCode 105. Construct Binary Tree from Preorder and Inorder Traversal (用先序和中序树遍历来建立二叉树)
    LeetCode 90. Subsets II (子集合之二)
    LeetCode 88. Merge Sorted Array(合并有序数组)
    LeetCode 81. Search in Rotated Sorted Array II(在旋转有序序列中搜索之二)
    LeetCode 80. Remove Duplicates from Sorted Array II (从有序序列里移除重复项之二)
    LeetCode 79. Word Search(单词搜索)
    LeetCode 78. Subsets(子集合)
  • 原文地址:https://www.cnblogs.com/yueya/p/5811998.html
Copyright © 2011-2022 走看看