A Byte of Python学习笔记

本文深入讲解Python编程的基础概念,包括字符串、数字、函数、模块、数据结构等核心元素,以及如何利用这些元素构建复杂的程序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

字符串

由单引号或者双引号来指定字符串(二者没有区别)

字符串是不可改变的。这意味着一旦你创造了一串字符串,你就不能再改变它。尽管这看起来像是一件坏事,但实际上并非如此。我们将会在稍后展现的多个程序中看到为何这一点不是一个限制。

基本数据类型是数字和字符串

 

函数

函数参数,实参和形参

局部参数和全局变量(global)

默认参数

关键字参数:我们使用命名(关键字)而非位置(一直以来我们所使用的方式)来指定函数中的参数。这样可以:其一,我们不再需要考虑参数的顺序,函数的使用将更加容易。其二,我们可以只对那些我们希望赋予的参数以赋值,只要其它的参数都具有默认参数值。

可变参数:有时你可能想定义的函数里面能够有任意数量的变量,也就是参数数量是可变的,这可以通过使用星号来实现

DocSting:DocStrings 是一款你应当使用的重要工具,它能够帮助你更好地记录程序并让其更加易于理解。令人惊叹的是,当程序实际运行时,我们甚至可以通过一个函数来获取文档!

我们可以通过使用函数的 __doc__(注意其中的双下划綫)属性(属于函数的名称)来获取函数 print_max 的文档字符串属性。只消记住 Python 将所有东西都视为一个对象,这其中自然包括函数。我们将在后面的类(Class)章节讨论有关对象的更多细节。

如果你曾使用过 Python 的 help() 函数,那么你应该已经了解了文档字符串的用途了。它所做的便是获取函数的 __doc__ 属性并以一种整洁的方式将其呈现给你。你可以在上方的函数中尝试一下——只需在程序中包含 help(print_max) 就行了。要记住你可以通过按下 q 键来退出 help

自动化工具可以以这种方式检索你的程序中的文档。因此,我强烈推荐你为你编写的所有重要的函数配以文档字符串。你的 Python 发行版中附带的 pydoc 命令与 help() 使用文档字符串的方式类似。

模块

from...import语句

模块的__name__

每个模块都有一个名称,而模块中的语句可以找到它们所处的模块的名称。这对于确定模块是独立运行的还是被导入进来运行的这一特定目的来说大为有用。正如先前所提到的,当模块第一次被导入时,它所包含的代码将被执行。我们可以通过这一特性来使模块以不同的方式运行,这取决于它是为自己所用还是从其它从的模块中导入而来。这可以通过使用模块的 __name__ 属性来实现。

dir()函数

内置的 dir() 函数能够返回由对象所定义的名称列表。 如果这一对象是一个模块,则该列表会包括函数内所定义的函数、类与变量。

变量通常位于函数内部,函数与全局变量通常位于模块内部。如果希望组织起这些模块的话,就要用到包(Package)
包是指一个包含模块与一个特殊的__init__.py文件的文件夹,后者向Python表明这一文件夹是特殊的,包含了Python模块

让我们这样设想:你想创建一个名为“world”的包,其中还包含着 “asia”、“africa”等其它子包,同时这些子包都包含了诸如“india”、 “madagascar”等模块。

- <some folder present in the sys.path>/
    - world/
        - __init__.py
        - asia/
            - __init__.py
            - india/
                - __init__.py
                - foo.py
        - africa/
            - __init__.py
            - madagascar/
                - __init__.py
                - bar.py

数据结构

Python中有四种内置的数据结构——列表(list),元组(Tuple),字典(Dictionary)和集合(Set)

列表

列表:一种用于保存一系列有序项目的集合
#项目的列表应该用方括号括起来。一旦创建了一张列表,可以添加,删除或者搜索列表中的项目。
#列表是以一种可变的(mutable)数据类型

元组

元组(Tuple) 将多个对象保存到一起,近似地看作列表。 元组的一大特征类似于字符串,是不可变的,不能编辑或者更改元组。
#元组是通过特别指定项目来定义的,在指定项目时,给它们加上括号,并在括号内部用逗号进行分隔。
#元组通常用于保证某一语句或某一用户定义的函数可以安全地采用一组数值

注:包含 0 或 1 个项目的元组

一个空的元组由一对圆括号构成,就像 myempty = () 这样。然而,一个只拥有一个项目的元组并不像这样简单。你必须在第一个(也是唯一一个)项目的后面加上一个逗号来指定它,如此一来 Python 才可以识别出在这个表达式想表达的究竟是一个元组还是只是一个被括号所环绕的对象,也就是说,如果你想指定一个包含项目 2 的元组,你必须指定 singleton = (2, )

 字典

将key键值和value值联立到一起。注意键值必须是唯一的,键值使用不可变的对象(如字符串)
#成对的键值与值使用冒号分隔,每一对键值与值使用逗号区分,他们由一对花括号括起。
#字典中的成对的键值—值配对不会以任何方式进行排序。如果希望为它们安排一个特别的次序,只能在使用它们之前自行进行排序。

序列

#list,tuple,dictionary可以看作序列(sequence)的某种表现形式
#序列的主要功能是测试资格(Membership Test)(也就是in与not in表达式)和索引操作(Indexing Operations),
#他们能够允许我们直接获取序列中的特定项目
#序列同时拥有一种切片(Slicing)运算符,能够允许我们序列中的某段切片

集合(set)

简单对象的无序集合(collection)。当集合中的项目存在与否比起次序或其出现次数更加重要时,我们就会使用集合。
#通过使用集合,可以测试某些对象的资格或情况,检查他们是否是其他集合的子集,找到两个集合的交集,等

#引用

记住如果希望建立一份诸如序列等复杂对象的副本(而非整数这种简单的对象(Object)),必须使用切片来制作副本

this is a book about python. it was written by Swaroop C H.its name is "a byte of python". Table of Contents Preface Who This Book Is For History Lesson Status of the book Official Website License Terms Using the interpreter prompt Choosing an Editor Using a Source File Output How It Works Executable Python programs Getting Help Summary 4. The Basics Literal Constants Numbers Strings Variables Identifier Naming Data Types Objects Output How It Works Logical and Physical Lines Indentation Summary 5. Operators and Expressions Introduction Operators Operator Precedence Order of Evaluation Associativity Expressions Using Expressions Summary 6. Control Flow Introduction The if statement ivUsing the if statement How It Works The while statement Using the while statement The for loop Using the for statement Using the break statement The continue statement Using the continue statement Summary 7. Functions Introduction Defining a Function Function Parameters Using Function Parameters Local Variables Using Local Variables Using the global statement Default Argument Values Using Default Argument Values Keyword Arguments Using Keyword Arguments The return statement Using the literal statement DocStrings Using DocStrings Summary 8. Modules Introduction Using the sys module Byte-compiled .pyc files The from..import statement A module's __name__ Using a module's __name__ Making your own Modules Creating your own Modules from..import The dir() function Using the dir function Summary 9. Data Structures Introduction List Quick introduction to Objects and Classes Using Lists Tuple Using Tuples Tuples and the print statement Dictionary Using Dictionaries Sequences Using Sequences References Objects and References More about Strings String Methods Summary 10. Problem Solving - Writing a Python Script The Problem The Solution First Version Second Version Third Version Fourth Version More Refinements The Software Development Process Summary 11. Object-Oriented Programming Introduction The self Classes Creating a Class object Methods Using Object Methds The __init__ method Using the __init__ method Class and Object Variables Using Class and Object Variables Inheritance Using Inheritance Summary 12. Input/Output Files Using file Pickle Pickling and Unpickling Summary 13. Exceptions Errors Try..Except Handling Exceptions Raising Exceptions How To Raise Exceptions Try..Finally Using Finally Summary 14. The Python Standard Library Introduction The sys module Command Line Arguments More sys The os module Summary 15. More Python Special Methods Single Statement Blocks List Comprehension Using List Comprehensions Receiving Tuples and Lists in Functions Lambda Forms Using Lambda Forms The exec and eval statements The assert statement The repr function Summary 16. What Next? Graphical Software Summary of GUI Tools Explore More Summary A. Free/Libré and Open Source Software (FLOSS) B. About Colophon About the Author C. Revision History Timestamp
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值