为了账号安全,请及时绑定邮箱和手机立即绑定

Python基础编程

标签:
SpringBoot
Python简介

Python是一种高级编程语言,由Guido van Rossum于1989年底发明,并于1991年首次发布版本1.0。Python的设计哲学强调代码的可读性和简洁性,通过使用缩进代替大括号来定义代码块。Python语言拥有丰富的库支持,可用于各种应用场景,包括但不限于Web开发、科学计算、数据分析、机器学习、自动化脚本等。

Python是解释型语言,这意味着不需要编译源代码,可以直接执行。这使得Python非常适合于快速原型开发和脚本编写。Python的语法简单易学,适合初学者入门,同时也被广泛应用于高级编程项目中。

Python语言的设计目标是简单易学,同时又具有强大的功能。Python支持多种编程范式,包括面向对象、命令式、函数式以及过程式编程等。Python的语法简洁明了,对于初学者来说非常友好。

安装Python环境

在开始使用Python编程之前,你需要在你的计算机上安装Python环境。以下是安装Python的步骤:

  1. 访问Python官网 (https://www.python.org/),进入下载页面
  2. 选择适合你操作系统的版本进行下载。目前Python的最新稳定版是Python 3.10,推荐使用Python 3.x版本。
  3. 安装Python。运行下载的安装程序,按照提示完成安装。通常建议勾选"Add Python to PATH"选项,这会将Python添加到系统的环境变量中,以便你可以在命令行中直接使用Python。
  4. 验证安装。打开命令行(Windows为cmd或PowerShell,Mac/Linux为终端),输入python --version(或python3 --version,取决于你的安装版本),查看Python的版本号,确认安装成功。

安装完成后,你可以通过命令行或集成开发环境(IDE)来编写和运行Python程序。

编写第一个Python程序

编写第一个Python程序,通常是从经典的"Hello, World!"程序开始。以下是执行此程序的步骤:

  1. 打开一个文本编辑器,如Notepad++或Visual Studio Code。
  2. 输入以下代码:
print("Hello, World!")
  1. 保存文件,文件名可以是hello.py或任何你喜欢的名字,但必须以.py为后缀。
  2. 打开命令行(Windows为cmd或PowerShell,Mac/Linux为终端)。
  3. 使用cd命令切换到你的Python文件所在的目录。
  4. 运行程序,输入python hello.pypython3 hello.py,取决于你的Python版本。
$ python hello.py
Hello, World!
Python基础语法

变量与类型

Python中的变量是用来存储数据的容器。Python支持多种类型的数据,包括整型、浮点型、字符串等。

常见数据类型

  • 整型(int):表示整数,如1, -1, 0
  • 浮点型(float):表示带有小数点的数字,如1.0, -2.3, 3.14
  • 字符串(str):表示文本数据,如"Hello, World!"
  • 布尔型(bool):表示真或假,只有两个值TrueFalse

变量声明与赋值

在Python中,你不需要显式声明变量的数据类型,可以直接进行赋值。例如:

x = 10          # 整型
y = 3.14        # 浮点型
name = "Alice"  # 字符串
is_active = True  # 布尔型

字符串

字符串是Python中最常用的数据类型之一,用于表示文本数据。字符串可以用单引号、双引号,甚至三引号(用于多行文本)来定义。

single_quote = 'Hello'
double_quote = "World"
multi_line = """This is a
multi-line
string."""

字符串支持多种操作,例如拼接、切片、格式化等。以下是一些字符串操作的示例:

# 拼接字符串
result = single_quote + ' ' + double_quote
print(result)  # 输出:Hello World

# 字符串切片
substring = multi_line[10:17]
print(substring)  # 输出:multi

# 字符串格式化
age = 25
formatted_string = f"Name: {name}, Age: {age}"
print(formatted_string)  # 输出:Name: Alice, Age: 25

条件语句

条件语句用来根据条件决定是否执行某段代码。Python中使用if, elif, else关键字来实现条件判断。

x = 10

if x > 0:
    print("x 是正数")
elif x == 0:
    print("x 是零")
else:
    print("x 是负数")

循环结构

循环结构用于重复执行一段代码,直到满足某个条件为止。Python中常用的循环结构有for循环和while循环。

for循环

for循环一般用于遍历序列(如列表、元组、字符串)等数据结构。以下是一个使用for循环遍历列表的示例:

fruits = ["apple", "banana", "cherry"]

for fruit in fruits:
    print(fruit)

while循环

while循环用于重复执行某段代码,直到条件不满足为止。以下是一个使用while循环的示例:

count = 0
while count < 5:
    print(count)
    count += 1
函数与模块

函数是将一组相关的代码组织起来,以便可以重复使用。在Python中,使用def关键字定义函数。

定义函数

函数可以接受参数,并且可以返回值。以下是一个简单的函数示例,该函数接收两个参数并返回它们的和:

def add_numbers(a, b):
    return a + b

result = add_numbers(5, 3)
print(result)  # 输出:8

模块和包

模块是一组相关的函数、类和变量的集合,通常是一个.py文件。模块可以被其他程序导入使用。Python中使用import关键字导入模块。

import math

print(math.sqrt(16))  # 输出:4.0

包是模块的集合,可以用来组织大型项目。包中包含一个特殊的文件__init__.py

# 包结构
project/
    __init__.py
    module1.py
    module2.py
异常处理

在Python中,异常处理机制通过tryexceptfinally等关键字实现。异常处理有助于程序更加健壮,能够优雅地处理运行时错误。

基本的异常处理

以下是一个简单的异常处理示例:

try:
    result = 10 / 0
except ZeroDivisionError:
    print("除数不能为零")
finally:
    print("无论是否发生异常,都执行此代码")

多个异常处理

一个try块可以处理多个异常,使用多个except子句:

try:
    # 可能发生多个类型的异常
    raise Exception("general exception")
except ZeroDivisionError:
    print("除数不能为零")
except Exception as e:
    print("捕获到一个异常:", e)
文件操作

Python提供了丰富的文件处理功能,可以读取、写入和操作文件。文件操作通常涉及打开、读取、写入和关闭文件。

基本的文件操作

以下是一个简单的文件读取和写入示例:

# 写入文件
with open("example.txt", "w") as file:
    file.write("Hello, World!\n")
    file.write("This is a test file.\n")

# 读取文件
with open("example.txt", "r") as file:
    content = file.read()
    print(content)

在上面的代码中,with语句确保文件在操作完成后自动关闭。

文件追加模式

如果你想在文件末尾追加内容,可以使用a模式打开文件:

with open("example.txt", "a") as file:
    file.write("追加内容。\n")

此外,还可以使用w+模式进行读写操作:

with open("example.txt", "w+") as file:
    file.write("写入新内容\n")
    file.seek(0)
    content = file.read()
    print(content)

文件对象方法

文件对象提供了多种方法来操作文件,例如:

with open("example.txt", "r+") as file:
    file.write("插入新的行。\n")
    file.seek(0)
    content = file.read()
    print(content)
高级Python特性

列表推导式

列表推导式是一种简洁的构造列表的方法。它可以在一行代码中完成复杂的循环和条件逻辑。

# 生成一个包含前10个平方数的列表
squares = [x**2 for x in range(10)]
print(squares)  # 输出:[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

生成器

生成器是一种特殊的迭代器,用于生成无限的数据流或延迟计算的数据。使用yield关键字定义生成器。

def countdown(n):
    while n > 0:
        yield n
        n -= 1

for i in countdown(5):
    print(i)

面向对象编程

Python支持面向对象编程(OOP),允许你创建类和对象。类中可以定义属性和方法。

class Dog:
    def __init__(self, name, breed):
        self.name = name
        self.breed = breed

    def bark(self):
        print(f"{self.name} is barking.")

dog1 = Dog("Buddy", "Labrador")
dog1.bark()  # 输出:Buddy is barking.

class Animal:
    def __init__(self, name):
        self.name = name

class Mammal(Animal):
    def __init__(self, name, fur_color):
        super().__init__(name)
        self.fur_color = fur_color

class Cat(Mammal):
    def __init__(self, name, fur_color, breed):
        super().__init__(name, fur_color)
        self.breed = breed

    def meow(self):
        print(f"{self.name} is meowing.")

cat1 = Cat("Whiskers", "gray", "Siamese")
cat1.meow()  # 输出:Whiskers is meowing.

异步编程

Python通过asyncio库支持异步编程,允许编写非阻塞的并发代码。

import asyncio

async def say_hello(name):
    print(f"Hello, {name}")
    await asyncio.sleep(1)  # 模拟耗时操作
    print(f"{name} said hello.")

async def main():
    await asyncio.gather(say_hello("Alice"), say_hello("Bob"))

asyncio.run(main())
实践示例:构建一个简单的Web爬虫

Python具有强大的网络爬虫库,如requestsBeautifulSoup,可以用来抓取和解析网页数据。以下是一个简单的Web爬虫示例,用于抓取百度百科的某个页面。

安装依赖库

首先,你需要安装requestsBeautifulSoup库,可以使用pip命令:

pip install requests beautifulsoup4

编写爬虫程序

以下是一个简单的爬虫示例,用于获取百度百科中Python词条的标题:

import requests
from bs4 import BeautifulSoup

def get_baidu_baike_title(url):
    response = requests.get(url)
    soup = BeautifulSoup(response.text, 'html.parser')
    title = soup.find(id="lemmaTitle_word").get_text()
    return title

url = "https://baike.baidu.com/item/Python"
title = get_baidu_baike_title(url)
print(f"词条标题:{title}")

解析与处理数据

在上面的示例中,我们使用BeautifulSoup库来解析HTML文档,并提取出词条的标题。如果你想进一步处理数据,可以使用正则表达式或XPath等技术。

扩展功能

你可以进一步扩展这个爬虫,例如:

  • 抓取更多的页面数据
  • 将抓取的数据保存到文件或数据库中
  • 处理抓取过程中可能出现的异常情况

例如,处理抓取过程中可能出现的异常情况:

import requests
from bs4 import BeautifulSoup

def get_baidu_baike_title(url):
    try:
        response = requests.get(url)
        response.raise_for_status()  # 检查请求是否成功
        soup = BeautifulSoup(response.text, 'html.parser')
        title = soup.find(id="lemmaTitle_word").get_text()
    except requests.RequestException as e:
        print(f"请求错误: {e}")
        title = None
    except Exception as e:
        print(f"解析错误: {e}")
        title = None
    return title

url = "https://baike.baidu.com/item/Python"
title = get_baidu_baike_title(url)
print(f"词条标题:{title}")

此外,还可以将抓取的数据保存到文件中:

import requests
from bs4 import BeautifulSoup

def save_content_to_file(content, filename):
    with open(filename, "w") as file:
        file.write(content)

def get_baidu_baike_title(url):
    try:
        response = requests.get(url)
        response.raise_for_status()
        soup = BeautifulSoup(response.text, 'html.parser')
        title = soup.find(id="lemmaTitle_word").get_text()
        save_content_to_file(title, "title.txt")
    except requests.RequestException as e:
        print(f"请求错误: {e}")
        title = None
    except Exception as e:
        print(f"解析错误: {e}")
        title = None
    return title

url = "https://baike.baidu.com/item/Python"
title = get_baidu_baike_title(url)
print(f"词条标题:{title}")
总结

本文介绍了Python的基础编程知识,包括安装Python环境、编写第一个程序、基础语法、异常处理、文件操作、面向对象编程等。通过这些基础内容,你已经可以开始使用Python进行简单的编程任务。如果你希望更深入地学习Python,可以参考官方文档或参加在线课程,如慕课网提供的课程(https://www.imooc.com/)。

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消