一、学习笔记
1、基本语法
- 变量和赋值
使用 = 运算符进行变量赋值,例如:x = 5
- 数据类型
常见数据类型包括整数 int, 浮点数 float, 字符串 str, 列表 list, 元组 tuple, 字典 dict, 集合 set
例:
name = "Alice"
age = 25
height = 1.75
fruits = ["apple", "banana", "orange"]
2. 控制流
- 条件语句
使用 if, elif, else 进行条件判断
例:
if age >= 18:
print("成年人")
else:
print("未成年人")
- 循环
for 循环用于遍历序列
while 循环在满足条件时执行
例:
for fruit in fruits:
print(fruit)
counter = 0
while counter < 5:
print(counter)
counter += 1
3. 函数
- 函数定义与调用
例:
def greet(name):
print("Hello, " + name + "!")
greet("Bob")
- 参数与返回值
函数可以接受参数并返回值
例:
def add_numbers(x, y):
return x + y
result = add_numbers(5, 3)
print(result)
4. 字符串处理
- 字符串拼接
例:
first_name = "John"
last_name = "Doe"
full_name = first_name + " " + last_name
print(full_name)
- 字符串格式化
例:
age = 30
message = "I am {} years old.".format(age)
print(message)
5. 列表和元组
- 列表(List)
有序、可变的数据结构
例:
numbers = [1, 2, 3, 4, 5]
- 元组(Tuple)
有序、不可变的数据结构
例:
coordinates = (3, 4)
6. 字典和集合
- 字典(Dictionary)
无序、键值对的数据结构
例:
person = {"name": "Alice", "age": 25}
- 集合(Set)
无序、唯一元素的数据结构
例:
unique_numbers = {1, 2, 3, 4, 5}
7. 文件操作
- 读写文件
例:
- 写入文件
with open("example.txt", "w") as file:
file.write("Hello, Python!")
- 读取文件
with open("example.txt", "r") as file:
content = file.read()
print(content)
这是一个猜数字小游戏
import random
def guess_number():
secret_number = random.randint(1, 100) # 生成一个1到100之间的随机数
attempts = 0
print("这里是猜数字游戏~")
print("我已经想好了一个1~100的数字,你猜猜是哪个数字呢")
while True:
try:
user_guess = int(input("请输入你的猜测:"))
attempts += 1
if user_guess < secret_number:
print("太小了,再试试吧")
elif user_guess > secret_number:
print("太大了,再试试吧")
else:
print(f"恭喜你,你猜对了啊哈哈哈哈哈哈哈哈哈!\n秘密数字是 {secret_number},你用了 {attempts} 次猜中它")
break
except ValueError:
print("请输入一个有效的数字。")
if __name__ == "__main__":
guess_number()
- import random 是 Python 中用于引入名为 random 的模块的语句,在这个语句执行后,就可以使用 random 模块中提供的函数和方法。
- random 模块提供了生成伪随机数的功能,这些随机数可以用于各种应用,例如在游戏中创建随机事件,生成测试数据,或者在数据科学领域进行模拟等。
例如使用math模块:
import math
printf(math.sqrt(36))
__name__ 是一个特殊的内置变量,它表示当前模块的名称,当一个 Python 脚本被执行时,__name__ 的值会被设置为 "__main__",因此,if __name__ == "__main__": 这个条件判断检查当前模块是否是主程序直接执行的,而不是被其他模块导入的。
如果脚本是被直接执行的,那么 guess_number() 函数会被调用,如果脚本被作为模块导入到其他脚本中,那么 guess_number() 就不会被自动执行。
用随机数的思路可以编写一个随机点名的小程序。
学生管理系统(随机点名)
import random
class StudentManager: #创建了一个类
def __init__(self):
self.students = {} #初始化空字典
def add_student(self, student_id, student_name):
self.students[student_id] = student_name
print(f"学生 {student_name}(学号 {student_id})添加成功")
def delete_student(self, student_id):
if student_id in self.students:
deleted_name = self.students.pop(student_id)
print(f"学生 {deleted_name}(学号 {student_id})已成功删除")
else:
print(f"学号 {student_id} 不存在,无法删除")
def update_student(self, student_id, new_name):
if student_id in self.students:
self.students[student_id] = new_name
print(f"学生 {new_name}(学号 {student_id})的信息已成功更新")
else:
print(f"学号 {student_id} 不存在,无法更新学生信息")
def random_call(self):
if not self.students:
print("请先录入学生信息")
else:
random_student_id = random.choice(list(self.students.keys()))
random_student_name = self.students[random_student_id]
print(f"随机点名结果:学号 {random_student_id},姓名 {random_student_name}。")
def main():
student_manager = StudentManager() #创建一个对象,可以访问StudentManager中定义的方法和属性
while True:
print("\n学生管理系统")
print("1. 录入学生信息")
print("2. 删除学生信息")
print("3. 修改学生信息")
print("4. 随机点名")
print("5. 退出")
choice = input("请选择:")
if choice == "1":
student_id = input("学号:")
student_name = input("姓名:")
student_manager.add_student(student_id, student_name)
elif choice == "2":
student_id = input("要删除的学号:")
student_manager.delete_student(student_id)
elif choice == "3":
student_id = input("要修改的学号:")
new_name = input("新的姓名:")
student_manager.update_student(student_id, new_name)
elif choice == "4":
student_manager.random_call()
elif choice == "5":
print("程序已退出")
break
else:
print("bibibi-错误-请重新输入。")
if __name__ == "__main__":
main()
pop() 是字典的一个方法,用于删除并返回指定键的值。
二、网络基础
网络基础
1. OSI模型
OSI模型(Open Systems Interconnection)是一个用于理解和设计网络架构的参考模型,分为七层:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层
2. TCP/IP模型
TCP/IP模型是实际互联网采用的协议栈,包含四层:网络接口层、网络层、传输层、应用层
3. IP地址与子网掩码
IP地址是用于在网络上唯一标识设备的地址,子网掩码用于划分网络和主机部分
4. 网关与路由器
网关是连接不同网络的设备,而路由器是在不同网络之间转发数据包的设备
5. DNS(Domain Name System)
DNS用于将域名转换为对应的IP地址,使得用户能够通过易记的域名访问互联网上的资源
6. HTTP与HTTPS
HTTP(Hypertext Transfer Protocol)是一种用于传输超文本的协议,而HTTPS是在HTTP基础上加入了安全性措施的协议,使用SSL/TLS进行加密传输
HTTP协议
1. 请求与响应
HTTP是一种基于请求-响应模式的协议。客户端发送请求,服务器返回响应
2. URL(Uniform Resource Locator)
URL是用于标识和定位互联网上资源的字符串,包括协议、主机名、路径等组成部分
3. HTTP方法
常见的HTTP方法包括GET(获取资源)、POST(提交数据)、PUT(更新资源)、DELETE(删除资源)等
4. 状态码
HTTP响应中的状态码表示服务器对请求的处理结果,例如200表示成功,404表示资源未找到,500表示服务器内部错误等
5. 请求头与响应头
请求头包含了客户端的信息和请求的附加信息,而响应头包含了服务器的信息和响应的附加信息
6. Cookie与Session
Cookie用于在客户端存储数据,而Session是在服务器端存储数据的机制,通常通过Cookie来标识
7. 缓存
缓存可以提高性能,但需要注意缓存的有效性和更新机制
8. 跨域资源共享(CORS)
CORS是一种机制,允许服务器在响应中设置HTTP头,使得浏览器可以绕过同源策略,允许跨域访问资源
由于中间去尔滨玩了五天(因为是去年就和朋友计划好的所以没有办法取消计划,当然是边玩边学👉🏻👈🏻)所以学的不是很扎实,keep trying🤯