Python学习 —— 初步认知

发布时间 2023-10-08 14:57:12作者: 孤持的庄稼人

写在前面

Python是一种流行的高级编程语言,具有简单易学、代码可读性高、应用广泛等优势。它是一种解释型语言,可以直接在终端或集成开发环境(IDE)中运行,而无需事先编译。

Python的安装

Python的安装过程非常简单。首先,你可以从Python的官方网站(https://www.python.org)下载安装包。根据操作系统的不同,你需要选择相应的安装包。一般来说,64位的系统选择“Windows installer”下载,32位的系统选择“Windows x86 installer”下载。

下载完成后,双击安装包开始安装。你可以选择自定义安装,将Python添加到系统环境变量中。记得在“Add Python to PATH”选项中打勾,以便在命令行中直接运行Python。

Python开发环境

搭建Python开发环境,你需要一款合适的代码编辑器和一个Python解释器。VS Code是一款轻量级但功能强大的代码编辑器,它支持多种编程语言,包括Python。

VS Code编辑器

首先,你需要从VS Code官网(https://code.visualstudio.com)下载并安装VS Code编辑器。安装完成后,打开VS Code,在右下角可以找到“Python”插件,点击“Install”进行安装。

Python插件管理器

VS Code中的Python插件管理器可以方便地管理你的Python插件。打开VS Code,在左侧工具栏找到“Extensions”(扩展)图标,点击后在搜索框中输入“Python”,选择“Python”插件进行安装。

Python解释器

在安装Python插件后,VS Code会自动为你配置Python解释器。你可以在VS Code的左下角查看当前使用的Python解释器版本。如果你的VS Code中没有显示Python解释器,可以依次点击“File” -> “Preferences” -> “Settings”,在搜索框中输入“python”,然后在“Python”设置项中检查“Python:Default Interpreter”选项是否已经配置了Python解释器。

输入输出

首先,我们需要明确一下输入的方式。根据输入设备的不同,输入可以分为两类:

  • 物理设备:键盘、鼠标、传感器、雷达和摄像头等。这些设备可以通过相应的接口与计算机连接,从而将用户的行为转化为电信号输入到计算机中。
  • 逻辑概念:终端、文件、程序和可视化窗口等。这些概念性的事物通过程序代码来实现输入操作。

如何输入

接下来,我们介绍如何使用 Python 输入代码。有两种方式可以实现 Python 代码的输入:

  1. 交互式模式输入:在终端或命令行界面中输入代码并执行。这种方式可以实现边输入边执行的效果,适合于对代码进行调试和测试。
  2. 非交互式模式输入:将代码写在一个文件中,通过 Python 解释器执行该文件。这种方式适合于批量执行代码或者在自动化脚本中运行代码。
    例如,我们可以将以下代码保存在一个名为“input.py”的文件中:
      var1 = "Hello"  
      var2 = "World"  
      print(var1)  
      print(var2)
    
    然后在终端中运行该脚本,即可看到输出结果

如何输出

Input()、print()是python中的内置函数

变量

在Python中,我们可以使用赋值操作符(=)来为变量赋值。比如,我们可以使用input()函数获取用户输入的文本,并将其赋值给一个名为text的变量:

text = input()

在这个例子中,我们使用input()函数来获取用户输入的内容,并将其赋值给名为text的变量。这样,我们就可以在程序中使用这个变量来表示用户输入的文本了。

除了使用input()函数输入外,我们也可以直接为变量赋值。比如,我们可以将一个整数赋值给一个名为x的变量,将一个字符串赋值给一个名为y的变量:

x = 1  
y = 'abc'

在这个例子中,我们将整数1和字符串'abc'分别赋值给了变量x和y。这样,我们就可以在程序中使用这些变量来表示这些值了。

有时候,我们还可以使用多个赋值语句一次性为多个变量赋值。比如,我们可以使用以下代码同时为三个变量a、b、c赋值:

a, b, c = 1, 2, 3

在这个例子中,我们将整数1、2、3分别赋值给了变量a、b、c。这样,我们就可以在程序中使用这些变量来表示这些值了。

另外,我们还可以将多个变量赋值给同一个值。比如,我们可以使用以下代码将变量x、y、z同时赋值为整数3:

x = y = z = 3

在这个例子中,我们将整数3分别赋值给了变量x、y、z。这样,我们就可以在程序中使用这些变量来表示这个值了。

变量的命名规范

合法的变量命名规则:

变量命名要遵循以下规则:

变量名只能由字母、数字和下划线组成,且必须以字母或下划线开头;
变量名不能包含空格,可以用“_”来连接多个单词,使其更易读;
变量名不应与Python的内置关键字冲突,如False,None,True,and,break,class,continue等。
学习变量命名规范的重要性:

当代码行数增多时,有意义的变量名可以帮助你和其他人更快地理解代码逻辑;
通过规范化的变量名来区分不同的变量和其代表的实体,如函数、类等;
正确的变量命名可以降低程序出错的概率。
好的命名习惯:

变量名应简短明了;
变量名应具有描述性,能够清晰表达变量的含义;
大小写敏感,多个单词用下划线“_”连接;
应尽量避免使用不常用的字符或中文。

Python中的关键字:
awaitelseimportpassbreakexceptinraiseclassfinallyisreturnandcontinueforlambdatrydelglobalnotwithelififoryield

字符串

字符串是如何定义的

在Python中,字符串可以通过以下方式定义:

  1. 使用单引号:只需在字符之间添加单引号即可定义一个字符串。
  2. 使用双引号:您也可以使用双引号来定义字符串。
  3. 使用三重引号:还可以通过在字符串前后添加三个单引号或三个双引号来定义多行字符串。
    # 单引号定义字符串  
    s1 = 'hello'  
      
    # 双引号定义字符串  
    s2 = "world"  
      
    # 三重引号定义多行字符串  
    s3 = '''This is a  
    multi-line  
    string.'''

如何对字符串进行操作

成员运算

使用 innot in 来检查一个值是否存在于字符串中。

    s = 'hello'  
    print('e' in s)  # 输出: True  
    print('x' not in s)  # 输出: True

连接运算

使用 + 运算符连接两个字符串,也可以使用乘法运算符 * 来重复字符串。

    s1 = 'hello'  
    s2 = 'world'  
    print(s1 + ' ' + s2)  # 输出: hello world  
    print(s1 * 3)  # 输出: hello hello hello

切片运算

使用切片可以获取字符串的某一部分或以某种步长进行截取。

    s = 'hello world'  
    print(s[0])  # 输出: h  
    print(s[1:5])  # 输出: ello  
    print(s[3:9:2])  # 输出: llo

在字符串中使用变量

在字符串中插入变量的值,可以使用 f-strings,需要Python 3.6及以上的版本。

    name = 'Alice'  
    print(f"Hello, {name}")  # 输出: Hello, Alice

字符串的常用方法

str.count(sub[, start[, end]])

返回子字符串 sub 在 [start, end] 范围内非重叠出现的次数。

    s = 'hello world'  
    print(s.count('l'))  # 输出: 3

str.isalnum()

如果字符串中的所有字符都是字母或数字,且至少有一个字符,那么返回 True,否则返回 False。

    s = 'hello123'  
    print(s.isalnum())  # 输出: True

str.isalpha()

如果字符串中的所有字符都是字母,且至少有一个字符,那么返回 True,否则返回 False。

    s = 'hello'  
    print(s.isalpha())  # 输出: True

str.join(iterable)

返回一个由 iterable 中的字符串拼接而成的字符串。

    s = ['hello', 'world']  
    print(' '.join(s))  # 输出: hello world

str.split(sep=None, maxsplit=-1)

返回一个由字符串以指定的 sep 开始,到 maxsplit 个分隔符或到末尾为止分割成的列表。默认分隔符是任何空白字符。当 sepNone 时,使用空格进行分割。 maxsplit 为一个非负整数,表示最大的分割次数。如果 maxsplit 大于0,它将在最少的 maxsplit 次数的分隔符处进行分割。如果 maxsplit 为 -1 或省略,表示分割所有可能的子串。结果是一个列表,包含按指定分隔符分割的子串。如果没有找到分隔符或 maxsplit 为0,则返回一个包含单个元素的列表,其中包含原始字符串。当 sepNone 时,空字符串(不包含任何分隔符)被视为分隔符。如果 sepNonemaxsplit 为 -1,则除了保留最后的分隔符之外,还将保留所有分隔符。如果 sepNonemaxsplit 大于0,则除了保留最后的分隔符之外,还将保留所有分隔与 maxsplit 次数的分隔符。如果 sepNonemaxsplit 为0或省略,则不会保留最后的分隔符。如果 sepNonemaxsplit 为1或省略且没有分隔符,则返回原始字符串。如果 sepNonemax

数字

在Python中,数字类型经常被用于数学计算和数据处理。Python的数字类型包括整数、浮点数和复数。这些数字类型可以由字面量或内置函数与运算符的结果创建。

强制类型转换

Python是一种强类型语言,意味着一旦一个变量被赋予某种类型,就不能再自动转换为其他类型。如果你需要将一个数字从一种类型转换为另一种类型,可以使用内置的int()float()函数进行转换。

转换函数可以用于将数字从一种类型转换为另一种类型,例如:

makefile
x = 10     # 整数  
y = 3.14   # 浮点数  
  
z1 = int(y)   # 将浮点数转为整数  
z2 = float(x) # 将整数转为浮点数

字符串与数字的互相转换

Python提供了内置函数 str()int() 以及 float(),可以将数字转换为字符串或者将字符串转换为数字。

例如:

x = 10    # 整数  
y = str(x)   # 将整数转为字符串  
print(y)    # 输出:"10"  
  
z = int('10')   # 将含有整数的字符串转为整数  
print(z)        # 输出:10

如果字符串不能被解析为整数,int()函数会报错。

数字类型的常见运算

Python中的数字类型支持多种运算,包括加法、减法、乘法、除法等。以下是一些常见的表达式:

x = 10    # 整数  
y = 3.14  # 浮点数  
  
# 加法  
print(x + y)  # 输出:13.14  
  
# 减法  
print(x - y)  # 输出:6.86  
  
# 乘法  
print(x * y)  # 输出:31.4  
  
# 除法  
print(x / y)  # 输出:3.13999999999999995

此外,还有整除(//)、取模(%)等运算:

# 整除(//)  
print(x // y)  # 输出:3.0000000000000004  
  
# 取模(%)  
print(x % y)  # 输出:2.1400000000000001

此外,Python还支持一元负号、正号运算符以及abs()int()float()complex()等内置函数,这些函数可以让你对数字进行更为复杂的运算。

例如,abs(x)函数返回x的绝对值,而int(x)和float(x)函数可以将x转换为整数或浮点数。如果你需要创建一个复数,可以使用complex(re, im)函数,其中re和im分别代表实部和虚部。

此外,divmod()函数返回一个元组,其中包含x除以y的商和余数。pow(x, y)和x ** y函数可以用来计算x的y次幂。如果你需要求一个复数的共轭,可以使用c.conjugate()函数。

字符串与数字的使用

数据类型在编程中十分重要,不同的数据类型有着不同的属性和用法。

Python是强类型语言,这些语言要求程序员在定义变量时必须指定数据类型。比如:

a = 10  # 整数类型  
b = "hello"  # 字符串类型

一旦确定了数据类型,就不能够随意更改。比如:

a = 10  # 整数类型  
b = "hello"  # 字符串类型  
c = a + b  # 这行代码会报错,因为无法将字符串和整数相加

在强类型语言中,如果想要将不同类型的数据进行操作,就需要进行显式的数据类型转换。比如:

a = 10  # 整数类型  
b = "10"  # 字符串类型  
c = int(b)  # 将字符串转换为整数  
d = a + c  # 相加

数据类型能够让程序员更好地组织代码,提高代码的可读性和执行效率。在强类型语言中,数据类型的转换需要显式声明,这能够让程序员更好地理解并控制程序的执行过程。

字符串和数字在编程中有着不同的用途:

字符串通常用于文本处理、自然语言处理等领域,比如统计词频、文本分类等。
数字则用于数值计算,比如数学计算、数据分析等。
不同类型的数据可以使用不同的运算符,比如:

a = 100  # 整数类型  
b = 200  # 整数类型  
c = a + b  # 加法运算

不同类型的数据之间无法直接相互操作,比如:

a = 123  # 整数类型  
b = "456"  # 字符串类型  
c = a + b  # 这行代码会报错,因为无法将整数和字符串相加

如果想要在不同类型的数据之间进行操作,需要将其转换为同一类型。比如:

a = 123  # 整数类型  
b = "456"  # 字符串类型  
c = int(b)  # 将字符串转换为整数  
d = a + c  # 加法运算

注释

注释是编程中非常重要的一个环节,主要作用是解释代码的意义和用途,以及方便他人阅读和理解代码。下面介绍如何编写注释。

注释的标识符是井号“#”

在 Python 中,注释的标识符是井号“#”。在井号后面的内容,Python 解释器将会忽略掉,不会执行。

例如:

# 这是一个注释  
print("Hello, world!")  # 这也是一个注释

注释可以在代码行的开头或者结尾,也可以在代码的中间。一般来说,在代码的开头或者结尾添加注释比较常见。

例如:

# 这是一个注释  
x = 10  # 这也是一个注释

注释的内容应该简洁明了,能够清晰地表达代码的意义和用途。一般来说,注释应该包括以下信息:

  • 变量名和变量的作用。例如:x 是用来表示盒子的宽的变量。
  • 函数名和函数的返回值。例如:box_area() 函数用来计算盒子的面积,返回盒子的面积。
  • 程序的作用和逻辑。例如:下面的代码用来实现一个简单的加法计算器,接受用户输入的两个数字并输出它们的和。
num1 = float(input("请输入第一个数字:"))  
num2 = float(input("请输入第二个数字:"))  
result = num1 + num2  
print("结果为:", result)

注释的目的

  • 解释代码的意义和用途,方便他人阅读和理解代码。
  • 提高代码的可读性和可维护性。通过添加注释,可以让其他人更容易地理解代码的作用和逻辑,减少阅读代码的时间和工作量。同时,也可以让自己在以后阅读代码时更容易理解和修改。
  • 提高代码的质量和可靠性。通过添加注释,可以帮助开发人员更好地理解代码的作用和逻辑,减少错误和漏洞的出现概率。同时,也可以让自己在以后阅读代码时更容易发现和修复错误。

更多知识请参考Python官方文档