zoukankan      html  css  js  c++  java
  • Python3简明教程(二)—— 变量和数据类型

    关键字和标识符

    下列的标识符是Python3的关键字,并且不能用于通常的标识符。关键字必须严格按照下面的拼写:

    False               def                 if                  raise
    None                del                 import              return
    True                elif                in                  try
    and                 else                is                  while
    as                  except              lambda              with
    assert              finally             nonlocal            yield
    break               for                 not                 
    class               from                or                  
    continue            global              pass

    这些内容可以在Python3解释器中得到:

    变量

    在Python中我们不需要为变量指定数据类型,每个变量使用前必须赋值,变量赋值以后该变量才会被创建(即在内存中分配空间)。所以你可以直接写 abc = 1,这样变量abc就是整数类型。如果你写 abc = 1.0,那么变量abc就是浮点类型。

    1 >>> a = 13
    2 >>> b = 23
    3 >>> a + b
    4 36

    通过上面的例子你应该理解了如何在Python中定义变量,也就是只需输入变量名和值就行了。

    单行定义多个变量或赋值

    你甚至可以在一行内将多个值赋值给多个变量。例如:

    1 >>> a , b = 45, 54
    2 >>> a
    3 45
    4 >>> b
    5 54

    这个技巧用来交换两个数的值非常方便:

    1 >>> a, b = b , a
    2 >>> a
    3 54
    4 >>> b
    5 45

    要明白这是怎么工作的,你需要学习元组(tuple)这个数据类型。我们是用逗号创建元组。在赋值语句的右边我们创建了一个元组,我们称这为元组封装(tuple packing),赋值语句的左边我们称作元组拆封(tuple unpacking)。

    下面是另一个元组拆封的例子:

    >>> data = ("shiyanlou", "China", "Python")
    >>> name, country, language = data
    >>> name
    'shiyanlou'
    >>> country
    'China'
    >>> language
    'Python'

    标准数据类型

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

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

    其中:

    • 不可变数据(3个):Number、String、Tuple
    • 可变数据(3个):List、Set、Dictionary

     

    Number

    Python3支持int、float、bool、complex。

    在Python3中只有一种数据类型int,表示为长整型,没有Python2中的Long。

    内置的type()函数可以用来查询变量所指的对象类型。例如:

    >>> a, b, c, d = 20, 5.5, True, 4+3j
    >>> print(type(a), type(b), type(c), type(d))
    <class 'int'> <class 'float'> <class 'bool'> <class 'complex'>

     

    String

    Python中的字符串用单引号或者双引号括起来,同时使用反斜杠转移特殊字符。

    字符串的截取

    字符串的截取语法格式:

    变量[头下标:尾下标]

    返回值是左闭右开,索引值从0开始,-1为末尾的位置:



    字符串格式化

    #!/usr/bin/env python3
    amount = float(input("Enter amount: "))  # 输入数额
    inrate = float(input("Enter Interest rate: "))  # 输入利率
    period = int(input("Enter period: "))  # 输入期限
    value = 0
    year = 1
    while year <= period:
        value = amount + (inrate * amount)
        print("Year {} Rs. {:.2f}".format(year, value))
        amount = value
        year = year + 1

    Year {} Rs. {:.2f}".format(year, value) 称为字符串格式化,大括号和其中的字符会被替换成传入 str.format() 的参数,也即year和value。其中, {:.2f} 的意思是替换为两位精度的浮点数。

    又例如,在下面的程序里,我们使用公式 C = (F - 32) / 1.8 将华氏温度转为摄氏温度。

    #!/usr/bin/env python3
    fahrenheit = 0
    print("Fahrenheit Celsius")
    while fahrenheit <= 250:
        celsius = (fahrenheit - 32) / 1.8 # 转换为摄氏度
        print("{:5d} {:7.2f}".format(fahrenheit , celsius))
        fahrenheit = fahrenheit + 25

    {:5d} 的意思是替换为 5 个字符宽度的整数,宽度不足则使用空格填充。 {:7.2f}的意思是替换为为7个字符宽度的保留两位的小数,小数点也算一个宽度,宽度不足则使用空格填充。其中7指宽度为7,.2f 指保留两位小数。

     

    List

    List(列表)是Python中使用最频繁的数据类型。列表是写在方括号 [] 之间、用逗号分隔开的元素列表。

    列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套)。

    列表的截取

    和字符串一样,列表同样可以被索引和截取(也叫切片),列表被截取后返回一个包含所需元素的新列表,且索引的规则相同。例如:




    列表的运算

    加号 + 是列表连接运算符,星号 * 是重复操作。如下实例:

    >>> a = 'abc'
    >>> a * 2
    'abcabc'
    >>> a + 'def'
    'abcdef'
    >>> 

     

    Tuple

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

    索引、截取和运算都与字符串和列表相同。其实,可以把字符串看作一种特殊的元组。

     

    Set

    集合(set)是由一个或数个形态各异的大小整体组成的,构成集合的事物或对象称作元素或是成员。基本功能是进行成员关系测试和删除重复元素。

    可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

    集合的创建与运算

     1 #!/usr/bin/python3
     2  
     3 student = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'}
     4  
     5 print(student)   # 输出集合,重复的元素被自动去掉
     6  
     7 # 成员测试
     8 if 'Rose' in student :
     9     print('Rose 在集合中')
    10 else :
    11     print('Rose 不在集合中')
    12  
    13 # set可以进行集合运算
    14 a = set('abracadabra')
    15 b = set('alacazam')
    16 print(a)
    17 print(a - b)     # a 和 b 的差集
    18 print(a | b)     # a 和 b 的并集 
    19 print(a & b)     # a 和 b 的交集
    20 print(a ^ b)     # a 和 b 中不同时存在的元素

    输出结果:

    {'Rose', 'Jim', 'Jack', 'Tom', 'Mary'}
    Rose 在集合中
    {'r', 'd', 'c', 'a', 'b'}
    {'r', 'd', 'b'}
    {'r', 'd', 'a', 'z', 'c', 'm', 'l', 'b'}
    {'a', 'c'}
    {'r', 'd', 'z', 'm', 'l', 'b'}

     

    Dictionary

    字典(dictionary)是Python中另一个非常有用的内置数据类型。字典是一种映射类型,字典用 { } 标识,它是一个无序的 键(key) : 值(value) 的集合。

    键(key)必须使用不可变类型。在同一个字典中,键(key)必须是唯一的。

    字典与列表有相似之处,列表是有序的对象集合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移(索引)存取。

    参考链接:

    1、https://www.shiyanlou.com/courses/596

    2、http://www.runoob.com/python3/python3-data-type.html

  • 相关阅读:
    after change the pltask.cfg
    C++ map的基本操作和用法
    const char * char * const 以及char const *
    遇到segmentation fault 错误
    编译和链接通过生成可执行文件,但运行时找不到动态库
    Invalid Issuer
    数据库的相关操作
    Go项目实战:打造高并发日志采集系统(六)
    Go项目实战:打造高并发日志采集系统(五)
    Go项目实战:打造高并发日志采集系统(四)
  • 原文地址:https://www.cnblogs.com/lfri/p/10367362.html
Copyright © 2011-2022 走看看