一、Python语言基本语法元素

文章介绍了Python程序的基本语法元素,包括程序格式框架、缩进、注释、变量命名、保留字和数据类型。强调了缩进在Python中的重要性,展示了如何使用变量和数据类型。此外,提到了基本的输入输出函数input()、eval()和print(),以及源程序的书写风格,特别是遵循PEP8编码规范的重要性。最后概述了Python语言的动态类型、高级数据结构、强大标准库和跨平台等主要特点。
摘要由CSDN通过智能技术生成

1. 程序的基本语法元素:程序的格式框架、缩进、注释、变量、命名、保留字、数据类型、赋值语句、引用。

  • 程序的格式框架:

def main():
    # 主程序代码...
    
if __name__ == "__main__":
    main()

        这个例子展示了一个典型的程序格式框架。主程序的代码写在main()函数中,然后通过if __name__ == "__main__"判断是否执行主程序。

Python程序的格式框架可以分为两个部分:主程序和执行入口

  1. 主程序:主程序是程序的核心部分,包含了实际的逻辑代码。主程序由一个或多个函数或类组成,用于完成特定的任务。主程序中的代码按照顺序执行,可以包含函数调用、变量定义、循环、条件判断等。

  2. 执行入口:Python程序的执行入口是通过特殊的代码块来实现的,主要是为了确保在被导入时不会执行主程序。在Python中,使用if __name__ == "__main__"来判断当前模块是否为主模块。如果是主模块,则执行主程序的代码;如果是被导入的模块,则不执行主程序的代码。

例如:

        这段代码定义了一个名为`print_hi`的函数,该函数接受一个参数`name`并打印出一个问候语"Hi, {name}"。然后,通过`if __name__ == '__main__':`判断当前模块是否为主模块。如果是主模块,则调用`print_hi`函数并传入参数"PyCharm"来打印出问候语"Hi, PyCharm"。

(补充:f-string是一种用于字符串格式化的特殊语法。它是在字符串前加上字母"f"来标记的。在f-string中,你可以在大括号{}中使用变量名或表达式,它们会被自动替换为对应的值,这样可以将变量的值或表达式的结果直接嵌入到字符串中。如图中print(f'Hi, {name}'),大括号{name}表示一个变量,它会被替换为name变量的实际值(Pycharm)。当程序执行到这行代码时,name变量的值会被插入到字符串中,然后整个字符串被打印出来。可以与下图对比理解)

        这样的格式框架可以使程序更可扩展和可维护。当将该模块作为一个库导入到其他模块中时,主程序的代码不会被执行,只有在直接运行该模块时才会执行主程序的代码。

  • 缩进:

Python的缩进规则如下:

  1. 使用空格或制表符进行缩进,但不能混合使用,推荐使用4个空格进行缩进。
  2. 使用缩进来表示代码块的开始和结束。在一个代码块内,所有的语句都必须具有相同的缩进级别。
  3. 缩进级别可以是任意数量的空格或制表符,只要保持一致即可。例如,一个代码块内的所有语句都缩进了4个空格,则该代码块中的语句都属于同一个层次结构。
  4. 当一个代码块结束时,缩进回到上一个较低级别的层次结构。
def calculate_average(num_list):
    total = 0
    count = 0
    for num in num_list:
        total += num
        count += 1
    average = total / count
    return average

         在代码中,例如for循环的代码块是通过缩进来划定的,以表示它们属于同一个代码块。

        缩进的正确使用对于代码的可读性和正确性非常重要,因此在编写Python代码时,务必注意缩进的正确性。

  • 注释:

# 这是一个计算平均值的函数
def calculate_average(num_list):
    total = 0
    count = 0
    for num in num_list:
        total += num
        count += 1
    average = total / count
    return average

         通过在代码前添加#符号,可以将该行代码标记为注释。注释用于解释代码的功能和作用。

  • 变量:

变量的命名规则:

  • 变量名由字母、数字和下划线组成,不能以数字开头。
  • 变量名区分大小写,例如"age"和"Age"是两个不同的变量。
  • 变量名应该具有描述性,以便于代码的阅读和理解。
  • 避免使用Python内置关键字作为变量名,如ifforwhile等。

        在Python中,变量的赋值使用等号(=)进行,例如: 

name = "Alice"
age = 25

        在上面的例子中创建了两个变量nameage,并分别赋予了字符串"Alice"和整数25的值。当变量被赋值,就可以在之后的代码中使用它们。例如:

print(name)
print(age)

        以上代码会分别打印出变量nameage的值。 

        在Python中,变量是可以被重新赋值的。这意味着你可以在程序的不同位置多次赋值给同一个变量,且每次赋值都会覆盖之前的值。例如:

name = "Alice"
print(name)  # 输出: Alice

name = "Bob"
print(name)  # 输出: Bob

        以上代码首先将变量name赋值为"Alice",然后又重新赋值为"Bob"。

        Python的变量是用来存储数据值的标识符。变量的类型是根据赋给它的值来自动推导的。变量的赋值使用等号(=),可以多次赋值给同一个变量。正确使用变量可以使代码更加灵活和可读。

  • 命名:

在Python中,命名有以下几个规则:

  1. 只能由字母(大小写都可以)、数字和下划线组成。
  2. 不能以数字开头。
  3. 区分大小写,例如ageAge是两个不同的变量。
  4. 不能使用Python的关键字作为命名,如ifforwhile等。
  5. 尽量使用有意义且描述性强的名称,以便于代码的理解和维护。
  6. 可以使用驼峰命名法来区分单词,例如myVariable
  7. 对于常量,通常使用全大写字母和下划线组成的命名,例如MAX_VALUE
  8. 避免使用单个字符作为名称,除非是用来表示临时变量或者循环计数器。

 以下是根据命名规则的示例:

        合法命名的变量:

age = 25
name = "Alice"
my_variable = 10
total_students = 100

        不合法命名的变量:

1age = 25  # 开头不能是数字
my-variable = 10  # 不能使用连字符
if = 5  # 不能使用关键字作为变量名

        合法命名的函数:

def calculate_average():
    # 函数体
    pass

def get_total_students():
    # 函数体
    pass

        合法命名的类:

class PersonDetails:
    # 类的定义
    pass

class StudentRecord:
    # 类的定义
    pass

        合法命名的常量

MAX_VALUE = 100
PI = 3.14
  • 保留字:

Python有一些保留字,这些保留字是Python语言中已经预留的关键字,用于表示特定的语法结构或功能。以下是Python的保留字列表:

False

class

finally

is

return

None

continue

for

lambda

try

True

def

from

nonlocal

while

and

del

global

not

with

as

elif

if

or

yield

assert

else

import

pass

break

except

in

raise 

这些保留字具有特殊的含义,在编写代码时应避免将它们用作变量名、函数名或其他标识符。因此,在命名时应避免使用这些保留字,以免发生语法错误。

         将变量的名字命名为Python的保留字(如iffor)会导致程序报错。 

  • 数据类型:

在Python中,常见的数据类型包括:

        1. 数字类型(Number):整数(int)、浮点数(float)、复数(complex)等。

                整数

num1 = 10
num2 = -5

                浮点数

num3 = 3.14
num4 = -2.5

                复数

num5 = 2 + 3j
num6 = -4j

        2. 字符串类型(String):由一串字符组成的序列,用单引号或双引号括起来。

name = "Alice"
message = 'Hello, world!'

        在Python中,字符串是不可变的,即一旦创建就不能修改。字符是字符串的组成部分,一个字符可以用单引号或双引号括起来。

        下面是一些关于字符串和字符的示例:-

                字符串:`name = "Alice"`-

                字符:`first_char = 'A'`

        字符串可以进行各种操作,如拼接、切片和索引等。例如:

                字符串拼接:`greeting = "Hello" + " " + name`

                字符串切片:`substring = name[1:3]`

                字符串索引:`first_char = name[0]`

        通过这些操作,你可以对字符串进行修改、截取和访问其中的字符。注意的是字符串是不可变的,因此对字符串进行修改会创建一个新的字符串。

        3. 列表类型(List):有序、可变的数据集合,列表使用方括号 [] 来表示,元素之间用逗号分隔。下面是一些关于列表的示例:

numbers = [1, 2, 3, 4, 5]  # 列表中存储整数
fruits = ['apple', 'banana', 'orange']  # 列表中存储字符串
mixed = [1, 'apple', True, 3.14]  # 列表中存储不同类型的元素

        列表中的元素可以通过索引访问和修改。索引从0开始,表示列表中的第一个元素,负数索引表示从列表末尾开始倒数。例如:

print(numbers[0])  # 输出:1
print(fruits[2])  # 输出:orange
mixed[1] = 'melon'  # 修改列表中的元素
print(mixed)  # 输出:[1, 'melon', True, 3.14]

        列表还支持一系列操作,如添加元素、删除元素、切片等。例如:

numbers.append(6)  # 在列表末尾添加元素
fruits.remove('apple')  # 删除列表中的元素
sliced = mixed[1:3]  # 切片获取子列表

        4. 元组类型(Tuple):有序、不可变的数据类型,类似于列表。元组使用圆括号()来表示,元素之间用逗号分隔。下面是一些关于元组的示例:

coordinates = (2, 3)  # 元组中存储整数
person = ('Alice', 25, 'female')  # 元组中存储不同类型的元素

元组中的元素可以通过索引访问,但不能修改。索引从0开始,表示元组中的第一个元素,负数索引表示从元组末尾开始倒数。例如:

print(coordinates[0])  # 输出:2
print(person[1])  # 输出:25

        元组的不可变性意味着一旦创建,就不能修改其元素。因此,不能像列表那样添加、删除或修改元组中的元素。但是,可以使用元组进行元素的组合、传递和返回,以及在字典中作为键使用,因为元组的不可变性保证了其在这些场景下的安全性和稳定性。

   5. 字典类型(Dictionary):无序、可变的数据类型,用于存储键-值对。字典使用花括号{}来表示,键和值之间用冒号:分隔,键-值对之间用逗号分隔。下面是一个字典的示例:

details = {'name': 'Alice', 'age': 25, 'gender': 'female'}

        字典中的键必须是唯一的,而值可以是任意类型的数据。通过键可以访问和修改字典中的值。例如: 

print(details['name'])  # 输出:Alice
print(details['age'])  # 输出:25
details['gender'] = 'male'  # 修改字典中的值
print(details)  # 输出:{'name': 'Alice', 'age': 25, 'gender': 'male'}

         字典还支持一系列操作,如添加键-值对、删除键-值对、获取所有键或值等。例如:

details['address'] = '123 Main St'  # 添加键-值对
del details['age']  # 删除键-值对
keys = details.keys()  # 获取所有键
values = details.values()  # 获取所有值

        6. 集合类型(Set):无序、可变的数据类型,用于存储多个唯一的元素。集合使用花括号{}来表示,元素之间用逗号分隔。下面是一个集合的示例:

fruits = {'apple', 'banana', 'orange'}

        集合中的元素必须是唯一的,重复的元素会被自动去重。集合支持一系列操作,如添加元素、删除元素、判断元素是否存在等。例如:

fruits.add('grape')  # 添加元素'grape'
print(fruits)  # 输出:{'apple', 'banana', 'orange', 'grape'}

fruits.remove('banana')  # 删除元素'banana'
print(fruits)  # 输出:{'apple', 'orange', 'grape'}

print('apple' in fruits)  # 判断元素'apple'是否存在,输出:True

         集合还支持集合间的交集、并集、差集等操作。例如:

        7. 布尔类型(Boolean):表示真(True)或假(False)的值。

is_valid = True
is_older = False

        布尔(Boolean)类型是一种表示真或假的数据类型。布尔类型只有两个取值:True和False(首字母要大写)。布尔类型常用于条件判断和逻辑运算。在条件判断中,可以使用布尔类型来判断条件是否成立。例如:

x = 5
y = 10
is_greater = x > y  # 判断x是否大于y,结果为False
print(is_greater)  # 输出:False

        在逻辑运算中,布尔类型可以进行与、或、非等操作。例如:

a = True
b = False
result_and = a and b  # 与运算,结果为False
result_or = a or b  # 或运算,结果为True
result_not = not a  # 非运算,结果为False
print(result_and, result_or, result_not)  

        8. 空值类型(None):表示一个空对象或不存在。

result = None

         这些数据类型可以用于存储和操作不同种类的数据,Python还提供了丰富的内置函数和方法来处理这些数据类型。在编程过程中,根据实际需求选择合适的数据类型,对数据进行操作和处理。

  • 赋值语句:

x = 10
y = x + 5

        在上述例子中,将10赋值给变量x,然后通过表达式x + 5将结果赋值给变量y。 

  • 引用:

        在上述例子中,list1list2引用同一个列表对象。当对list1进行操作时,list2也会同步发生变化。这是因为它们引用的是同一个对象。 


2.基本输入输出函数:input()、eval()、print()。

  • input()函数用于从用户获取输入。它会等待用户输入,并将输入的内容作为字符串返回。例如:
name = input("请输入您的姓名:")
print("您的姓名是:" + name)

         这段代码会提示用户输入姓名,然后将输入的内容存储在name变量中,并输出到屏幕上。

  • eval()函数用于将字符串作为表达式进行求值。它会将传入的字符串作为有效的Python表达式进行求值,并返回求值结果。例如:

 

这段代码将字符串"2 + 3"作为表达式进行求值,得到结果5,并输出到屏幕上。

        需要注意的是,eval()函数具有一定的安全风险,因为它可以执行任意的Python代码。在使用eval()函数时,应该确保输入的字符串是可信的,以避免潜在的安全问题。

  • print()函数用于将数据输出到屏幕上。它可以接受一个或多个参数,并将它们输出到屏幕上。例如:

 

        这段代码将姓名和年龄拼接成一条字符串,并输出到屏幕上。

        print()函数还支持格式化输出,可以使用格式化字符串来控制输出的格式。例如:

 

        通过format()方法来格式化输出字符串,将name和age的值填充到字符串中。输出结果为"姓名:Bob,年龄:30"。这些基本的输入输出函数在日常的编程中非常常用,可以用于和用户进行交互、输出计算结果等。


3.源程序的书写风格。

        在Python中,有一种被广泛接受的源程序书写风格被称为PEP 8(Python Enhancement Proposal 8)。PEP 8提供了一套规范和建议,用于编写清晰、易读、一致的Python代码。以下是一些PEP 8中常见的指南:

        1. 缩进:使用4个空格进行缩进,不要使用制表符(Tab)。

        2. 行长限制:每行代码应尽量不超过79个字符。对于长表达式或注释,可以使用换行进行分割。

        3. 空格:在逗号、冒号、等号等字符后面使用空格,但在括号和方括号内部不要使用空格。

        4. 命名规范:使用小写字母和下划线来命名变量、函数和模块。用简洁、具有描述性的名称。

        5. 函数和类的命名:使用驼峰命名法(CamelCase)来命名函数和类。首字母大写,后续单词首字母也大写。

        6. 注释:使用注释来解释代码的功能和思路。注释应该使用英文,并且尽量清晰简洁。

        7. 导入模块:每个导入语句应该独占一行,避免使用通配符导入(例如:`from module import *`),而是明确列出需要导入的内容。

        这些规范和建议有助于提高代码的可读性和可维护性,使代码更易于理解和修改。此外,还有一些辅助工具可以帮助自动检查和修复代码风格,比如flake8和autopep8。


4.Python语言的特点。

        Python是一种高级、解释型、面向对象的编程语言,具有以下特点:

        1. 简洁易读:Python的语法非常简洁,使用空白符来组织代码,使得代码易读易理解。它使用简洁的语法规则和丰富的标准库,可以用更少的代码实现更多的功能。

        2. 动态类型:Python是一种动态类型语言,不需要声明变量的类型,变量的类型是根据赋值判断的。这使得代码编写更加灵活和快速,同时也减少了类型转换的复杂性。

        3. 高级内置数据结构:Python拥有丰富的高级内置数据结构,如列表、字典、集合和元组等。这些数据结构提供了方便的方法来处理和操作数据,大大简化了编程任务。

        4. 强大的标准库:Python拥有庞大而强大的标准库,包含了许多模块和函数,用于处理各类任务,如文件操作、网络通信、图形处理、数据库连接等。这些模块可以极大地提高开发效率,避免重复造轮子。

        5. 跨平台性:Python是一种跨平台的语言,可以在多个操作系统上运行,包括Windows、Linux、Mac等。这使得开发者可以在不同的平台上开发和运行Python程序,具有很高的可移植性。

        6. 可扩展性:Python允许使用C、C++等语言编写扩展模块,可以对性能要求较高的部分进行优化。这使得Python既具备了快速开发和原型设计的特性,又能够满足性能要求高的应用场景。

        7. 大活字数据分析库:Python拥有众多强大的数据分析和科学计算库,如NumPy、Pandas和matplotlib等,使得在数据处理、机器学习和人工智能领域有着广泛的应用。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

+1MB

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值