一篇让你直接入门的 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命令。

    相关文章
    |
    14天前
    |
    存储 数据采集 人工智能
    Python编程入门:从零基础到实战应用
    本文是一篇面向初学者的Python编程教程,旨在帮助读者从零开始学习Python编程语言。文章首先介绍了Python的基本概念和特点,然后通过一个简单的例子展示了如何编写Python代码。接下来,文章详细介绍了Python的数据类型、变量、运算符、控制结构、函数等基本语法知识。最后,文章通过一个实战项目——制作一个简单的计算器程序,帮助读者巩固所学知识并提高编程技能。
    |
    6天前
    |
    数据可视化 DataX Python
    Seaborn 教程-绘图函数
    Seaborn 教程-绘图函数
    37 8
    |
    6天前
    Seaborn 教程-主题(Theme)
    Seaborn 教程-主题(Theme)
    26 7
    |
    6天前
    |
    Python
    Seaborn 教程-模板(Context)
    Seaborn 教程-模板(Context)
    27 4
    |
    6天前
    |
    数据可视化 Python
    Seaborn 教程
    Seaborn 教程
    24 5
    |
    15天前
    |
    IDE 程序员 开发工具
    Python编程入门:打造你的第一个程序
    迈出编程的第一步,就像在未知的海洋中航行。本文是你启航的指南针,带你了解Python这门语言的魅力所在,并手把手教你构建第一个属于自己的程序。从安装环境到编写代码,我们将一步步走过这段旅程。准备好了吗?让我们开始吧!
    |
    15天前
    |
    测试技术 开发者 Python
    探索Python中的装饰器:从入门到实践
    装饰器,在Python中是一块强大的语法糖,它允许我们在不修改原函数代码的情况下增加额外的功能。本文将通过简单易懂的语言和实例,带你一步步了解装饰器的基本概念、使用方法以及如何自定义装饰器。我们还将探讨装饰器在实战中的应用,让你能够在实际编程中灵活运用这一技术。
    35 7
    |
    16天前
    |
    开发者 Python
    Python中的装饰器:从入门到实践
    本文将深入探讨Python的装饰器,这一强大工具允许开发者在不修改现有函数代码的情况下增加额外的功能。我们将通过实例学习如何创建和应用装饰器,并探索它们背后的原理和高级用法。
    34 5
    |
    15天前
    |
    机器学习/深度学习 人工智能 算法
    深度学习入门:用Python构建你的第一个神经网络
    在人工智能的海洋中,深度学习是那艘能够带你远航的船。本文将作为你的航标,引导你搭建第一个神经网络模型,让你领略深度学习的魅力。通过简单直观的语言和实例,我们将一起探索隐藏在数据背后的模式,体验从零开始创造智能系统的快感。准备好了吗?让我们启航吧!
    42 3
    |
    19天前
    |
    Python
    Python编程入门:从零开始的代码旅程
    本文是一篇针对Python编程初学者的入门指南,将介绍Python的基本语法、数据类型、控制结构以及函数等概念。文章旨在帮助读者快速掌握Python编程的基础知识,并能够编写简单的Python程序。通过本文的学习,读者将能够理解Python代码的基本结构和逻辑,为进一步深入学习打下坚实的基础。