python学习

本文详细介绍了Python环境搭建、包管理、虚拟环境创建与管理、Django项目创建、数据库操作、站点管理和视图定义等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Python 列表(List) | 菜鸟教程

多線程編程

服務端樣例:

修改為持續接收和返回消息

图标展示

pyecharts - A Python Echarts Plotting Library built with love.

pyecharts画廊网站:https://gallery.pyecharts.org/

python 包中的API使用方式:

如何查看python 所包含库的api_命令行如何查看一个包下的api-优快云博客

quit()方法可以退出python的操作页面

python brew 安装的方式

[转]mac环境安装python3 - 简书

Python在服务器部署使用supervisorctl + gunicorn进行部署:

如果有这个问题:

pkg_resources.DistributionNotFound: The 'supervisor==3.3.5' distribution was not found and is required by the application

主要是把系统切换到python2即可(因为supervisorctl ubuntu安装的版本是在python2下的):

sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150

但是python2会有版本的问题,因此可以安装新版的supervisorctl:

pip3 install git+https://github.com/Supervisor/supervisor

再去执行supervisorctl reload即可

1.虚拟环境创建方式

(1)虚拟环境安装命令

pip install virtualenv
pip install virtualenvwrapper

windows下需要执行: pip install virtualenvwrapper-win

(2)创建虚拟环境

如果不指定python版本,默认创建Python2虚拟环境,在python2中创建虚拟环境

mkvirtualenv 虚拟环境名称

例:mkvirtualenv py_django

在python3中创建虚拟环境

mkvirtualenv -p python3 虚拟环境名称

例:mkvirtualenv -p python3 py3_django

如果报python3找不到,可以执行:mkvirtualenv -p python3 py3_django_test --python=D:\python3\python.exe

(3)查看和切换虚拟空间

查看:workon

切换:workon 虚拟空间名称    如workon py3_django

(4)退出虚拟空间

deactivate

(5)删除虚拟空间

rmvirtualenv py2_django

(6)django框架安装到虚拟环境

查看:pip list 查看是否有django版本

安装:pip install django==1.8.2

2.Django项目创建

django-admin startproject 项目名称,如django-admin startproject djangotest

项目里面再创建应用,一个项目对应多个应用,一个应用对应一个业务模块

cd djangotest

创建应用:python manage.py startapp Book     创建一个Book应用

3.导入pycharm报一些包找不到

这是因为python解释器使用的路径不对,pyCharm中->settings->Project Interpreter->查看是否有相关的包引入,如果没有,但是又确实在虚拟环境中下载了,那么linux操作系统的话,可以在虚拟环境中执行:which python 查看python的具体路径

windows没有这种命令,可以写个bat文件,如Which.bat:

@echo off  
echo %~dp$PATH:1  
@echo on  

然后执行:d:\Which.bat java.exe,一般会在:C:\Users\用户名\Envs\py3_django_test\Lib\site-packages

4.运行server

进入到项目根目录,如cd djangotest,然后执行:python manage.py runserver 8000,在pycharm的terminal中也可以进行设置,只是需要进入到相应的虚拟环境中workon一下,然后启动即可

5.Django进行数据库开发的提示

6.数据库开发步骤

(1)定义模型类(2)模型迁移(3)

(1)定义模型:model可在model.py中进行编写,如下图

(2)模型迁移,模型类到表

a>生成迁移文件

python manage.py makemigrations

b>执行迁移文件,映射成表

python manage.py migrate

执行完毕之后,在项目工程目录下就有个db.sqlite3这个数据库,生成的表已经在这个数据库中了,将这个数据库直接拖到pycharm的databases中即可进行视图展示

7、站点管理

应用下面有admin.py

(1)管理页面本地化

settings.py中做此修改

(2)创建管理员

python manage.py createsuperuser   用户名:python 密码123456

创建成功后,可以看到 urls.py中有相关的url映射,已经有了admin,访问路径就是域名/admin即可

然后重新启动:python manage.py runserver

访问:127.0.0.1:8000/admin输入用户名和密码就可以查看了,并且能够进行相关的数据库曹组

(3)注册模型类

在admin.py文件中进行注册

from django.contrib import admin
from Book.models import  BookInfo,PeopleInfo
# Register your models here.
#注册书籍信息模型类
admin.site.register(BookInfo)
#注册人物信息模型类
admin.site.register(PeopleInfo)

(4)自定义展示页面

如果要展示多个字段列表,需要继续修改admin.py

from django.contrib import admin
from Book.models import  BookInfo,PeopleInfo
# Register your models here.

class PeopleInfoAdmin(admin.ModelAdmin):
    """人物信息模型类站点管理类"""
    list_display = ['id','name','gender','book']

#注册书籍信息模型类
admin.site.register(BookInfo)
#注册人物信息模型类及站点类
admin.site.register(PeopleInfo,PeopleInfoAdmin)

(5)定义视图

a>在项目下的urls.py中增加如下,表示,除了admin之外的,会跳转到Book.urls

b>Book中新建urls.py,增加内容,正则表达式必须是:以什么开始,已什么结束

(6)模板定义

a>创建一个模板,可以在项目根目录下建一个templates目录,然后下面建立应用目录以及html模板文件如:templates/Book/test.html

b>修改settings.py文件,将根目录指向templates目录

c>修改test函数,填写渲染路径和传入的参数

 
def bookList(request):
    """请求到视图"""
    #数据库查询所有book_list = [BookInfo,BookInfo]
    book_list = BookInfo.objects.all()
    context = {
        "bookList":book_list
    }
    # 调用模板,未接受参数
    # return render(request,'Book/test.htm')
    return render(request,'Book/booklist.html',context)

booklist.html通过

<body>
<ul>
    {% for book in bookList %}
        <li>{{ book.name }}</li>
    {% endfor%}
</ul>
</body>

这个去获取到后台传入的值

d>访问路径如localhot:8000/booklist/1/  能够获取到1下的所有书籍

urlpatterns = [
    #正则匹配,如果匹配成功,直接调用制定的视图
    url(r'^test/$',test),
    url(r'^booklist/$',bookList),
    url(r'^(\d+)/$',peopleList),#正则匹配组,直接自动传过去数字参数
]
 
def peopleList(request,book_id):
    #获取book_id:通过正则的组取值,并自动传入
    #查询出用户点击的那本书
    book = BookInfo.objects.get(id=book_id)
    people_list = book.peopleinfo_set.all()
    context = {
        "people_list":people_list
    }
    #调出模板并渲染
    return render(request,'Book/peoplelist',context)
    #查询出书里面的人物信息

Python干货总结篇:列表、字典、集合、元组的区别与用途_python集合-优快云博客

一、特点与用途
1.列表:a=[ ]
特点:

有序:列表中的元素有固定的顺序,可以通过索引访问。
可变:列表是可变的,可以修改、添加和删除元素。
允许重复:列表允许重复的元素。
用途:

适用于需要保持元素顺序并且可能会修改或扩展的场景。
例如,存储一系列的数字、名字等。
示例:

list = [1, 2, 3, 4, 5]  #创建列表:list
list.append(6)  # 添加元素
print(list)     #输出列表list
2.集合:a={ }
特点:

无序:集合中的元素没有固定顺序。
可变:集合是可变的,可以添加和删除元素。
不允许重复:集合中的元素必须是唯一的,重复元素会被自动去重。
用途:

适用于需要对元素进行去重,或者需要执行集合操作(如并集、交集、差集等)的场景。
例如,存储一组不重复的元素、去除重复的值等。
示例:

set = {1, 2, 2}
set.add(4)  # 添加元素
print(set)     #输出{1, 2, 4}
3.字典:a={key:value}
特点:

无序(但在Python 3.6 及以上版本中,字典是插入有序的)。
键值对存储:字典是由键(key)和值(value)对组成的,每个键都是唯一的。
可变:字典是可变的,可以修改、添加和删除键值对。
用途:

适用于需要通过特定键快速访问对应值的场景。
例如,存储映射关系,如用户信息、配置文件等。
示例:

dict = {"name": "Alice", "age": 25}
dict["age"] = 26  # 修改值
print(dict["age"])  #输出26
 4.元组:a=( )
特点:

有序:元组中的元素有固定的顺序,可以通过索引访问。
不可变:元组是不可变的,一旦创建,不能修改、添加或删除元素。
允许重复:元组允许重复的元素。
用途:

适用于需要保证数据不被修改的场景。
例如,存储一组相关数据(如坐标、日期等),或者需要作为字典的键。
示例:

tuple = (1, 2, 3)   #元组一旦创建,不能修改
print(tuple)  #输出(1, 2, 3)
 二、图表总结
数据结构    是否有序    是否可变    是否允许重复    适用场景
列表 (list)    是    是    是    需要顺序、可修改的数据,如存储一系列元素。
集合 (set)    否    是    否    需要去重或者进行集合操作(并集、交集等)。
字典 (dict)    否    是    否(键是唯一的)    存储键值对,快速查找、存储映射关系。
元组 (tuple)    是    否    是    不需要修改的数据,如不可变的记录或作为字典键。
简单来说,选择适合的容器类型取决于具体的应用场景和操作需求。
————————————————

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
                        
原文链接:https://blog.youkuaiyun.com/2301_81711570/article/details/144197473

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值