zoukankan      html  css  js  c++  java
  • &【03】Python 变量与数据类型概览

    本文参考:

    纯洁的微笑:http://www.ityouknow.com/python.html

    变量

    变量命名规则:

    • 变量名只能是字母,数字和下划线的任意组合
    • 变量名第一个字符不能是数字
    • 变量名区分大小写,大小写字母被认为是两个不同的字符
    • 特殊关键字不能命名为变量名

    声明变量

    Python 中的变量不需要声明,每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。在 Python 中,变量就是变量,它没有类型,我们所说的”类型”是变量所指的内存中对象的类型。

    name = "neo"

    上述代码声明了一个变量,变量名为:name, 变量 name 的值为”neo”。

    变量赋值

    在 Python 中,等号 = 是赋值语句,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量。

    a = 123 # a 是整数
    a = 'abc' # a 是字符串

    这种变量本身类型不固定的语言称之为动态语言,与之对应的就是静态语言。静态语言在定义变量时必须指定变量类型,如果赋值的时候类型不匹配,就会报错。例如 Java 是静态语言,这样赋值就会报错:

    多个变量赋值

    Python 允许你同时为多个变量赋值。例如:

    a = b = c = 1

    以上实例,创建一个整型对象,值为 1,从后向前赋值,三个变量被赋予相同的数值。

    您也可以为多个对象指定多个变量。例如:

    a, b, c = 1, 2, "neo"

    以上实例,两个整型对象 1 和 2 的分配给变量 a 和 b,字符串对象 “neo” 分配给变量 c。

    常量

    所谓常量就是不能变的变量,比如常用的数学常数 π 就是一个常量。在 Python 中,通常用全部大写的变量名表示常量:

    BI = 3.14

    但事实上 BI 仍然是个变量,Python 根本无法保证 BI 不会被改变,所以,用全部大写的变量名表示常量只是一个习惯上的用法,如果你一定要改,语法也不会报错。

    数据类型

    Python3中有六个标准的数据类型:

    Number(数字)
    String(字符串)
    List(列表)
    Tuple(元组)
    Set(集合)
    Dictionary(字典)

    Python3 的六个标准数据类型中:

    • 不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
    • 可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。

    Number(数字)

    Python3 支持 int、float、bool、complex(复数)。

    数字类型是顾名思义是用来存储数值的,需要记住的是,有点和 Java 的字符串味道差不多,如果改变了数字数据类型的值,将重新分配内存空间。

    Python 支持三种不同的数值类型:

    • 整型(Int) - 通常被称为是整型或整数,是正或负整数,不带小数点。Python3 整型是没有限制大小的,可以当作 Long 类型使用,所以 Python3 没有 Python2 的 Long 类型。
    • 浮点型(float) - 浮点型由整数部分与小数部分组成,浮点型也可以使用科学计数法表示(2.5e2 = 2.5 x 102 = 250)
    • 复数( (complex)) - 复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型。

    示例:

    #!/usr/bin/python3
    
    counter = 100          # 整型变量
    miles   = 1000.0       # 浮点型变量
    name    = "test"     # 字符串
    
    print (counter)
    print (miles)
    print (name)

    数字类型转换

    • int(x) 将x转换为一个整数。
    • float(x) 将x转换到一个浮点数。
    • complex(x) 将x转换到一个复数,实数部分为 x,虚数部分为 0。
    • complex(x, y) 将 x 和 y 转换到一个复数,实数部分为 x,虚数部分为 y。x 和 y 是数字表达式。 额外说明

    和别的语言一样,数字类型支持各种常见的运算,不过 Python 的运算比别的大多数常见语言都更加丰富,此外,还有大量丰富的方法,提供更高效的开发。

    数值运算示例:

    print (5 + 4)  # 加法   输出 9
    print (4.3 - 2) # 减法   输出 2.3
    print (3 * 7)  # 乘法  输出 21
    print (2 / 4)  # 除法,得到一个浮点数    输出 0.5
    print (2 // 4) # 除法,得到一个整数 输出 0
    print (17 % 3) # 取余   输出 2
    print (2 ** 5) # 乘方  输出 32

    String(字符串)

    创建字符串可以使用单引号、双引号、三单引号和三双引号,其中三引号可以多行定义字符串,Python 不支持单字符类型,单字符也在Python也是作为一个字符串使用。

    我们定义一个 s=’python’语句,它在计算机中的执行顺序是先在内存中创建一个字符串 Python ,在程序栈寄存器中创建一个变量 s,最后把 Python 的地址赋给s 。

    再来看看字符串的一些常见操作:

    s = '学习Python'
    
    #切片
    print(s[0]) #学
    print(s[-1]) #n
    print(s[3:]) #ython
    print(s[::-1]) #nohtyP习学
    print(s[:-1]) #学习Pytho
    print(s[::-2]) #nhy习
    
    # 替换,还可使用正则表达式替换
    print(s.replace('Python', 'Java')) #学习Java
    
    
    
    

    List(列表)

    类似 Java List 集合接口

    列表是写在方括号 [] 之间、用逗号分隔开的元素列表,列表可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套),列表中的元素是可以改变。

    示例:

    Weekday = ['Monday','Tuesday','Wednesday','Thursday','Friday']
    
    print(Weekday[0]) #输出 Monday
    
    #list 搜索
    print(Weekday.index('Wednesday')) #输出 2
    
    #list 增加元素
    Weekday.append('new')
    
    #list 删除
    Weekday.remove('Monday')

    Tuple(元组)

    元组(tuple)与列表类似,不同之处在于元组的元素不能修改。元组写在小括号 () 里,元素之间用逗号隔开,组中的元素类型也可以不相同。

    示例:

    letters = ('a','b','c','d','e','f','g')
    print(letters[0])  # 输出 'a'
    print(letters[0:3])  # 输出一组 ('a', 'b', 'c')

    Set(集合)

    类似 Java Set 集合接口

    集合(set)是一个无序不重复元素的序列,使用大括号 {} 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 {} ,因为 {} 是用来创建一个空字典。

    集合不能被切片也不能被索引,除了做集合运算之外,集合元素可以被添加还有删除:

    示例:

    a_set = {1,2,3,4}
    # 添加
    a_set.add(5)
    print(a_set)  # 输出{1, 2, 3, 4, 5}
    # 删除
    a_set.discard(5)
    print(a_set)  # 输出{1, 2, 3, 4}

    Dictionary(字典)

    类似 Java Map 集合接口

    字典是一种映射类型,它的元素是键值对,字典的关键字必须为不可变类型,且不能重复。创建空字典使用 {} 。

    示例:

    Logo_code = {
    'BIDU':'Baidu',
    'SINA':'Sina',
    'YOKU':'Youku'
    }
    print(Logo_code)
    # 输出{'BIDU': 'Baidu', 'YOKU': 'Youku', 'SINA': 'Sina'}
    print (Logo_code['SINA'])       # 输出键为 'one' 的值
    print (Logo_code.keys())   # 输出所有键
    print (Logo_code.values()) # 输出所有值
    print (len(Logo_code))  # 输出字段长度
  • 相关阅读:
    查询父节点parentNode
    008-流程控制 case 语句
    007-流程控制 if 语句
    006-条件判断
    005-sort 命令使用
    004-sed 命令使用
    003-awk 命令使用
    002-printf 命令用法
    001-cut 的用法
    002-变量
  • 原文地址:https://www.cnblogs.com/doagain/p/15521586.html
Copyright © 2011-2022 走看看