亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

Python編程基礎入門

標簽:
安全 API

Python 是一种高级编程语言,具有简洁、易读和易写的特点。由于其简洁性,Python 通常被用于开发应用程序、自动化脚本、网络爬虫、数据分析、机器学习、网络开发等。Python的语法非常接近自然语言,这使得它成为初学者学习编程的理想选择。本文将从Python的基础概念开始,逐步深入到实际应用。

Python 安装与环境搭建

安装 Python 非常简单,只需要访问官方网站 Python 官网 下载对应的操作系统版本即可。Python 安装完成后,可以通过命令行或集成开发环境(IDE)来编写和运行 Python 程序。

安装 Python

  1. 访问 Python 官网
  2. 选择对应的系统版本进行下载,例如 Windows、macOS 或 Linux。
  3. 根据提示完成安装过程。
  4. 安装完成后,在命令行中输入 python --version 来验证 Python 是否安装成功。
python --version

集成开发环境(IDE)

Python 可以在任何文本编辑器中编写和运行,但是使用 IDE 可以提供更加友好的开发体验。推荐的 Python IDE 有:

  • PyCharm:功能强大,提供了代码高亮、代码提示、调试等功能。
  • Visual Studio Code (VS Code):轻量级、开源,支持多种编程语言,可安装插件来增强功能。
  • Jupyter Notebook:适合数据科学和机器学习项目,支持实时运行代码,提供交互界面。

常用的 Python 库

Python 有一个庞大的库生态系统,这里列举几个常用且重要的库:

  • NumPy:用于科学计算,提供多维数组对象和大量与数组相关的数学函数。
  • Pandas:数据处理和分析,提供 DataFrame 和 Series 数据结构。
  • Matplotlib:数据可视化,提供丰富的绘图功能。
  • Scikit-learn:机器学习库,提供多种机器学习算法。
  • Flask:轻量级的 Web 应用框架。

安装这些库可以通过 pip 来完成,例如安装 NumPy:

pip install numpy
Python 基础语法

变量与数据类型

Python 中的变量不需要声明类型,可以直接赋值。Python 支持多种基本数据类型,包括整型、浮点型、字符串、布尔型等。

# 整型
x = 10
print(x) . 输出:10

# 浮点型
y = 3.14
print(y)  # 输出:3.14

# 字符串
name = "Alice"
print(name)  # 输出:Alice

# 布尔型
is_active = True
print(is_active)  # 输出:True

控制结构

Python 中的控制结构包括条件语句和循环语句。

条件语句

Python 使用 ifelifelse 来实现条件语句。

age = 18
if age >= 18:
    print("成年人")
elif age >= 13:
    print("青少年")
else:
    print("儿童")

循环语句

Python 支持 forwhile 循环。

# for 循环
for i in range(5):
    print(i)  # 输出:0, 1, 2, 3, 4

# while 循环
count = 0
while count < 5:
    print(count)  # 输出:0, 1, 2, 3, 4
    count += 1
函数与模块

函数定义与调用

Python 中可以定义函数来封装代码块,以便重复使用。

def greet(name):
    return f"Hello, {name}"

print(greet("Alice"))  # 输出:Hello, Alice

模块与包

Python 中可以使用模块和包来组织代码。模块是一个包含 Python 代码的文件,通常以 .py 为扩展名。包是指一个包含多个模块的目录,其中包含一个名为 __init__.py 的特殊文件。

# 创建一个名为 `math_operations` 的模块
# math_operations.py
def add(a, b):
    return a + b

def subtract(a, b):
    return a - b

然后在另一个文件中导入并使用这个模块。

import math_operations

result = math_operations.add(10, 5)
print(result)  # 输出:15

标准库

Python 提供了丰富的标准库,涵盖了多种功能,如文件输入输出、网络编程、数据压缩等。

import os

# 获取当前工作目录
current_dir = os.getcwd()
print(current_dir)

第三方库

Python 社区提供了大量的第三方库,可以通过 pip 安装。

pip install requests

然后在代码中导入并使用这个库。

import requests

response = requests.get("https://api.github.com")
print(response.status_code)  # 输出:200
文件操作

Python 中可以使用内置的 open 函数来读写文件。

读取文件

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

写入文件

# Python 写入文件
with open("example.txt", "w") as file:
    file.write("Hello, world!")

文件操作示例

# 写入文件
with open("example.txt", "w") as file:
    file.write("Hello, world!\n")
    file.write("Python is awesome!\n")

# 读取文件
with open("example.txt", "r") as file:
    lines = file.readlines()
    for line in lines:
        print(line.strip())
异常处理

Python 中可以使用 tryexceptfinally 语句来捕获和处理异常。

try:
    x = 10 / 0
except ZeroDivisionError as e:
    print(f"除数不能为零: {e}")
finally:
    print("执行完毕")
数据结构与算法

Python 提供了多种内置的数据结构,包括列表、元组、字典和集合。

列表

列表是一种可变的序列,可以存储多个元素。

# 创建列表
numbers = [1, 2, 3, 4, 5]

# 访问元素
print(numbers[0])  # 输出:1

# 添加元素
numbers.append(6)
print(numbers)  # 输出:[1, 2, 3, 4, 5, 6]

# 删除元素
del numbers[0]
print(numbers)  # 输出:[2, 3, 4, 5, 6]

元组

元组是一种不可变的序列,通常用于存储不可改变的数据。

# 创建元组
point = (10, 20)

# 访问元素
print(point[0])  # 输出:10

# 元组是不可变的,不能添加或删除元素

字典

字典是一种键值对的数据结构,键必须是不可变类型。

# 创建字典
person = {"name": "Alice", "age": 25}

# 访问元素
print(person["name"])  # 输出:Alice

# 添加元素
person["address"] = "123 Main St"
print(person)  # 输出:{'name': 'Alice', 'age': 25, 'address': '123 Main St'}

# 删除元素
del person["age"]
print(person)  # 输出:{'name': 'Alice', 'address': '123 Main St'}

集合

集合是一组不重复的元素。

# 创建集合
fruits = {"apple", "banana", "cherry"}

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

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

算法示例

排序算法

下面是冒泡排序的示例:

def bubble_sort(nums):
    n = len(nums)
    for i in range(n):
        for j in range(n - i - 1):
            if nums[j] > nums[j + 1]:
                nums[j], nums[j + 1] = nums[j + 1], nums[j]
    return nums

numbers = [64, 34, 25, 12, 22, 11, 90]
sorted_numbers = bubble_sort(numbers)
print(sorted_numbers)  # 输出:[11, 12, 22, 25, 34, 64, 90]

递归算法

递归是一种解决问题的方法,通过将问题分解为更小的子问题来解决。

def factorial(n):
    if n == 0:
        return 1
    else:
        return n * factorial(n - 1)

print(factorial(5))  # 输出:120
面向对象编程

Python 支持面向对象编程,允许定义类和对象。

类定义

定义一个简单的类来表示学生信息。

class Student:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def introduce(self):
        return f"姓名:{self.name}, 年龄:{self.age}"

# 创建对象
student = Student("Alice", 20)
print(student.introduce())  # 输出:姓名:Alice, 年龄:20

继承

类可以继承其他类,继承了父类的所有属性和方法。

class Graduate(Student):
    def __init__(self, name, age, major):
        super().__init__(name, age)
        self.major = major

    def introduce(self):
        return f"姓名:{self.name}, 年龄:{self.age}, 专业:{self.major}"

# 创建对象
graduate = Graduate("Bob", 22, "计算机科学")
print(graduate.introduce())  # 输出:姓名:Bob, 年龄:22, 专业:计算机科学

多态

多态允许子类覆盖父类的方法。

class Undergraduate(Student):
    def introduce(self):
        return f"姓名:{self.name}, 年龄:{self.age}, 状态:本科生"

# 创建对象
undergraduate = Undergraduate("Charlie", 18)
print(undergraduate.introduce())  # 输出:姓名:Charlie, 年龄:18, 状态:本科生
实战项目

简单的 Web 应用

使用 Flask 框架创建一个简单的 Web 应用。

from flask import Flask, request

app = Flask(__name__)

@app.route('/')
def home():
    return "欢迎来到我的网站!"

@app.route('/greet', methods=['POST'])
def greet():
    name = request.form['name']
    return f"你好,{name}!"

if __name__ == "__main__":
    app.run(debug=True)

数据处理与分析

使用 Pandas 进行数据处理和分析。

import pandas as pd

# 创建 DataFrame
data = {
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Age': [20, 22, 18],
    'Score': [85, 90, 88]
}

df = pd.DataFrame(data)
print(df)

# 数据过滤
filtered = df[df['Score'] > 90]
print(filtered)

# 数据排序
sorted_df = df.sort_values(by='Score', ascending=False)
print(sorted_df)

JWT 介绍与使用

JWT(JSON Web Token)是一种开放标准(RFC 7519),用于在网络应用环境中安全地传输信息。JWT通常用于用户认证和授权。

生成 JWT

import jwt
import datetime

def generate_jwt():
    payload = {
        'user_id': 12345,
        'exp': datetime.datetime.utcnow() + datetime.timedelta(minutes=30),
        'iat': datetime.datetime.utcnow()
    }
    token = jwt.encode(payload, 'secret-key', algorithm='HS256')
    return token.decode('utf-8')

# 示例
token = generate_jwt()
print("JWT Token: ", token)

验证 JWT

def verify_jwt(token):
    try:
        payload = jwt.decode(token, 'secret-key', algorithms=['HS256'])
        return payload
    except jwt.ExpiredSignatureError:
        return 'Signature expired. Please log in again.'
    except jwt.InvalidTokenError:
        return 'Invalid token. Please log in again.'

# 示例
payload = verify_jwt(token)
print("Payload: ", payload)

JWT 在 Flask 中的使用示例

在实际应用中,JWT 可以用于用户认证。下面是一个简单的示例,展示如何在 Flask 应用中使用 JWT 进行用户认证。

from flask import Flask, request, jsonify
import jwt
import datetime

app = Flask(__name__)

@app.route('/login', methods=['POST'])
def login():
    # 简化的用户认证过程,实际应用中需要验证用户名和密码
    username = request.form['username']
    password = request.form['password']
    if username == 'admin' and password == 'password':
        payload = {
            'user_id': 1,
            'exp': datetime.datetime.utcnow() + datetime.timedelta(minutes=30),
            'iat': datetime.datetime.utcnow()
        }
        token = jwt.encode(payload, 'secret-key', algorithm='HS256')
        return jsonify({'token': token.decode('utf-8')})
    else:
        return jsonify({'error': 'Invalid credentials'}), 401

@app.route('/protected', methods=['GET'])
def protected():
    token = request.headers.get('Authorization')
    if not token:
        return jsonify({'error': 'Missing token'}), 401
    try:
        payload = jwt.decode(token.replace('Bearer ', ''), 'secret-key', algorithms=['HS256'])
        return jsonify({'message': 'Success', 'user_id': payload['user_id']})
    except jwt.ExpiredSignatureError:
        return jsonify({'error': 'Token expired'}), 401
    except jwt.InvalidTokenError:
        return jsonify({'error': 'Invalid token'}), 401

if __name__ == "__main__":
    app.run(debug=True)

通过以上的介绍和示例代码,你可以了解到 Python 的基本语法、数据结构、面向对象编程以及一些实用的库。希望这些内容能帮助你快速上手 Python 编程。

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消