一篇让你直接入门的 Python 教程(下)

简介: 一篇让你直接入门的 Python 教程(下)

操纵列表

列表可以连在一起:

    >>> fruits = ["apples", "grapes", "oranges"]
    >>> veggies = ["corn", "kale", "mushrooms"]
    >>> grocery_list = fruits + veggies
    >>> grocery_list
    ['apples', 'grapes', 'oranges', 'corn', 'kale', 'mushrooms']

    功能

    通常,您可以将列表看作字符串--只有每一块数据都是一个元素。那么,您在字符串上使用的相同函数可以用于列表。

    len()-给定一个列表,此函数将返回其长度。

    >>> numbers_list = [1, 2, 3, 200]
    >>> len(numbers_list)
    4


    slice()-给定一个开始值和停止值,您可以访问一组元素。

    >>>
    >>> hello = ["H", "e", "l", "l", "o"]
    >>> hello[2]
    'l'
    >>> hello[3]
    'l'
    >>> hello[0]
    'H'
    >>> hello[0:2]
    ['H', 'e']

    数据类型方法

    看看其他列表方法。

    list.append()-用于将项目添加到列表末尾


    >>> numbers_list = [1, 2, 3, 200]
    >>> numbers_list.pop(2)
    3
    >>> numbers_list
    [1, 2, 200]

    list.sort()-对这份清单进行排序

    >>> my_tuple = ("Michael", "Herman", 31, "Software Developer")
    >>> my_tuple[1]
    'Herman'

    list.pop()-给定索引值,从列表中删除元素

    >>> numbers_list = [1, 2, 3, 200]
    >>> numbers_list.pop(2)
    3
    >>> numbers_list
    [1, 2, 200]

    元组    详解

    元组类似于列表,但它们是不可变的--这意味着它们在创建后不能更改。


    my_tuple = ("Michael", "Herman", 31, "Software Developer")

    就像列表一样,您也可以使用索引访问不同的元素:

    >>> first_tuple = (1, 2)
    >>> second_tuple = (3, 4)
    >>> third_tuple = first_tuple + second_tuple
    >>> third_tuple
    (1, 2, 3, 4)

    元组通常用于字典键,因为它们是不可变的。

    操纵元组

    您可以添加两个元组:

    >>> first_tuple = (1, 2)
    >>> list(first_tuple)
    [1, 2]

    功能

    list()-用于将元组转换为列表

    >>> first_tuple=(1,2)

    >>> list(first_tuple)

    [1, 2]

    如何将列表转换为元组

    数据类型方法

    因为元组是不可变的,所以许多列表方法不要用元组。

    >>> first_tuple = (1, 2)
    >>> first_tuple.append(3)
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    AttributeError: 'tuple' object has no attribute 'append'
    >>> first_tuple.pop(1)
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    AttributeError: 'tuple' object has no attribute 'pop'
    >>> first_tuple.sort()
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    AttributeError: 'tuple' object has no attribute 'sort'
    >>> first_tuple.reverse()
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    AttributeError: 'tuple' object has no attribute 'reverse'

    字典    详解

    字典是使用包含键/值对的哈希表实现的关联数组(对象)的一种类型。


    my_dict = {"Key 1": "Value 1", "name": "michael herman", "pi": 3.14}

    可以使用以下语法返回键的值:

    >>> my_dict = {"Key 1": "Value 1", "name": "michael herman", "pi": 3.14}
    >>> my_dict["name"]
    'michael herman'
    >>> my_dict["Key 1"]
    'Value 1'

    (6)用Python编写代码


    在Python中有三种基本的编码方法。我们已经使用了其中之一--交互式PythonShell

    代码编辑器


    最好的方法是使用实际的编码编辑器。有些人更喜欢 IDE,但是一个简单得多的代码编辑器对于学习来说要好得多。

    为什么?当你在学习一些新的东西时,你想尽可能多地剥离复杂的层次。简化事情。通过在混合环境中添加一个复杂的IDE(您将不得不学习如何操作),您只是添加了越来越多的层,使得学习Python的任务更加困难。


    (7)选择编码编辑器


    Python程序的基本形式是将文本(代码)保存在带有.py文件扩展名。Python代码可以用像记事本这样的基本代码编写--但是没有理由让自己经历这样的磨难,因为有更好的选择可供选择。在它的核心部分,代码编辑器应该提供一些特性来帮助程序员创建程序(在我们的例子中,Python脚本和模块)。在大多数情况下,代码编辑器允许用户自定义程序本身,以满足您的需要和样式。


    在代码编辑器中应该寻找什么?

    • 易用性
    • 语法高亮
    • 自动压痕
    • 条形视图
    • 线路编号
    • 能够自定义编辑器的外观和感觉
    • 外接程序的可用性

    请看以下示例:




    因此,代码在编辑器中更容易阅读,还识别了三个简单的错误,其中一个是显示停止。

    (8)数到10

    准备好开始一个基本的例子了吗?!

    如果你是编程新手,你可能不会。充分理解代码,但重要的是这些概念。Python被设计成非常容易阅读,这个例子演示了这个原则。我们将修复上面被破坏的代码,并再添加一个代码块来强调代码块和缩进的概念。

    许多程序员在最初处理问题时会不知所措。一个有效的方法来帮助解决问题,无论大小,是逻辑上把问题分成几个部分。

    例如,让我们编写一个计算从1到10的基本程序。每次计数递增时,我们都想显示一个新的数字,为了帮助实现代码块的概念,我们将展示在我们到达10之后会发生什么。帮助开发工作流的一种方法是使用伪代码。


    让我们制定一个计划(伪代码!)


    不要复制和粘贴,无论它是多么诱人。这样做会妨碍学习。

    Python 2.7:
    # Python 2.7
    count = 1
    # Code block 1
    while count < 11:
        print count
        count = count + 1
    # Code block 2
    if count == 11:
        print 'Counting complete.'
    Python 3:
    # Python 3
    count = 1
    # Code block 1
    while count < 11:
        print(count)
        count = count + 1
    # Code block 2
    if count == 11:
        print('Counting complete.')

    注意,每个示例的第一行都有一个#(散列字符),后面是空格,然后是解释。

    最后,在执行代码时,Python会忽略注释。

    你有没有注意到这些例子同时使用了=,双倍==?这可能会让人困惑。

    1. 表达count = 1
      =
      将1的值赋值给名为count.
    2. 在条件中
      if count == 11:
      ==
      比较count
      带着11
      ,返回布尔值。True
      False


    将文件保存为数到您创建的文件夹中,然后退出编辑器。打开终端或命令提示符,进入到您创建的文件夹。

    现在运行代码:python count_ten.py

    你可能需要替换python带着python3py -3取决于你的设置。

    输出应该如下所示:




    恭喜你!你刚刚写了你的第一个程序。


    (9)错误和例外

    语法错误


    我们已经看到了这个错误--不正确的缩进。语法错误将阻止程序的执行。在本例中,if语句缺少一个冒号以结束该语句。Python非常有助于指出错误:


    >>>
    >>> if x < 9
       File "<stdin>", line 1
         if x < 9
                 ^
    SyntaxError: invalid syntax


    例外


    程序执行过程中会出现异常错误。Python有许多内置的例外。例如:


    >>> 12/0
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    ZeroDivisionError: integer division or modulo by zero


    语义错误

    语义错误是由于逻辑中的一个或多个问题而产生的错误。

    这些错误可能更复杂,因为没有生成错误。代码运行,生成意外和或不能正确的输出,或没有输出。

    (10)Python的功能--包/模块


    Python最大的优点之一是有大量可用的模块,它们都内置在Python核心和第三方包/库-用来扩展语言。这些模块可能非常有用。一些使用较多的内置Python模块包括:

    • 数学
      :C标准库中的数学函数(您已经看到了这个)
    • 随机
      *伪随机数发生器
    • 日期时间
      *用于操纵日期和时间
    • Re
      *用于使用正则表达式

    例如,这里我们import math使用pi, sqrtpow


    警告::不要将您的Python文件命名为类似模块的文件。math.pyrandom.py。这将导致冲突,导致代码中的意外行为。

    PIP

    管理Python的第三方包/模块的最佳方法是PIP。新的编码器在执行某些示例代码时经常会看到以下错误:ImportError: No module named MODULE_XXXX.

    这些模块需要使用Pip手动安装。在Python 3中,pip,调用PIP 3。


    (11)测试你的知识


    1. Python是一种强大的、动态类型的语言,这意味着什么?
    2. 如何访问PythonShell?
    3. 如何声明变量?
    4. 变量名和变量值之间有什么区别?
    5. Python的内置数据类型是什么?
    6. 整数和浮点数有什么区别?
    7. 什么是布尔值?
    8. 是什么 %
    9. 列表和元组有什么区别?
    10. 什么是字典?
    11. 为什么要在代码中使用注释?
    12. 测试 help() 功能
    13. floatdir()功能
    14. None。它代表什么?
    15. 属性检查变量或值的数据类型,type()功能。

    打开文本编辑器并创建一个名为exercise.py。复制并粘贴以下代码到文件中:


    ##########################################################################
    ## Modify the variables so that all of the statements evaluate to True. ##
    ##########################################################################
    var1 =
    var6 =
    var2 =
    var3 =
    var4 =
    var5 =
    ############################################
    ## Don't edit anything below this comment ##
    ############################################
    # integers
    print(type(var1) is int)
    print(type(var6) is float)
    print(var1 < 35)
    print(var1 <= var6)
    # strings
    print(type(var2) is str)
    print(var2[5] == 'n' and var2[0] == "p")
    # lists
    print(type(var3) is list)
    print(len(var3) == 5)
    # tuples
    print(type(var4) is tuple)
    print(var4[2] == "Hello, Python!")
    # dictionaries
    print(type(var5) is dict)
    print("happy" in var5)
    print(7 in var5.values())
    print(var5.get("egg") == "salad")
    print(len(var5) == 3)
    var5["tuna"] = "fish"
    print(len(var5) == 3)

    按照说明完成代码。完成后,从终端运行代码,使用python exercise.py命令。

    相关文章
    |
    2天前
    |
    存储 数据挖掘 数据处理
    使用Python将数据表中的浮点数据转换为整数:详细教程与案例分析
    使用Python将数据表中的浮点数据转换为整数:详细教程与案例分析
    7 2
    |
    2天前
    |
    Python 索引 C语言
    Python3从零基础到入门(2)—— 运算符-3
    Python3从零基础到入门(2)—— 运算符
    |
    2天前
    |
    NoSQL 测试技术 API
    Python 入门指南(七)(4)
    Python 入门指南(七)
    9 0
    |
    2天前
    |
    测试技术 程序员 数据库
    Python 入门指南(七)(3)
    Python 入门指南(七)
    7 0
    |
    2天前
    |
    存储 设计模式 程序员
    Python 入门指南(七)(2)
    Python 入门指南(七)
    9 1
    |
    2天前
    |
    XML 算法 uml
    Python 入门指南(七)(1)
    Python 入门指南(七)
    12 0
    |
    2天前
    |
    机器学习/深度学习 存储 算法
    Python 入门指南(六)(4)
    Python 入门指南(六)
    8 1
    |
    2天前
    |
    设计模式 存储 安全
    Python 入门指南(六)(3)
    Python 入门指南(六)
    10 0
    |
    12月前
    |
    C++ Python
    Python入门学习(1)
    Python入门学习(1)
    |
    机器学习/深度学习 数据采集 人工智能
    Python入门学习
    每一种语言都有各自的思想和优势。或许了解一下,在进行本行的工作时,难免就会想起其他语言的解决方法。何况是人工智能语言非常广泛的python呢
    Python入门学习