【Python学习系列】基础概念学习(一)

一、Python入门 - 第一个Python程序

所有 Python 文件将以 .py 为扩展名,我们首先可以创建一个hello.py的文件:

#!/usr/bin/python
print("Hello Python")

以Python3.*为例,通过执行如下命令即可运行如上程序:

python3 hello.py

二、Python保留字符

以下表格是Python中的保留字,所有 Python 的关键字只包含小写字母,且不能用作常量、变量:

第一列 第二列 第三列
and exec not
assert finally or
break for pass
class from print
continue global raise
def if return
del import try
elif in while
else is with
except lambda yield

三、Python 标识符

  • 标识符:由字母、数字、下划线组成,且首字母不能以数字开头。
  • 特殊标识符:包括单下划线、双下划线、开头结尾的双下划线。
  • _foo:用于标识受保护的成员,是一种约定,提示这些成员是内部实现细节,但没有强制的访问限制。
class MyClass:
    def __init__(self, value):
        self._my_var = value  # 受保护的变量

    def get_my_var(self):  # 提供公共方法获取受保护的变量
        return self._my_var

    def set_my_var(self, value):  # 提供公共方法设置受保护的变量
        self._my_var = value

# 使用案例
obj = MyClass(10)
print(obj.get_my_var())  # 通过公共方法访问受保护的变量,输出 10

obj.set_my_var(20)  # 通过公共方法修改受保护的变量
print(obj.get_my_var())  # 输出 20
  • __foo:用于定义私有成员,通过名称改编机制来防止外部代码直接访问这些成员,确保封装性。
class MyClass:
    def __init__(self, value):
        self.__my_var = value  # 私有变量

    def get_my_var(self):  # 提供公共方法访问私有变量
        return self.__my_var

    def set_my_var(self, value):  # 提供公共方法设置私有变量
        self.__my_var = value

# 使用案例
obj = MyClass(10)
print(obj.get_my_var())  # 通过公共方法访问私有变量,输出 10

obj.set_my_var(20)  # 通过公共方法修改私有变量
print(obj.get_my_var())  # 输出 20

# 尝试直接访问私有变量会报错
# print(obj.__my_var)  # AttributeError: 'MyClass' object has no attribute '__my_var'

# 通过名称改编后的名称可以访问,但不推荐
print(obj._MyClass__my_var)  # 输出 20
  • __foo __: Python 里特殊方法专用的标识,如 __init __() 表示构造函数;__str __:表示字符串;__repr __:表示官方字符串;__add __:加法运算符重载;
class MyClass:
    def __init__(self, value):
        self.value = value

    def __str__(self):
        return f"MyClass({
      
      self.value})"

    def __add__(self, other):
        return MyClass(self.value + other.value)

obj1 = MyClass(10)
obj2 = MyClass(20)
print(obj1)  # 输出 MyClass(10),调用了__str__方法
obj3 = obj1 + obj2  # 调用了__add__方法
print(obj3)  # 输出 MyClass(30)

四、行、缩进、多行语句

Python使用缩进来定义代码块,而不是像其他语言那样使用大括号 {}。

  • 缩进:Python使用缩进来表示代码块的开始和结束。相同缩进级别的代码行属于同一个代码块。通常推荐使用4个空格来表示一级缩进,但也可以使用其他数量的空格或制表符(Tab),只要在同一个文件中保持一致即可。
def my_function():
    print("这是函数的第一行")
    print("这是函数的第二行")
    if True:
        print("这是if语句的第一行")
        print("这是if语句的第二行")
    print("这是函数的第三行")

print("这是全局代码块的第一行")
  • 多行语句:可以使用反斜杠 \ 或括号来表示多行语句。在括号、中括号或大括号内的多行语句不需要使用反斜杠 \,因为括号内的内容可以自然地跨多行。
long_string = "这是一个非常长的字符串," \
              "需要分成多行来提高可读性。"

long_string = ("这是一个非常长的字符串,"
               "需要分成多行来提高可读性。")

long_list = [
    "这是一个非常长的列表,",
    "包含多个元素,",
    "需要分成多行来提高可读性。"
]

my_dict = {
    
    
    "key1": "value1",
    "key2": "value2",
    "key3": "value3"
}

五、Python 引号

在Python中,引号用于定义字符串。Python支持单引号(‘)、双引号(")和三引号(’‘’ 或 “”")来创建字符串。以下是各种引号的使用方法和示例:

  • 单引号('):单引号用于创建简单的字符串。如果字符串中包含单引号,可以使用转义字符 \ 来表示。
# 使用单引号创建字符串
s1 = 'Hello, world!'
print(s1)  # 输出 Hello, world!

# 字符串中包含单引号,使用转义字符
s2 = 'It\'s a beautiful day.'
print(s2)  # 输出 It's a beautiful day.
  • 双引号("):双引号也用于创建字符串。如果字符串中包含双引号,可以使用转义字符 \ 来表示。双引号和单引号在功能上是等价的,但有时使用双引号可以避免转义字符的使用。
# 使用双引号创建字符串
s1 = "Hello, world!"
print(s1)  # 输出 Hello, world!

# 字符串中包含双引号,使用转义字符
s2 = "He said, \"Hello!\""
print(s2)  # 输出 He said, "Hello!"

# 字符串中包含单引号,不需要转义
s3 = "It's a beautiful day."
print(s3)  # 输出 It's a beautiful day.
  • 三引号(‘’’ 或 “”"):三引号用于创建多行字符串。三引号可以是三个单引号(‘’')或三个双引号(“”")。多行字符串可以包含换行符,不需要使用转义字符来表示换行。
# 使用三单引号创建多行字符串
s1 = '''This is a multi-line string.
It can span multiple lines.
No need to use escape characters for newlines.'''
print(s1)
# 输出:
# This is a multi-line string.
# It can span multiple lines.
# No need to use escape characters for newlines.

# 使用三双引号创建多行字符串
s2 = """This is another multi-line string.
It can also span multiple lines.
No need to use escape characters for newlines."""
print(s2)
# 输出:
# This is another multi-line string.
# It can also span multiple lines.
# No need to use escape characters for newlines.

六、Python注释

  • 单行注释:单行注释以井号 # 开始,直到该行末尾。# 后面的所有内容都会被Python解释器忽略。
# 这是一个单行注释
print("Hello, world!")  # 这是另一个单行注释

# 计算两个数的和
a = 10  # 第一个数
b = 20  # 第二个数
sum = a + b  # 计算和
print(sum)  # 输出结果
  • 多行注释:多行注释可以使用三引号(‘’’ 或 “”")来创建。三引号之间的所有内容都会被Python解释器忽略,包括换行符。
'''
这是一个多行注释。
可以包含多行文本,用于解释代码的功能和用途。
'''

"""
这也是一个多行注释。
可以包含多行文本,用于解释代码的功能和用途。
"""

# 使用多行注释来临时禁用代码块
'''
print("This line is commented out")
print("This line is also commented out")
'''

print("Hello, world!")  # 这行代码会被执行