Python学习7:输入和输出

在 Python 中,可以使用 input() 函数从标准输入读取用户输入的数据,并使用 print() 函数将数据输出到标准输出。下面是一些常用的输入输出方法: 1、使用 input() 函数读取用户输入 input() 函数会从标准输入读取用户输入的数据,并返回一个字符串类型的值。例如: name = input("What's your name? ") print("Hello, " + name + "!") 在上面的例子中,使用 input() 函数读取用户输入的姓名,并使用 print() 函数输出问候语。 2、使用 print() 函数输出字符串 print() 函数可以将字符串输出到标准输出。可以使用加号(+)将多个字符串连接起来,并使用逗号(,)将多个参数输出到同一行。例如: print("Hello, World!") print("The answer is", 42) 在上面的例子中,使用 print() 函数输出了两个字符串,第二个字符串包含了一个数字。 3、使用格式化字符串输出数据 可以使用格式化字符串将变量的值插入到字符串中。可以使用花括号({})表示变量的位置,并使用 format() 方法将变量的值插入到花括号中。例如: name = "Alice" age = 25 print("My name is {} and I'm {} years old.".format(name, age)) 在上面的例子中,使用 format() 方法将变量 name 和 age 的值插入到字符串中。 4、使用 f-字符串输出数据 在 Python 3.6 及以后的版本中,可以使用 f-字符串来格式化字符串。f-字符串是一种特殊的字符串,以字母 f 或 F 开头,并以花括号表示变量的位置。在花括号中可以直接使用变量名,也可以使用表达式计算变量的值。例如: name = "Bob" age = 32 print(f"My name is {name.upper()} and I'm {age * 2} years old.") 在上面的例子中,使用 f-字符串将变量 name 的值转换为大写字母,并将变量 age 的值乘以 2。...

Python学习6:模块和包

在 Python 中,模块(module)是指一个包含 Python 代码的文件,而包(package)则是指一个包含多个模块的文件夹。模块和包可以用来组织和管理 Python 代码,使得代码更加易于维护和扩展。 以下是一些有关 Python 模块和包的基本知识: 1、导入模块 使用 import 语句可以导入一个模块(或包)中的代码。例如,要导入名为 “math” 的模块,可以使用以下语句: import math 这会将 math 模块中的所有函数和变量导入到当前 Python 脚本中,您就可以在脚本中使用 math 模块中的函数和变量了。 2、导入特定函数或变量 有时候您只需要使用模块中的某个函数或变量,而不需要导入整个模块。在这种情况下,可以使用 from…import 语句,例如: from math import sqrt 这会将 math 模块中的 sqrt 函数导入到当前 Python 脚本中,您就可以直接使用 sqrt 函数了。 3、导入多个函数或变量 如果您需要导入多个函数或变量,可以使用逗号分隔它们,例如: from math import sqrt, floor 这会将 math 模块中的 sqrt 函数和 floor 函数导入到当前 Python 脚本中,您就可以直接使用这两个函数了。 4、导入所有函数和变量 有时候,您可能需要导入模块中的所有函数和变量。在这种情况下,可以使用以下语句: from math import * 这会将 math 模块中的所有函数和变量导入到当前 Python 脚本中。但是,这种导入方式可能会导致命名冲突和代码可读性降低,因此最好只在一些小型程序中使用。 5、创建包 要创建一个包,您需要创建一个包含 init.py 文件的文件夹,并在该文件夹中添加其他 Python 模块。init.py 文件可以是一个空文件,或者包含一些初始化代码。 例如,如果您想创建一个名为 “my_package” 的包,可以按照以下方式组织代码: my_package/ __init__.py module1.py module2.py 这个包包含了 init.py 文件和两个模块(module1.py 和 module2.py)。您可以使用 import 语句来导入这个包中的模块,例如: import my_package.module1 这会将 my_package 包中的 module1.py 文件导入到当前 Python 脚本中,您就可以使用其中定义的函数和变量了。 6、导入自定义模块...

[译]Python模块和包-简介

本文探讨了 Python 模块和 Python 包,这两种机制有助于模块化编程。 模块化编程是指将大型、笨重的编程任务分解为单独的、更小的、更易于管理的子任务或模块的过程。然后可以像构建块一样将各个模块拼凑在一起以创建更大的应用程序。 在大型应用程序中模块化代码有几个优点: 简单性:模块通常不会专注于手头的整个问题,而是专注于问题的一个相对较小的部分。如果您正在处理单个模块,那么您将有一个较小的问题域来解决问题。这使得开发更容易并且更不容易出错。 可维护性:模块通常设计为在不同问题域之间强制执行逻辑边界。如果模块是以最小化相互依赖的方式编写的,那么对单个模块的修改对程序的其他部分产生影响的可能性就会降低。(您甚至可以在不了解该模块之外的应用程序的情况下对该模块进行更改。)这使得由许多程序员组成的团队在大型应用程序上协同工作变得更加可行。 可重用性:在单个模块中定义的功能可以很容易地被应用程序的其他部分重用(通过适当定义的接口)。这消除了重复代码的需要。 作用域:模块通常定义一个单独的名称空间,这有助于避免程序不同区域中标识符之间的冲突。 (Python 之禅的信条之一是命名空间是一个非常棒的想法——让我们做更多这样的事情吧!) 函数、模块和包都是 Python 中促进代码模块化的构造。 Python 模块:概述 在 Python 中实际上有三种不同的方式来定义模块: 模块可以用 Python 本身编写。 模块可以用 C 语言编写并在运行时动态加载,例如 re (正则表达式)模块。 内置模块本质上包含在解释器中,例如 itertools 模块。 在所有三种情况下,模块的内容都以相同的方式访问:使用 import 语句。 在这里,重点将主要放在用 Python 编写的模块上。用 Python 编写的模块的妙处在于它们的构建非常简单。 您需要做的就是创建一个包含合法 Python 代码的文件,然后为该文件指定一个带有 .py 扩展名的名称。就是这样!不需要特殊的语法或巫术。 例如,假设您创建了一个名为 mod.py 的文件,其中包含以下内容: mod.py s = "If Comrade Napoleon says it, it must be right." a = [100, 200, 300] def foo(arg): print(f'arg = {arg}') class Foo: pass mod.py 中定义了几个对象: s (字符串) a (列表) foo() (函数) Foo (类) 假设 mod.py 位于适当的位置(您很快就会了解更多信息),可以通过导入模块来访问这些对象,如下所示: >>> import mod >>> print(mod.s) If Comrade Napoleon says it, it must be right....

Python学习5:函数

函数的定义 在 Python 中,函数是一段可重复使用的代码块,它接受一些输入(也称为参数)并产生一些输出。函数可以通过 def 关键字来定义,语法如下: def function_name(parameters): """This is a function""" # function body return value 其中,function_name 是函数的名称,parameters 是函数的参数列表,function body 是函数的主体部分,包括需要执行的代码和可能的返回语句,return value 是函数的返回值(如果有的话)。 下列代码创建一个可以输出限定数值内的斐波那契数列函数: def fib(n): # write Fibonacci series up to n """Print a Fibonacci series up to n.""" a, b = 0, 1 while a < n: print(a, end=' ') a, b = b, a+b print() fib(2000) # 0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 159 定义 函数使用关键字 def,后跟函数名与括号内的形参列表。函数语句从下一行开始,并且必须缩进。 函数内的第一条语句是字符串时,该字符串就是文档字符串,也称为 docstring。利用文档字符串可以自动生成在线文档或打印版文档,还可以让开发者在浏览代码时直接查阅文档;Python 开发者最好养成在代码中加入文档字符串的好习惯。 函数在 执行 时使用函数局部变量符号表,所有函数变量赋值都存在局部符号表中;引用变量时,首先,在局部符号表里查找变量,然后,是外层函数局部符号表,再是全局符号表,最后是内置名称符号表。因此,尽管可以引用全局变量和外层函数的变量,但最好不要在函数内直接赋值(除非是 global 语句定义的全局变量,或 nonlocal 语句定义的外层函数变量)。 在调用函数时会将实际参数(实参)引入到被调用函数的局部符号表中;因此,实参是使用 按值调用 来传递的(其中的 值 始终是对象的 引用 而不是对象的值)。 1 当一个函数调用另外一个函数时,会为该调用创建一个新的局部符号表。...

[译]用 Bottle 开发

我喜欢 bottle。它是一个简单、快速且功能强大的 Python 微框架,非常适合小型 Web 应用程序和快速原型设计。对于那些刚刚开始 Web 开发的人来说,它也是一个出色的学习工具。 让我们看一个简单的例子。 注意:本教程假设您正在运行基于 Unix 的环境 - 例如 Mac OS X、Linux 版本或通过虚拟机支持的 Linux 版本。 06/13/2015 更新:更新了代码示例和解释。 启动 首先,让我们创建一个工作目录: $ mkdir bottle && cd bottle 接下来,您需要安装 pip、virtualenv 和 git。 virtualenv 是一个 Python 工具,可以轻松管理特定项目所需的 Python 包;它可以防止一个项目中的包与其他项目中的包发生冲突。同时,pip 是一个包管理器,用于管理 Python 包的安装。 如需在 Unix 环境中安装 pip(及其依赖项)的帮助,请按照 此 Gist 中的说明进行操作。如果您使用的是 Windows 环境,请观看此视频以获取帮助。 安装 pip 后,运行以下命令来安装 virtualenv: $ pip install virtualenv==12.0.7 现在我们可以轻松设置本地环境: $ virtualenv venv $ source venv/bin/activate 安装 bottle: $ pip install bottle==0.12.8 $ pip freeze > requirements.txt 最后,让我们使用 Git 将我们的应用程序置于版本控制之下。有关 Git 的更多信息,请 查看本文,其中还包括安装说明。 编写你的应用程序 我们准备好编写我们的瓶子应用程序了。打开 Sublime Text 3 或您选择的文本编辑器。创建您的应用程序文件 app.py,它将保存我们第一个应用程序的全部内容: import os from bottle import route, run, template index_html = '''My first web app!...

Python学习4:流程控制

在 Python 中,流程控制语句包括条件语句(if-elif-else)、循环语句(for 和 while)、跳转语句(break、continue 和 return)和异常处理语句。 条件语句 条件语句用于在不同的条件下执行不同的代码块。Python 中的条件语句是 if-elif-else 结构。 # 条件语句示例 x = 10 if x < 0: print("x is negative") elif x == 0: print("x is zero") else: print("x is positive") 循环语句 循环语句用于重复执行一段代码,直到满足某个条件或达到某个条件次数为止。Python 中的循环语句包括 for 和 while 两种结构。 # for 循环示例 my_list = [1, 2, 3, 4, 5] for item in my_list: print(item) # while 循环示例 x = 10 while x > 0: print(x) x -= 1 遍历集合时修改集合的内容,会很容易生成错误的结果。因此不能直接进行循环,而是应遍历该集合的副本或创建新的集合: # Create a sample collection users = {'Hans': 'active', 'Éléonore': 'inactive', '景太郎': 'active'} # Strategy: Iterate over a copy for user, status in users.copy().items(): if status == 'inactive': del users[user] # Strategy: Create a new collection active_users = {} for user, status in users....

Python学习3:运算符和表达式

在 Python 中,运算符是用于执行各种操作的符号或关键字;表达式是由操作符、变量、常量和函数调用等组成的,它们可以被计算求值并返回一个结果。 以下是一些常用的运算符和表达式: 算术运算符 Python 中的算术运算符用于执行基本的算术运算,包括加、减、乘、除、取模和幂运算。以下是一些常用的算术运算符: +:加法运算 -:减法运算 *:乘法运算 /:除法运算 %:取模运算,返回两个数相除的余数 **:幂运算,返回一个数的指定次幂 例如: x + y # 加法 x - y # 减法 x * y # 乘法 x / y # 除法 x % y # 取模 在这个例子中,我们使用算术运算符执行基本的算术运算,例如将变量x和y相加、相减、相乘、相除和取模。 比较运算符 Python 中的比较运算符用于比较两个值的大小关系,返回一个布尔值。以下是一些常用的比较运算符: ==:等于运算符,如果两个值相等,则返回True,否则返回False !=:不等于运算符,如果两个值不相等,则返回True,否则返回False >:大于运算符,如果左边的值大于右边的值,则返回True,否则返回False <:小于运算符,如果左边的值小于右边的值,则返回True,否则返回False >=:大于等于运算符,如果左边的值大于等于右边的值,则返回True,否则返回False <=:小于等于运算符,如果左边的值小于等于右边的值,则返回True,否则返回False 例如: x == y # 等于 x != y # 不等于 x > y # 大于 x < y # 小于 x >= y # 大于等于 x <= y # 小于等于 在这个例子中,我们使用比较运算符比较变量x和y的大小关系,例如判断x是否等于y、是否大于y等。 逻辑运算符 Python 中的逻辑运算符用于执行逻辑操作,包括与、或和非运算。以下是一些常用的逻辑运算符: and:逻辑与运算符,如果两个操作数都为True,则返回True,否则返回False or:逻辑或运算符,如果两个操作数中至少有一个为True,则返回True,否则返回False not:逻辑非运算符,如果操作数为True,则返回False,否则返回True 例如: x and y # 与 x or y # 或 not x # 非 在这个例子中,我们使用逻辑运算符执行逻辑运算,例如判断变量x和y是否都为True、判断变量x和y是否至少一个为True等。...

Python学习2:数据类型

Python 中的数据类型包括: 数字类型:包括整型、浮点型、复数型和布尔类型:只有两个取值,True 和 False,用于表示逻辑值。 字符串类型:由一系列字符组成,可以是单引号、双引号或三引号括起来的文本。 列表类型:由一系列有序的元素组成,可以包含任何类型的数据。 元组类型:与列表类似,但是元素不能被修改。 集合类型:由一组唯一的元素组成,支持集合的基本操作,如并集、交集和差集等。 字典类型:由一组键值对组成,其中键是唯一的,用于查找和存储值。 None 类型:表示空值或缺失值。 数字 在 Python 中,数字类型包括整数(int)、浮点数(float)、复数(complex)和布尔值(bool)。 整数(int)是不带小数的数字,可以使用十进制、二进制、八进制或十六进制表示。在 Python 3 中,整数的长度不再受限于机器的位数,可以表示任意大的整数。 例如: a = 123 # 十进制整数 b = 0b1010 # 二进制整数,等于十进制的 10 c = 0o12 # 八进制整数,等于十进制的 10 d = 0x0A # 十六进制整数,等于十进制的 10 浮点数(float)是带小数的数字,可以使用科学计数法表示。在 Python 中,浮点数采用 IEEE 754 标准表示,具有双精度(64 位)和单精度(32 位)两种形式。例如: a = 3.14e-2 # 科学计数法表示的浮点数,等于 0.0314 b = 1.23 # 普通的浮点数 复数(complex)是具有实部和虚部的数字,可以使用 a+bj 或 complex(a, b) 的形式表示,其中 j 表示虚数单位。例如: a = 1+2j # 复数 b = complex(3, 4) # 复数,等于 3+4j 布尔值(bool)只有两个取值,True 和 False,用于表示真和假。在 Python 中,布尔值可以和数值进行运算,True 转换为 1,False 转换为 0。例如: a = True b = False c = 1 + True # c 的值为 2 d = 3 * False # d 的值为 0 数字的操作和运算:...

[译]什么是 Python Wheels,你为什么要关心它?

Python .whl 文件或 wheels 是 Python 中很少被讨论的部分,但它们对 Python 包的安装过程大有裨益。如果您使用 pip 安装了 Python 包,那么 Wheels 很可能使安装更快、更高效。 Wheels 是 Python 生态系统的一个组件,有助于使包安装正常工作。它们允许更快的安装和更稳定的包分发过程。在本教程中,您将深入了解 Wheels 是什么,它们有什么好处,以及它们如何获得牵引力并使 Python 使用起来更加愉快。 在本教程中,您将学习: 什么是 Wheels 以及它们与源代码分发的比较 如何使用 Wheels 来控制包安装过程 如何为您自己的 Python 包创建和分发 Wheels 您将从用户和开发人员的角度看到使用流行的开源 Python 包的示例。 免费赠品:单击此处获取 Python 备忘单并学习 Python 3 的基础知识,例如使用数据类型、字典、列表和 Python 函数。 安装 接下来,激活虚拟环境并确保安装了最新版本的 pip 、 wheel 和 setuptools : $ python -m venv env && source ./env/bin/activate $ python -m pip install -U pip wheel setuptools Successfully installed pip 20.1 setuptools-46.1.3 wheel-0.34.2 这就是您尝试安装和构建 Wheels 所需的全部内容! Python 打包变得更好:Python Wheels 简介 在学习如何将项目打包到 wheel 之前,从用户的角度了解使用 wheel 的样子会很有帮助。这听起来可能有点落后,但了解 Wheels 如何工作的一个好方法是从安装一个不是 Wheels 的东西开始。 您可以像往常一样,通过将 Python 包安装到您的环境中来开始这个实验。在这种情况下,安装 uWSGI 版本 2.0.x: $ python -m pip install 'uwsgi==2....

[译]使用 Python 的 pip 管理项目的依赖关系

Python 的标准包管理器是 pip 。它允许您安装和管理不属于 Python 标准库的包。如果您正在寻找 pip 的介绍,那么您来对地方了! 在本教程中,您将学习如何: 在您的工作环境中设置 pip 修复与使用 pip 相关的常见错误 使用 pip 安装和卸载包 使用需求文件管理项目的依赖关系 pip 可以做很多事情,但是 Python 社区非常活跃,已经创建了一些 pip 的巧妙替代品。您将在本教程的后面部分了解这些内容。 从 pip 开始 那么,pip 具体是做什么的呢? pip 是 Python 的包管理器。这意味着它是一个允许您安装和管理未作为标准库的一部分分发的库和依赖项的工具。 pip 这个名字是由 Ian Bicking 在 2008 年引入的: 我已经将 pyinstall 重命名为新名称:pip。pip 是 pip install package 首字母缩写。 ( 来源) 包管理非常重要,Python 的安装程序从 3.4 版和 2.7.9 版开始分别为 Python 3 和 Python 2 包含了 pip 。许多 Python 项目都使用 pip ,这使它成为每个 Pythonista 的必备工具。 如果您来自另一种编程语言,您可能会熟悉包管理器的概念。 JavaScript 使用 npm 进行包管理,Ruby 使用 gem,.NET 平台使用 NuGet。在 Python 中, pip 已成为标准包管理器。 在您的系统上查找 pip Python 3 安装程序为您提供了在系统上安装 Python 时安装 pip 的选项。事实上, pip 与 Python 一起安装的选项默认是勾选的,所以 pip 应该在安装完 Python 之后就可以使用了。...