python helloworld>get/post mysql requests socket docker opencv flask fastapi debian ubuntu sparkai

🌠setup

安装
python.org

🐷helloworld

if __name__ == '__main__':
    print('helloworld')
python test.py

在这里插入图片描述

var

变量

if __name__ == '__main__':
    company, date, *others = ['hi', '20240521', '000', '11111']
    print(company, date)
    print(others)

random

随机

  
    i = 0
    rand_list = []
    while i < 4:
        rand_num = random.randint(0, 499)
        if rand_num not in rand_list:
            rand_list.append(rand_num)
            i += 1
            

    print(rand_list)


list

列表 可变

# 创建一个空列表  
my_list = []  
  
# 向列表中添加元素  
my_list.append(1)  
my_list.append(2)  
my_list.append(3)  
  
print(my_list)  # 输出: [1, 2, 3]  
  
# 修改列表中的元素  
my_list[1] = 'two'  
print(my_list)  # 输出: [1, 'two', 3]  
  
# 列表切片  
sub_list = my_list[1:3]  
print(sub_list)  # 输出: ['two', 3]  
  
# 删除列表中的元素  
del my_list[2]  
print(my_list)  # 输出: [1, 'two']

# 创建一个包含0到9的偶数列表  
even_numbers = [i for i in range(10) if i % 2 == 0]  
print(even_numbers)  # 输出: [0, 2, 4, 6, 8]

tuple

元组 不可变

# 创建一个元组  
my_tuple = (1, 'two', 3.0)  
print(my_tuple)  # 输出: (1, 'two', 3.0)  
  
# 尝试修改元组中的元素(会抛出TypeError)  
## my_tuple[1] = 'Two'  # 这行代码会报错,因为元组是不可变的  
  
# 元组切片(虽然元组不可变,但你可以获取它的切片)  
sub_tuple = my_tuple[1:]  
print(sub_tuple)  # 输出: ('two', 3.0)


if else

判断


age =5
if age >= 6:
    print('teenager')
elif age >= 20:
    print('old')
else:
    print('kid')

calculator

计算器

def add(x, y):
    """加法"""
    return x + y

def subtract(x, y):
    """减法"""
    return x - y

def multiply(x, y):
    """乘法"""
    return x * y

def divide(x, y):
    """除法"""
    if y == 0:
        return "错误:除数不能为0"
    else:
        return x / y

print("选择操作:")
print("1.加法")
print("2.减法")
print("3.乘法")
print("4.除法")

while True:
    choice = input("请输入你的选择(1/2/3/4): ")

    if choice in ('1', '2', '3', '4'):
        num1 = float(input("请输入第一个数字: "))
        num2 = float(input("请输入第二个数字: "))

        if choice == '1':
            print(num1, "+", num2, "=", add(num1, num2))

        elif choice == '2':
            print(num1, "-", num2, "=", subtract(num1, num2))

        elif choice == '3':
            print(num1, "*", num2, "=", multiply(num1, num2))

        elif choice == '4':
            result = divide(num1, num2)
            print(num1, "/", num2, "=", result)

        # 检查用户是否想继续计算
        next_calculation = input("想要进行下一次计算吗?(yes/no): ")
        if next_calculation.lower() != 'yes':
            break
    else:
        print("非法输入,请重新输入")

match

py的switch


args = ['gcc', 'hello.c', 'world.c']
# args = ['clean']
#args = ['12']

match args:
    # 如果仅出现gcc,报错:
    case ['gcc']:
        print('gcc: missing source file(s).')
    # 出现gcc,且至少指定了一个文件:
    case ['gcc', file1, *files]:
        print('gcc compile: ' + file1 + ', ' + ', '.join(files))
    # 仅出现clean:
    case ['clean']:
        print('clean')
    case _:
        print('invalid command.')



age = 19

match age:
    case x if x < 10:
        print(f'< 10 years old: {x}')
    case 10:
        print('10 years old.')
    case 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18:
        print('11~18 years old.')
    case 19:
        print('19 years old.')
    case _:
        print('not sure.')



fro

循环


names = ['a1', 'b2', 'c3']
for name in names:
    print('Hi '+ name)


sum = 0
for x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]:
    sum = sum + x
print(sum)

function

函数


def my_abs(x):
    if x >= 0:
        return x
    else:
        return -x

def my_fun( x,y ):
    return x,y


print(my_abs(11))
print(my_abs(-11))
print(my_fun(11,22))
x1,y2 = my_fun(11,22)
print(x1)



def myfn(numbers):
    sum = 0
    for n in numbers:
        sum = sum + n  # * n
    return sum

print(myfn([1, 2, 3, 4, 5, 6, 7, 8, 9,10]))


map

迭代

def f(n):
    return n * 2

nums = [1, 2, 3, 4, 5, 6, 7, 8, 9]

r = map(f, nums)

print(list(r))

ERR
IndentationError: unexpected indent
存在不正确的缩进

reduce

迭代前两个元素通过函数处理,得到的结果再与第三个元素通过函数处理,依此类推

from functools import reduce

def add(x, y):
    return x + y

numbers = [1, 2, 3, 4, 5]

sum_of_numbers = reduce(add, numbers)

print(sum_of_numbers)  


filter

过滤


def is_odd(n):
    return n % 2 == 1

print(list(filter(is_odd, [1, 2, 4, 5, 6, 9, 10, 15])))

sorted

排序

arr = [33,12,-22,1,12]
print(sorted(arr))

lambda

匿名

#匿名函数
square = lambda x: x**2
numbers = [1, 2, 3, 4, 5]
squared_numbers = list(map(square, numbers))
print(squared_numbers)  

module class

模块 类

#module

def greet(name):

    print(f"Hello, {name}!")

def add_numbers(a, b):

    return a + b

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

    def introduce(self):
        print(f"My name is {self.name} and I am {self.age} years old.")

import

import module


module.greet("m1")

result = module.add_numbers(10, 20)

person = module.Person("m2", 11)
person.introduce()

pip install xx

pip install FastAPI  
#pip3 install FastAPI  

import

from fastapi import FastAPI  
#...

extends override

继承 多态


class Animal:
    def __init__(self, name):
        self.name = name
#extends
    def speak(self):
        pass  

class Dog(Animal):
    def speak(self):
        return f'{self.name} says wang!'

class Cat(Animal):
    def speak(self):
        return f'{self.name} says miao!'


#override
def animal_sound(animal):
    print(animal.speak())

dog = Dog('wangcai')
cat = Cat('afu')

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

class Swimmer:
    def swim(self):
        return f"{self.name} is swimming."

class Flyer:
    def fly(self):
        return f"{self.name} is flying."


class Duck(Animal, Swimmer, Flyer):
    pass


gaga = Duck("Gaga")


print(gaga.swim())  
print(gaga.fly())   

Version

import sys
print(sys.version)

major_ver = sys.version_info.major
minor_ver = sys.version_info.minor
micro_ver = sys.version_info.micro
print(f"Python version:{major_ver}.{minor_ver}.{micro_ver}")

🐶sql

sqlite


import sqlite3
conn = sqlite3.connect('test.db')
c = conn.cursor()
c.execute('''CREATE TABLE IF NOT EXISTS stocks
             (date text, trans text, symbol text, qty real, price real)''')
c.execute("INSERT INTO stocks VALUES ('2024-04-25','BUY','P1',100,150.00)")
conn.commit()
c.execute("INSERT INTO stocks VALUES (?,?,?,?,?)", ('2024-04-24','SELL','P2',50,300.00))
c.execute("SELECT * FROM stocks WHERE symbol = 'P1'")
print(c.fetchone())  


print("-----")

c.execute("SELECT * FROM stocks")
for row in c.fetchall():
    print(row)

c.close()
conn.close()

mysql

pip install mysql-connector-python


import mysql.connector
from mysql.connector import Error

def connect_and_query():
    try:
        # 连接到 MySQL 数据库
        connection = mysql.connector.connect(
            port= '30306',
            host='localhost',          # 数据库主机地址
            user='root',       # 数据库用户名
            password='123123',   # 数据库密码
            database='dbtest'    # 数据库名称
        )

        if connection.is_connected():
            print("Successfully connected to the database")

            # 创建一个游标对象
            cursor = connection.cursor()

            # 执行 SQL 查询
            query = "SELECT * FROM `tuser`" 
            cursor.execute(query)

            # 获取查询结果
            results = cursor.fetchall()

            # 遍历结果并打印
            for row in results:
                print(row)

    except Error as e:
        print(f"Error: {e}")
    finally:
        if connection.is_connected():
            cursor.close()
            connection.close()
            print("MySQL connection is closed")

if __name__ == "__main__":
    connect_and_query()

在这里插入图片描述

在这里插入图片描述

🐣await async

异步


import asyncio
import time

async def async_func1():
    print("start async_func1...")
    await asyncio.sleep(2)  #sleep
    print("async_func1 end")

async def async_func2():
    print("start async_func2...")
    await asyncio.sleep(3)  
    print("async_func2 end")

async def main():
    task1 = asyncio.create_task(async_func1()) 
    task2 = asyncio.create_task(async_func2())  
    
    print("2tasks created...")
    
    await task1 #await
    await task2 
    
    print("tasks end")



start_time = time.time()
asyncio.run(main())
end_time = time.time()

print(f" done : {end_time - start_time}s")

🐵Requests

Web Scraping

import requests
from bs4 import BeautifulSoup

url = "https://www.python.org/"
response = requests.get(url)
soup = BeautifulSoup(response.content, 'html.parser')
print(soup.title.text)

csdn

import requests
from bs4 import BeautifulSoup

url = 'https://www.csdn.net/'
response = requests.get(url)

if response.status_code == 200:
    soup = BeautifulSoup(response.text, 'html.parser')
    hot_topics = soup.find_all('div', class_='headswiper-item')
     #soup.select('.hot-news .news-item')   #soup.find_all('div', class_='headswiper-item')
    
    for topic in hot_topics:
        print(topic.text)
else:
    print('Failed to retrieve ')

在这里插入图片描述
在这里插入图片描述

tiobe

import requests
from bs4 import BeautifulSoup

def get_tiobe_rankings():
    url = "https://www.tiobe.com/tiobe-index/"
    response = requests.get(url)
    
    if response.status_code != 200:
        raise Exception(f"Failed to load page {url}")
    
    soup = BeautifulSoup(response.content, 'html.parser')
    
    # Find the table containing the rankings
    table = soup.find('table', {'class': 'table-top20'})
    
    if not table:
        raise Exception("Failed to find the rankings table on the page")
    
    # Extracting data from the table
    rankings = []
    rows = table.find_all('tr')[1:]  # Skip the header row

    for row in rows:
        cols = row.find_all('td')
        rank = cols[0].text.strip()
        language = cols[3].text.strip()
        ratings = cols[4].text.strip()
        change = cols[5].text.strip()
        rankings.append({
            'Rank': rank,
            'Language': language,
            'Ratings': ratings,
            'Change': change
        })
    
    return rankings

if __name__ == "__main__":
    rankings = get_tiobe_rankings()
    for rank in rankings:
        print(f"Rank: {rank['Rank']}, Language: {rank['Language']}, Ratings: {rank['Ratings']}, Change: {rank['Change']}")


在这里插入图片描述

pip install requests beautifulsoup4
#pip install BeautifulSoup4

requests库
如果没有安装,可以使用pip install requests来安装

ERR
Could not install packages due to an OSError: [WinError 2] 系统找不到指定的文件。: 'C:\Python312\Scripts\no
#update
python -m pip install --upgrade pip
#cache
pip cache purge

REST APIs get/post

GET, POST

import requests
# get
response = requests.get('https://jsonplaceholder.typicode.com/posts/1')
print(response.json())

# post
data = {'title': 'foo', 'body': 'bar', 'userId': 1}
response = requests.post('https://jsonplaceholder.typicode.com/posts', json=data)
print(response.json())

🐏mail



import smtplib  
from email.mime.text import MIMEText  
from email.mime.multipart import MIMEMultipart  
  
# 设置邮件服务器和端口  
smtp_server = 'smtp.qq.com' 
smtp_port = 25  
  
# 设置发件人和收件人信息  
sender_email = '42@qq.com'  # 邮箱地址  
sender_password = 'lpoumq'  # 密码  
receiver_email = '76@qq.com'  # 收件人邮箱地址  
  

msg = MIMEMultipart()  
  
 
msg['From'] = sender_email  
msg['To'] = receiver_email  
msg['Subject'] = 'Hello from Python'  
body = 'This is a test email sent from Python. mmmmmmm '  
msg.attach(MIMEText(body, 'plain'))  
  

with smtplib.SMTP(smtp_server, smtp_port) as server:  

    server.starttls()  
    server.login(sender_email, sender_password)  
    # 发送邮件  
    server.sendmail(sender_email, receiver_email, msg.as_string())  
  
print('Email sent successfully!')

在这里插入图片描述

在这里插入图片描述

🐴socket

client

import socket  
  
def connect_to_socket(host, port):  
    # 创建一个新的socket对象,指定IPv4和TCP  
    client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)  
  
    # 连接到服务器  
    try:  
        client_socket.connect((host, port))  
        print(f"成功连接到 {host}:{port}")  
   
        message = "Hello, Server!".encode('utf-8')  
        client_socket.sendall(message)  
  
        # 接收数据  
        data = client_socket.recv(1024)  
        print(f"从服务器接收到的数据: {data.decode('utf-8')}")  
  
    except Exception as e:  
        print(f"连接失败: {e}")  
  
    finally:  
        # 关闭socket连接  
        client_socket.close()  

connect_to_socket('localhost', 6001)

server


import socket  
  
def start_server(host, port):  

    server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)  
  
    # 绑定socket到指定的地址和端口  
    server_address = (host, port)  
    print(f"服务器将运行在 {host}:{port}")  
    server_socket.bind(server_address)  
  
    # 开始监听连接  
    server_socket.listen(1)  
  
    while True:  
    
        print("等待客户端连接...")  
        connection, client_address = server_socket.accept()  
        try:  
            print(f"客户端 {client_address} 已连接")  
  
            # 接收数据  
            while True:  
                data = connection.recv(1024)  
                if not data:  
                    print("客户端已断开连接")  
                    break  
                print(f"从 {client_address} 接收到的数据: {data.decode('utf-8')}")  
  
                # 发送一些数据回客户端  
                response = "Hello from server!".encode('utf-8')  
                connection.sendall(response)  
  
        except ConnectionResetError:  
            print("客户端异常断开连接")  
  
        finally:  
            # 清理连接  
            connection.close()  
  
start_server('localhost', 6002)

🐍docker

server

# testdk.py
import socket

def run_server():
    host = '0.0.0.0'  # 监听所有网络接口
    port = 12345     # 自定义端口号
    
    with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
        s.bind((host, port))
        s.listen()
        print(f"Server listening on {host}:{port}")
        
        while True:
            conn, addr = s.accept()
            with conn:
                print(f"Connected by {addr}")
                data = conn.recv(1024)
                if not data:
                    break
                conn.sendall(data)

if __name__ == "__main__":
    run_server()

Dockerfile

# Dockerfile
FROM python:3.8-slim-buster

WORKDIR /app

COPY requirements.txt ./
RUN pip install --no-cache-dir -r requirements.txt

COPY . .

CMD ["python", "./testdk.py"]

build

docker build -t my-python-socket-server .

run

docker run -d -p 12345:12345 my-python-socket-server

在这里插入图片描述
在这里插入图片描述

client test

# testdkclient2.py
import socket

with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
    s.connect(('localhost', 12345))
    s.sendall(b'Hello, Server!mmmm')
    data = s.recv(1024)
    
print('Received', repr(data))

在这里插入图片描述

🐲Graphics

Turtle


# 导入turtle包的所有内容:
from turtle import *

# 设置笔刷宽度:
width(5)

# 前进:
forward(100)
# 右转90度:
right(90)

# 笔刷颜色:
pencolor('yellow')
forward(150)
right(90)

pencolor('red')
forward(100)
right(90)

pencolor('blue')
forward(100)
right(90)

# 调用done()使得窗口等待被关闭,否则将立刻关闭窗口:
done()

在这里插入图片描述

import turtle  
  
# 初始化turtle  
window = turtle.Screen()  
window.bgcolor("white")  # 设置背景颜色为黑色  
love = turtle.Turtle()  
love.speed(1)  # 设置绘图速度,1是最慢,0是最快  
love.color("red", "pink")  # 设置画笔颜色和填充颜色  
love.begin_fill()  # 开始填充颜色  
  
# 绘制爱心的左半部分  
love.left(140)  
love.forward(180)  
love.circle(-100, 200)  # 绘制一个半径为100,弧度为200的圆(圆心在左侧)  
  
# 绘制爱心的右半部分  
love.left(120)  
love.circle(-100, 200)  # 绘制一个半径为100,弧度为200的圆(圆心在右侧)  
  
# 回到起点并结束填充  
love.forward(180)  
love.end_fill()  
  
# 隐藏turtle图标  
love.hideturtle()  
  
# 结束绘制,等待用户关闭窗口  
turtle.done()

在这里插入图片描述

tkinter


import tkinter as tk  
  
def on_closing():  
    root.destroy()  # 当点击关闭按钮时调用  
  
root = tk.Tk()  
root.protocol("WM_DELETE_WINDOW", on_closing)  
  
label = tk.Label(root, text="Hello, Tkinter!")  
label.pack()  
  
root.mainloop()

下班!

import tkinter as tk
from tkinter import messagebox
from datetime import datetime, timedelta
import time

def validate_time(input_time):
    """验证输入的时间格式是否正确"""
    try:
        time.strptime(input_time, '%H:%M:%S')
        return True
    except ValueError:
        return False

def start_countdown():
    input_time = entry.get()
    if validate_time(input_time):
        target_time = datetime.strptime(input_time, '%H:%M:%S')
        today = datetime.combine(datetime.today(), datetime.min.time())
        target_datetime = datetime.combine(today, target_time.time())
        
        if target_datetime < datetime.now():
            target_datetime += timedelta(days=1)  
        
        def update_countdown():
            now = datetime.now()
            remaining_time = target_datetime - now
            
            if remaining_time.total_seconds() <= 0:
                label.config(text="下班!头也不回")
                messagebox.showinfo("Timer", "下班!头也不回")
            else:
                hours, remainder = divmod(remaining_time.seconds, 3600)
                minutes, seconds = divmod(remainder, 60)
                
                label.config(text=f"{hours:02d}:{minutes:02d}:{seconds:02d}")
                window.after(1000, update_countdown)  # timeout
        
        update_countdown()
    else:
        messagebox.showerror("Error", "时间必须是 HH:MM:SS.")

# window
window = tk.Tk()
window.title("下班!头也不回")
window.geometry("400x300")

# Entry
tk.Label(window, text="下班时间 > HH:MM:SS :").pack()
entry = tk.Entry(window)
entry.pack()

# Button
start_button = tk.Button(window, text="开始摸鱼🐟", command=start_countdown)
start_button.pack()
start_button.pack(pady=10)

label = tk.Label(window, text="", font=("Helvetica", 48))
label.pack(pady=20)

window.mainloop()

在这里插入图片描述

在这里插入图片描述

🐇opencv

pip install opencv-python
import cv2
#read
image = cv2.imread('e1.jpg')

if image is None:
    print("Error: Image not found or unable to read.")
else:
    cv2.imshow('Image', image)
    cv2.waitKey(0)
    cv2.destroyAllWindows()
    cv2.imwrite('output.jpg', image)
	#反色处理
    inverted_image = cv2.bitwise_not(image)

Pillow PIL

图像处理库

pip install Pillow

from PIL import Image


# 加载图片
image = Image.open('e1.jpg')
image.show()

# 缩放到宽度为300,高度等比例缩放
image = Image.open('e1.jpg')
image_resized = image.resize((300, image.height * 300 // image.width))
# save
image_resized.save('resized240525.jpg')

# 转换成PNG格式
image = Image.open('e1.jpg')
image.save('png240525.png', format='PNG')


# 转换成PNG格式
image = Image.open('png240525.png')
image.save('j240525.jpg', format='jpeg')

# 裁剪图片,参数是左上角和右下角的坐标
image = Image.open('e1.jpg')
cropped_image = image.crop((100, 100, 400, 400))
cropped_image.show()
cropped_image.save('cropped_image240525.jpg')
# 顺时针旋转90度
image = Image.open('e1.jpg')
rotated_image = image.rotate(90)
rotated_image.show()
rotated_image.save('rotated_image240525.jpg')

from PIL import Image, ImageFilter
#模糊滤镜
image = Image.open('e1.jpg')
blurred_image = image.filter(ImageFilter.BLUR)
blurred_image.show()
blurred_image.save('blurred_image240525.jpg')

🐯PyTorch

机器学习

pip install torch torchvision
pip install pillow
import torch
import torchvision.transforms as transforms
from torchvision.models import resnet50
from PIL import Image

# ResNet50
model = resnet50(pretrained=True)
model.eval()  #eval

# transform 
transform = transforms.Compose([
    transforms.Resize(256),
    transforms.CenterCrop(224),
    transforms.ToTensor(),
    transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]),
])

# PIL
image_path = 'e1.jpg'  
image = Image.open(image_path)

# transform image
image_tensor = transform(image)
image_tensor = image_tensor.unsqueeze(0)  # 添加batch维度

# tensor
output = model(image_tensor)

# predictedclass 
_, pred = output.max(1)
predicted_class = pred.item()

print("Predicted class index:", predicted_class)

🐂web

# 从wsgiref模块导入:
from wsgiref.simple_server import make_server
# 导入我们自己编写的application函数:
from hi import application

# 创建一个服务器,IP地址为空,端口是8000,处理函数是application:
httpd = make_server('', 8000, application)
print('Serving HTTP on port 8000...')
# 开始监听HTTP请求:
httpd.serve_forever()

#hi.py
def application(environ, start_response):
    start_response('200 OK', [('Content-Type', 'text/html')])
    return [b'<h1>Hello, web!</h1>']

在这里插入图片描述

flask

pip install flask
from flask import Flask
from flask import request

app = Flask(__name__)

@app.route('/', methods=['GET', 'POST'])
def home():
    return '<h1>Home</h1>'

@app.route('/login', methods=['GET'])
def signin_form():
    return '''<form action="/login" method="post">
              <p><input name="username"></p>
              <p><input name="password" type="password"></p>
              <p><button type="submit">Sign In</button></p>
              </form>'''

@app.route('/login', methods=['POST'])
def signin():
    # 需要从request对象读取表单内容:
    if request.form['username']=='admin' and request.form['password']=='123123':
        return '<h3>Hello, admin!</h3>'
    return '<h3>Bad username or password.</h3>'

if __name__ == '__main__':
    app.run()

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

fastapi

pip install fastapi uvicorn[standard]
#y.p
from fastapi import FastAPI  
  
app = FastAPI()  
  
@app.get("/")  
def read_root():  
    return {"Hello": "World"}  
  
@app.get("/items/{item_id}")  
def read_item(item_id: int, q: str = None):  
    return {"item_id": item_id, "q": q}
    


uvicorn y:app --reload
http://127.0.0.1:8000/   {"Hello": "World"},
http://127.0.0.1:8000/items/5?q=m {"item_id": 5, "q": "m"}

🐭debian setup python3.9

sudo apt update
sudo apt install -y wget build-essential libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev
#dl
cd /usr/src
sudo wget https://www.python.org/ftp/python/3.9.0/Python-3.9.0.tgz
sudo tar xzf Python-3.9.0.tgz
cd Python-3.9.0
sudo ./configure --enable-optimizations
sudo make -j 4  # 替换4为你的CPU核心数
sudo make altinstall  # 使用altinstall以避免覆盖系统默认的python版本
python3.9 --version

在这里插入图片描述

ubuntu python

sudo apt update
sudo apt install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev
wget https://www.python.org/ftp/python/3.12.0/Python-3.12.0.tgz
tar -xzf Python-3.12.0.tgz -C /usr/local/src/
cd /usr/local/src/Python-3.12.0/
./configure --prefix=/usr/local
make
sudo make install

☄️ai

spark_ai

讯飞星火认知大模型v3.5

apt install python3-pip
pip install --upgrade spark_ai_python
# coding: utf-8
import SparkApi
import time

appid = "xxx"     #填写控制台中获取的 APPID 信息
api_secret = "xxx"   #填写控制台中获取的 APISecret 信息
api_key ="xxx"    #填写控制台中获取的 APIKey 信息

domain = "generalv3.5"     

Spark_url = "wss://spark-api.xf-yun.com/v3.5/chat"  # v3.5环服务地址

#初始上下文内容,当前可传system、user、assistant 等角色
text =[
    # {"role": "user", "content": "你是谁"},  # 用户的历史问题
]


def getText(role,content):
    jsoncon = {}
    jsoncon["role"] = role
    jsoncon["content"] = content
    text.append(jsoncon)
    return text

def getlength(text):
    length = 0
    for content in text:
        temp = content["content"]
        leng = len(temp)
        length += leng
    return length

def checklen(text):
    while (getlength(text) > 8000):
        del text[0]
    return text
    


if __name__ == '__main__':

    while(1):
        Input = input("\n" +"我:")
        question = checklen(getText("user",Input))
        SparkApi.answer =""
        print("星火:",end ="")
        SparkApi.main(appid,api_key,api_secret,Spark_url,domain,question)
        # print(SparkApi.answer)
        getText("assistant",SparkApi.answer)



在这里插入图片描述

ERNIE-4.0

千帆4.0

import requests
import json

def get_access_token():

    url = "https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=xx&client_secret=xx"
    
    payload = json.dumps("")
    headers = {
        'Content-Type': 'application/json',
        'Accept': 'application/json'
    }
    
    response = requests.request("POST", url, headers=headers, data=payload)
    return response.json().get("access_token")

def main():
    url = "https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/ernie-4.0-8k-preview?access_token=" + get_access_token()
    
    payload = json.dumps({
        "messages": [
            {
                "role": "user",
                "content": "Python是最好的语言"
            }
        ]
    })
    headers = {
        'Content-Type': 'application/json'
    }
    
    response = requests.request("POST", url, headers=headers, data=payload)
    
    print(response.text)
    

if __name__ == '__main__':
    main()

python3 ai.py

{"id":"as-7bdgaekpn4","object":"chat.completion","created":1716369031,"result":"\"Python是最好的语言\"这一说法是主观的,并不适用于所有情况。Python确实是一种强大且流行的编程语言,具有许多优点,但它并不一定是所有情况下的最佳选择。以下是对这一说法的详细分析:\n\n### Python的优点:\n\n1. **易读易写**:Python的语法清晰简洁,易于理解,这使得它成为初学者和专业开发者都喜爱的语言。\n\n2. **广泛的库和框架**:Python有大量的第三方库和框架可供使用,如NumPy、Pandas、TensorFlow等,这些库使得Python在数据科学、Web开发、机器学习等领域具有显著优势。\n\n3. **跨平台兼容性**:Python可以在多种操作系统上运行,包括Windows、macOS和Linux。\n\n4. **动态类型系统**:Python是动态类型的语言,这意味着开发者不需要在声明变量时指定其类型,这增加了编程的灵活性。\n\n### Python的局限性:\n\n1. **性能**:与C++或Java等编译型语言相比,Python在执行速度上可能较慢,尤其是在处理大量数据或进行复杂计算时。\n\n2. **类型安全**:由于Python是动态类型的,这可能导致类型错误在运行时才被发现,而不是在编译阶段。\n\n3. **移动开发限制**:虽然Python可以用于开发Web应用和桌面应用,但它在移动应用开发(如iOS和Android应用)方面并不是主流选择。\n\n4. **内存消耗**:Python的内存管理可能不如某些其他语言高效,特别是在处理大量数据时。\n\n### 结论:\n\nPython是否是最好的语言取决于具体的使用场景和需求。对于数据科学、Web开发、脚本编写和自动化任务等,Python确实是一个出色的选择。然而,在需要高性能计算、内存优化或特定于移动平台的开发任务中,其他语言可能更为合适。\n\n因此,\"Python是最好的语言\"这一说法是片面的。在选择编程语言时,应根据项目的具体需求和上下文来做出决策。","is_truncated":false,"need_clear_history":false,"finish_reason":"normal","usage":{"prompt_tokens":3,"completion_tokens":403,"total_tokens":406}}

End

  • 12
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值