赞
踩
来自罗森的Guido
一个学霸-阿姆斯特丹大学获得数学和计算机科学硕士学位
致力于打造解放程序员的语言
发展历程
python --version
,通过查看安装的版本号的来检测是否安装成功。VSCode安装:https://code.visualstudio.com/
安装Python插件:
PyCharm安装:https://www.jetbrains.com/pycharm/
说明:
pip不用单独安装,是随着python一起安装,查看pip版本号:pip --version
如果发现pip不可用或损坏,则直接执行下面的命令就可以:python -m ensurepip --upgrade
pip install package_name
: 安装指定的Python包或库,将包的文件复制到Python解释器的site-packages目录下。
pip uninstall package_name
:卸载指定的Python包或库,从Python解释器的site-packages目录下删除该包的文件。
pip list
:列出当前Python环境中已安装的所有包或库的列表。
apple@appleMacBook-Pro ~ % pip list Package Version ------------------ --------- aiohttp 3.8.4 aiosignal 1.3.1 async-timeout 4.0.2 attrs 23.1.0 certifi 2022.12.7 charset-normalizer 3.1.0 frozenlist 1.3.3 idna 3.4 multidict 6.0.4 openai 0.27.6 pip 23.3.2 requests 2.29.0 setuptools 56.0.0 tqdm 4.65.0 urllib3 1.26.15 wheel 0.40.0 yarl 1.9.2
pip show package_name
: 显示指定包的详细信息,包括包的名称、版本号、安装路径等。
pip search package_name
: 在PyPI (Python Package Indlex)上搜索指定的包或库,并显示相关信息。
pip freeze
:显示当的Python环境中已安装的所有包的名称和版本号。
pip install -rrequirements-txt
:根据requirements.txt文件中列出的依赖项列表,安装指定版本的Python包或库。
pip install package_name[dependencies]
:一个包可能依赖于其他包。要安装一个包及其依赖项。
如:假设我们有一个名为"my_math_package"的Python包,它依赖于nurpy和scipy库。我们想要安装这个包,并确保同时安装这两个依赖项。
pip install my_math_package[numpy,scipy]
pip wheel package_name
:将指定的Python包或库打包成wheel文件,以便在其他Python环境中使用。
使用pip将名为"numpy’的Python库打包成wheel文件 (Python的分布式的文件格式,替代Python传统的egg文件)。pip wheel numpy
# 1.普通字符串,\n是转义字符会换行
print('hello\nworld!')
# 2.原始字符串。在Python中,r表示原始字符串(raw string)
print(r'hello\nworld!') // 原始字符串,原样输出
# 3.三引号字符串/文档字符串:使用三个引号(单引号/双引号)括起来的字符串,可以包含多行文本
print('''Hello
World!
Python'''
)
# 4.格式化字符串(使用大写的'F'或者'f'作为字符串的前缀)
for i in range(5):
print(f'第{i + 1}个数字是{i}')
# codecs是Python的一个标准库,它提供了对各种字符编码的读取和写入操作的支持。 import codecs # Unicode字符串转译 # Unicode字符串:定义一个包含中文字符的Unicode字符串 text = u'hello,Python!' # 打印该字符串 print(text) # 字节串 byte_string = b'Hello, World!' # 打印字节串 print(byte_string) # 将字节串转换为字符串(需要解码) string = byte_string.decode('utf-8') print(string) # 将字符串转换为字节串(需要编码) byte_string = string.encode('utf-8') print(byte_string) # 将该字符串写入文件 with codecs.open('output.txt', 'w', encoding='utf-8') as file: file.write(text) length = len('abcde') # 获取字符串长度
在字符串定义方式上的区别
语言 | 字符串定义方式上的区别 |
---|---|
Python | 使用单引号(‘’)或双引号(“”)来表示一个字符串,也可以用三引号来表示一个多行字符串 |
Java | 使用char表示单个字符,String表示一个字符串,常量字符或字符串用双引号""表示 |
JavaScript | 也使用单引号(‘’)或双引号(“”)来表示一个字符串,同时也可以使用反斜杠(\)来表示一个字符串的续行。 |
# Python文档化:相当于多行注释,使用三个双引号(""") class Person: """ 表示一个人的类 属性: name -- 姓名 age -- 年龄 方法: say_hello -- 打印问候语 """ def __init__(self, name, age) -> None: self.name = name self.age = age def say_hello(self): print('Hello, my name is ' + self.name) def getInfo(name): return '姓名:' + name # 变量类型注解(即指定方法参数是字符串类型) def getInfo1(name: str): return '姓名:' + name # 函数返回值类型注解(即指定方法返回值是字符串类型) def getInf2(name: str) -> str: return '姓名:' + name
# Python中的异常处理语句
try:
# 要执行的代码
except ExceptionType:
# 当异常发生时执行的代码
finally:
# 无论是否发生异常都会执行的代码
# 写入文件操作
with open('test.txt', 'w') as f:
f.write('Hello, world!\n')
f.write('Hello, world!')
# 读取文件操作
with open('test.txt', 'r') as f:
content = f.read()
print(content) # str类型
# 关闭文件(说明:使用了with语句时,会自动处理文件的关闭操作,无需再使用下面代码手动关闭)
# f.close()
import json # dict类型(Python对象) data = { "name": "Tom", "age": 25, "hobbies": ["阅读", "游泳", "旅游"] } # json.dumps() 将字典转换为JSON字符串 json_str = json.dumps(data) print(json_str) print(type(json_str)) # 打印值的类型。输出结果:<class 'str'> 表示是字符串类型 # 写入文件操作(写入Python对象) with open('data.json', 'w') as f: # json.dump() 将Python对象写入JSON文件 json.dump(data, f) # 读取文件操作 with open('data.json', 'r') as f: # 加载JSON文件 data = json.load(f) print(data) # dict类型
通俗的讲:就是模拟浏览器抓取数据
科学的讲:通过一定的规则用程序对互联网相关数据解析并存储
# urllib库:用于操作网页URL,并对网页的内容进行抓取处理 # urllib.request: 打开和读取URL # urllib.request.urlopen(): 打开一个URL from urllib.request import urlopen url = 'http://baidu.com' con = urlopen(url) # 读取网页的内容 bytes_data = con.read() print(bytes_data) f = open('test.html', 'wb') f.write(bytes_data) f.close() # open(name, mode)方法 # 核心:创建一个file对象 python的I/O;name是要访问的文件名,mode是决定打开的模式 # mode: w表示写入;wb表示以二进制格式写入;
import requests import json # 封装百度翻译请求 def baiduFanyi(keyword): url = 'https://fanyi.baidu.com/sug' params = { 'kw': keyword } response = requests.post(url, params) res_str = response.text # 获取JSON字符串 res_dic = response.json() # 获取JSON对象(字典) print('请求结果:', res_dic) # JSON字符串 转 字典 # res_dic = json.loads(res_str) errno = res_dic['errno'] dataList = res_dic['data'] if (errno == 0): length = len(dataList) for i in range(length): item = dataList[i] value = item['v'] print('第' + str(i + 1) + '项解释:' + value) """ for item in dataList: value = item['v'] print(value) """ # 测试翻译方法 def testBaiduFanyi(): searchText = input('请输出要翻译的词:') baiduFanyi(searchText) # Python属于脚本语言,不像编译型语言那样先将程序编译成二进制再运行,而是动态的逐行解释运行。也就是从脚本第一行开始运行,没有统一的入口(即main函数)。 # __name__ 是内置变量,用于表示当前模块的名字; # if __name__ == '__main__' 就相当于是 Python 模拟的程序入口。其作用是: # 1.当python文件直接被运行时,if __name__ == '__main__': 语句下面的代码段将被执行。 # 2.当python文件以模块形式被调用时,if __name__ == '__main__': 语句下面的代码段不会被执行。 if __name__ == "__main__": testBaiduFanyi()
请输出要翻译的词:你好
请求结果: {'errno': 0, 'data': [{'k': '你好', 'v': 'hello; hi; How do you do!'}, {'k': '你好吗', 'v': 'How do you do?'}, {'k': '你好,陌生人', 'v': '[电影]Hello Stranger'}], 'logid': 1410962127}
第1项解释:hello; hi; How do you do!
第2项解释:How do you do?
第3项解释:[电影]Hello Stranger
方法 | 用途 |
---|---|
split() | 按照指定的分隔符将字符串分割成一个列表 |
strip() | 删除字符串头尾指定的字符(默认为空格),返回新的字符串 |
replace() | 替换字符串中的指定内容为新的字符串,并返回新的字符串 |
find() | 查找指定内容在字符串中出现的位置(索引号),若未找到则返回-1 |
lower() | 将字符串中的字母全部转换为小写,并返回新的字符串。 |
upper() | 将字符串中的字母全部转换为大写,并返回新的字符串。 |
index() | 查找指定内容在字符串中出现的第一个位置(索引号),若未找到则报错。 |
capitalize() | 将字符串的第一个字母大写,其余字母小写,并返回新的字符串。 |
title() | 将字符串中每个单词的第一个字母大写,其余字母小写,并返回新的字符串。 |
做配置文件的管理,python-dotenv是一个Python库,可以从.env文件(配置文件)中读取环境变量。
作用:可以将敏感信息(如:API秘钥)存储在环境变量中,而不是硬编码在代码中,可以有效保护敏感信息安全。
pip install python-dotenv
.env
的文件,并将环境变量写入该文件中,每个key=value对应一行。# .env文件的内容
# MySQL数据库
DATABASE_HOST=localhost
DATABASE_NAME=mydatabase
DATABASE_USER=myuser
DATABASE_PASSWORD=mypasswprd
# 私有KEY
SECRET_KEY=mysecretkey
#sk-xxx 使用你自己的 key 替换
OPENAI_API_KEY="sk-xxx"
OPENAI_API_BASE="https://api.fe8.cn/v1"
from dotenv import load_dotenv
import os
# 使用该函数将.env文件中的所有变量读取到系统环境变量中,方便在程序中使用这些变量
load_dotenv()
# 访问环境变量
SECRET_KEY = os.getenv("SECRET_KEY")
DATABASE_PASSWORD = os.getenv("DATABASE_PASSWORD")
FastApi 用于构建API,是一个现代、快速(高性能)的 Python web 框架。
官方地址:https://fastapi.tiangolo.com/
pip install fastapi
from fastapi import FastAPI
# 创建API实例
app = FastAPI()
# async def是定义异步函数的方法
# 127.0.0.1/
# 跟路由,设置接口的路由
@app.get("/")
# root 是接口方法名称
async def root():
return {"message": "Hello World"}
uvicorn main:app --reload
main是文件名(main.py);
app是文件内创建API实例;
–reload 重新启动服务器(仅用于开发)
zhangsan@zhangsan PythonProject % uvicorn main:app --reload
INFO: Will watch for changes in these directories: ['/Users/zhangsan/Workspaces/PythonProject']
INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
INFO: Started reloader process [3910] using WatchFiles
INFO: Started server process [3918]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: 127.0.0.1:53511 - "GET / HTTP/1.1" 200 OK
INFO: 127.0.0.1:53511 - "GET /favicon.ico HTTP/1.1" 404 Not Found
浏览器输入:http://127.0.0.1:8000 查看返回结果
浏览器输入:http://127.0.0.1:8000/docs 查看交互式文档(Swagger)
浏览器输入:http://127.0.0.1:8000/redoc 查看API文档
作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
【有需要的朋友,可以扫描下方二维码免费领取!!!】
学习大型人工智能模型,如GPT-3、BERT或任何其他先进的神经网络模型,需要系统的方法和持续的努力。既然要系统的学习大模型,那么学习路线是必不可少的,下面的这份路线能帮助你快速梳理知识,形成自己的体系。
L1级别:AI大模型时代的华丽登场
L2级别:AI大模型API应用开发工程
L3级别:大模型应用架构进阶实践
L4级别:大模型微调与私有化部署
一般掌握到第四个级别,市场上大多数岗位都是可以胜任,但要还不是天花板,天花板级别要求更加严格,对于算法和实战是非常苛刻的。建议普通人掌握到L4级别即可。
以上的AI大模型学习路线,不知道为什么发出来就有点糊,高清版可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
】
这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。
随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。
作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。