Web——Python基础

下面是一些学习网络安全知识需要了解的一些python知识。

目录

一、Python是什么

特点

应用领域

二、Python 开发环境

1. 安装 Python

2. 选择开发工具

三、Python基础语法

1. 注释

2. 变量与数据类型

2.1 变量

2.2 数据类型

3. 基本输入输出

3.1 输出

3.2 输入

4. 运算符

4.1 算术运算符

4.2 比较运算符

4.3 逻辑运算符

5. 控制结构

5.1 条件语句

5.2 循环语句

5.2.1 for 循环

5.2.2 while 循环

6. 数据结构

6.1 列表(list)

6.2 元组(tuple)

6.3 集合(set)

6.4 字典(dict)

7.range函数

8. 函数定义与调用

四、Python模块

1. 模块的概念

2. 模块的创建

3. 模块的导入

3.1 import 语句

3.2 from...import 语句

3.3 from...import * 语句

3.4 为模块或导入项取别名

4. __name__ 属性

5. Python 标准库模块

5.1 math 模块

5.1.1 数学函数

5.1.2 数学常量

5.2 random 模块

5.3 os 模块

6. 第三方模块:

五、Python类与魔术方法

一、类(Class)基础

二、魔术方法(Magic Methods)


一、Python是什么

特点

  • 易学习:语法简洁,代码量少,用缩进表示代码块,内置函数实用,如 print("Hello, World!") 般简单上手。

  • 易阅读:代码像英文文章自然流畅,命名直观,注释方便,便于团队协作理解。

  • 易维护:开源且源码优质,模块化设计,社区文档与工具丰富,定位修复问题快。

应用领域

  • Web 开发:借助 Django、Flask 等框架,可搭建大小型网站,如 Instagram 用其做后端。

  • 数据科学:NumPy、Pandas 等库助力数据处理分析,Matplotlib 等用于可视化,在多领域挖掘数据价值。

  • AI 与机器学习:TensorFlow、PyTorch 等框架推动神经网络模型构建,用于图像、语言等识别。

  • 自动化运维与测试:写脚本实现服务器配置、软件部署等,测试框架保证软件质量。

  • 游戏开发:Pygame 库适合初学者开发 2D 小游戏,开发速度快。

  • 系统运维:与系统交互,自动化管理任务,监控资源、管理账户、备份数据。

二、Python 开发环境

1. 安装 Python

Python 可从Python 官方网站下载对应操作系统的安装包进行安装。安装时注意勾选 “Add Python to PATH”,这样能在命令行中直接使用 Python 命令。

2. 选择开发工具
  • 集成开发环境(IDE)

    • PyCharm:功能强大,支持代码自动补全、调试、版本控制等,有社区版(免费)和专业版(付费)。

    • Visual Studio Code(VS Code):轻量级且开源,通过安装 Python 扩展,能实现代码高亮、调试等功能。

三、Python基础语法

1. 注释

  • 单行注释:以 # 开头,用于对本行代码进行解释。

(快捷键: ctrl + /)

 # 这是一个单行注释
 print("Hello, World!")

多行注释:使用三引号 '''""" 来注释多行内容。

 '''
 这是一个多行注释
 可以写很多行说明
 '''
 print("注释不影响代码运行")

2. 变量与数据类型

2.1 变量
  • 变量用于存储数据,不需要提前声明类型。变量名遵循一定规则,如只能包含字母、数字和下划线,且不能以数字开头。

 
age = 25
 name = "John"

2.2 数据类型

  • 数值类型

    • 整数(int):如 10, -5

    • 浮点数(float):如 3.14, -0.5

 num1 = 10
 num2 = 3.14
  • 字符串(str):用单引号 ' 或双引号 " 括起来。

 
message = 'Hello'
 greeting = "World"
  • 布尔类型(bool):只有两个值 TrueFalse

 is_student = True

3. 基本输入输出

3.1 输出
  • 使用 print() 函数输出内容。

 print("这是输出内容")

3.2 输入
  • 使用 input() 函数获取用户输入,返回值为字符串类型。

name = input("请输入你的名字: ")
 print(f"你好, {name}")

4. 运算符

4.1 算术运算符
  • +(加)、-(减)、*(乘)、/(除)、//(整除)、%(取余)、**(幂运算)。

 a = 10
 b = 3
 print(a + b)  # 输出 13
 print(a // b) # 输出 3

4.2 比较运算符
  • ==(等于)、!=(不等于)、>(大于)、<(小于)、>=(大于等于)、<=(小于等于),返回布尔值。

 
print(10 > 5)  # 输出 True

4.3 逻辑运算符
  • and(与)、or(或)、not(非)。

 x = True
 y = False
 print(x and y) # 输出 False

5. 控制结构

5.1 条件语句
  • 使用 if-elif-else 结构。Python 通过缩进来表示代码块。

 
age = 18
 if age < 18:
     print("未成年")
 elif age == 18:
     print("刚成年")
 else:
     print("成年了")

5.2 循环语句

5.2.1 for 循环
  • 常用于遍历序列(如列表、字符串等)。

 
fruits = ["apple", "banana", "cherry"]
 for fruit in fruits:
     print(fruit)

5.2.2 while 循环
  • 只要条件为真,就会一直执行循环体。

 i = 0
 while i < 5:
     print(i)
     i = i + 1

6. 数据结构

6.1 列表(list)
  • 用方括号 [] 表示,可存储不同类型的元素,元素可修改。

 
my_list = [1, "apple", True]
 my_list[0] = 2
 print(my_list)

6.2 元组(tuple)
  • 用圆括号 () 表示,元素不可修改。

 my_tuple = (1, 2, 3)

6.3 集合(set)
  • 用花括号 {} 表示,元素唯一,无序。

 my_set = {1, 2, 2, 3}  # 会自动去重
 print(my_set)

6.4 字典(dict)
  • 用花括号 {} 表示,由键值对组成,键必须唯一。

 my_dict = {"name": "John", "age": 25}
 print(my_dict["name"])

7.range函数

range 函数是一个内置函数,常用于循环中生成一个整数序列。

range 函数常见的使用形式有以下三种:

  1. range(stop):生成从 0 开始到 stop - 1 的整数序列。例如:

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

上述代码会依次输出 01234

2.range(start, stop):生成从 start 开始(包含 start)到 stop - 1 的整数序列。例如:

 for i in range(2, 7):
     print(i)

这段代码会输出 23456

3.range(start, stop, step):生成从 start 开始(包含 start),每次递增 step,直到达到或超过 stop 的整数序列(不包含 stop)。step 不能为 0,否则会引发 ValueError 异常。例如:

 
for i in range(1, 10, 2):
     print(i)

此代码会输出 13579

8. 函数定义与调用

  • 定义:使用def关键字

 def greet():
     print("Hello!")
  • 调用:直接使用函数名

 
greet() # 输出:Hello!

位置参数

  • 定义:按顺序传递参数

 def add(a, b):
     return a + b
  • 调用

 result = add(3, 5) # result = 8

四、Python模块

  • Python模块

是包含Python代码的文件,其扩展名通常为`.py。模块是Python程序的基本组成部分,它们提供了封装代码的方式,使得代码更加组织化、易于重用和维护。模块可以包含函数、类和变量,也可以包含可执行的代码

  • 系统内置模块:

是Python自带的标准库,它们提供了丰富的功能和工具,用于执行各种常见的任务。这些模块通常与Python解释器一起安装,无需额外下载或安装。系统内置模块包括:os模块、sys模块、random模块、time模块。

  • 自定义模块:

开发者自己编写的模块,用于封装特定的功能或逻辑。它们通常是为了提高代码的可重用性和模块化程度而创建的。自定义模块可以是任何有效的Python文件(以“.py”为后缀名),里面可以包含全局变量、函数、类等。

1. 模块的概念

在 Python 里,模块是包含 Python 定义与语句的文件,其扩展名为 .py。模块能把代码组织成逻辑单元,提升代码的可维护性与复用性。例如,我们可以把功能相关的函数和类放到一个模块里。

2. 模块的创建

要创建模块,只需创建一个以 .py 结尾的文件,在其中编写 Python 代码即可。

示例:创建 math_operations.py 模块

 # math_operations.py
 def add(a, b):
     return a + b
 ​
 def subtract(a, b):
     return a - b

3. 模块的导入

3.1 import 语句

运用 import 语句可导入整个模块。

import math_operations

result_add = math_operations.add(3, 5)
result_subtract = math_operations.subtract(8, 2)
print(result_add)
print(result_subtract)

在这个例子中,我们导入了 math_operations 模块,之后通过 模块名.函数名 的方式调用模块里的函数。

3.2 from...import 语句

使用 from...import 语句能从模块中导入特定的函数或类。

 from math_operations import add
 ​
 result = add(4, 6)
 print(result)

这里只从 math_operations 模块导入了 add 函数,调用时直接使用函数名即可。

3.3 from...import * 语句

from...import * 语句可导入模块中的所有内容。不过,这种方式可能导致命名冲突,不建议在生产环境使用。

 from math_operations import *
 ​
 result1 = add(2, 3)
 result2 = subtract(7, 4)
 print(result1)
 print(result2)

3.4 为模块或导入项取别名

使用 as 关键字能为模块或导入的函数、类取别名,使代码更简洁易读。

 import math_operations as mo
 ​
 result = mo.add(1, 9)
 print(result)
 ​
 from math_operations import subtract as sub
 ​
 result_sub = sub(10, 5)
 print(result_sub)

4. __name__ 属性

每个模块都有一个 __name__ 属性,当模块作为脚本直接运行时,__name__ 属性的值为 '__main__';当模块被导入时,__name__ 属性的值为模块名。借助这个特性,可在模块中编写测试代码。

 # math_operations.py
 def add(a, b):
     return a + b
 ​
 def subtract(a, b):
     return a - b
 ​
 if __name__ == '__main__':
     # 测试代码
     print(add(2, 3))
     print(subtract(5, 1))

在上述代码里,测试代码只有在该模块作为脚本直接运行时才会执行,被其他模块导入时不会执行。

5. Python 标准库模块

Python 自带了丰富的标准库模块,涵盖文件操作、网络编程、数据处理等多个方面。

5.1 math 模块

math 模块是 Python 标准库中用于数学运算的重要模块,提供了大量的数学函数和常量,以下是一些常见的函数和常量介绍:

5.1.1 数学函数
  • math.sqrt(x):返回参数 x 的平方根,x 必须是非负数。

 
import math
 result = math.sqrt(25)
 print(result)  # 输出:5.0
  • math.pow(x, y):返回 xy 次幂,等价于 x ** y

 
result = math.pow(2, 3)
 print(result)  # 输出:8.0
  • math.sin(x)、math.cos(x)、math.tan(x):分别返回弧度值 x 的正弦、余弦、正切值。

 
import math
 angle_radians = math.pi / 4  # 45 度对应的弧度值
 sin_value = math.sin(angle_radians)
 cos_value = math.cos(angle_radians)
 tan_value = math.tan(angle_radians)
 print(sin_value)  
 print(cos_value)  
 print(tan_value)  
  • math.ceil(x):返回大于或等于 x 的最小整数。

 result = math.ceil(3.14)
 print(result)  # 输出:4
  • math.floor(x):返回小于或等于 x 的最大整数。

 result = math.floor(3.99)
 print(result)  # 输出:3
  • math.factorial(x):返回 x 的阶乘,x 必须是非负整数。

 result = math.factorial(5)
 print(result)  # 输出:120

5.1.2 数学常量
  • math.pi:表示圆周率,约等于 3.141592653589793。

 print(math.pi)
  • math.e:自然对数的底数,约等于 2.718281828459045。

 print(math.e)

5.2 random 模块

用于生成随机数。

 import random
 ​
 random_num = random.randint(1, 10)
 print(random_num)

5.3 os 模块

用于与操作系统交互。

 import os
 ​
 current_dir = os.getcwd()
 print(current_dir)

6. 第三方模块:

是由其他开发者或组织编写的,并发布到Python包索引等公共仓库中的模块。这些模块通常提供了特定领域或特定任务的高级功能和工具,如数据分析、网络请求等。要使用第三方模块,需要先通过pip等工具安装。常见模块包括:Requests模块、Pandas模块、NumPy模块

安装第三方模块:

找到python路径下的Scripts.

下载模块:pip install 模块名

示例:下载requests模块

输入:pip install requests

这里博主已经提前下好了,所以呢大家看到的画面和我不一样是正常的

五、Python类与魔术方法

一、类(Class)基础

  1. 定义类:类是一种抽象的数据类型,用于创建对象。使用 class 关键字定义,例如:

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

这里 Dog 是类名,__init__ 是初始化方法(也叫构造函数),self 代表类的实例本身,nameage 是实例属性。

创建对象(实例化):通过类名加括号的方式创建对象,如:

 my_dog = Dog("旺财", 3)

my_dog 就是 Dog 类的一个实例。

访问属性和方法:使用点号(.)访问实例的属性和方法,例如:

 print(my_dog.name)

二、魔术方法(Magic Methods)

_init__ 方法:在创建对象时自动调用,用于初始化对象的属性。

 class Person:
     def __init__(self, first_name, last_name):
         self.first_name = first_name
         self.last_name = last_name

str 方法:当使用 print() 函数打印对象时,会调用这个方法,它应该返回一个字符串,用于描述对象。

class Person:
     def __init__(self, first_name, last_name):
         self.first_name = first_name
         self.last_name = last_name
     def __str__(self):
         return f"{self.first_name} {self.last_name}"
 ​
 p = Person("Alice", "Smith")
 print(p)  # 输出: Alice Smith

repr__ 方法:它也是返回对象的字符串表示,通常用于开发和调试,要求返回的字符串能够准确地重新创建对象。如果 __str__ 方法不存在,print() 也会调用 __repr__ 方法。

 
class Person:
     def __init__(self, first_name, last_name):
         self.first_name = first_name
         self.last_name = last_name
     def __repr__(self):
         return f"Person('{self.first_name}', '{self.last_name}')"
 ​
 p = Person("Bob", "Johnson")
 print(repr(p))  # 输出: Person('Bob', 'Johnson')

len 方法:当对对象使用 len() 函数时,会调用这个方法,返回对象的长度。

 
class MyList:
     def __init__(self, data):
         self.data = data
     def __len__(self):
         return len(self.data)
 ​
 my_list = MyList([1, 2, 3, 4])
 print(len(my_list))  # 输出: 4

add__ 方法:用于定义对象的加法操作。当使用 + 运算符时,会调用这个方法。

 class Point:
     def __init__(self, x, y):
         self.x = x
         self.y = y
     def __add__(self, other):
         return Point(self.x + other.x, self.y + other.y)
 ​
 p1 = Point(1, 2)
 p2 = Point(3, 4)
 p3 = p1 + p2
 print(p3.x, p3.y)  # 输出: 4 6

魔术方法让我们可以自定义类的行为,使其更符合 Python 的语法习惯和编程逻辑。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值