当前位置: 首页 > article >正文

Python的各种各样基础

元组用小括号() tuple

列表用中括号[] list

字典用大括号{} dict

集合也用大括号{},set

集合里面可以放元祖,集合里面要放不能变的,不能放可变的,不能放列表和字典。集合支持数学中的集合操作,交集并集差集。集合里面的元素是唯一的,不能向列表那样,里面有重复的元素,集合里面的数据类型不是唯一的,可以有各种各样的数据类型

Python按照缩进表达代码的逻辑关系,其他语言的缩进可能主要是用来看着美观一点的,而python的缩进跟yaml语法有点像,就是用缩进表达语法的层级关系的。

表达式可以直接使用数据对象。数值不为0的数字以及非空的字符串、元祖、列表和字典都为真值;而数值为0的数字以及空字符串、空元祖、空列表和空字典都代表False。空对象None也代表False

input()函数读入的数据都是字符类型的,数字需要使用int()函数进行转换

import random

all_choices = ['石头', '剪刀', '布']
win_list = [['石头', '剪刀'], ['剪刀', '布'], ['布', '石头']]
prompt = """(0) 石头
(1) 剪刀
(2) 布
请选择(0/1/2): """
computer = random.choice(all_choices)
ind = int(input(prompt))
player = all_choices[ind]

print("Your choice: %s, Computer's choice: %s" % (player, computer))
if player == computer:
    print('\033[32;1m平局\033[0m')
elif [player, computer] in win_list:
    print('\033[31;1mYou WIN!!\033[0m')
else:
    print('\033[31;1mYou LOSE!!\033[0m')

print("Your choice: %s, Computer's choice: %s" % (player, computer))

在中间%的前面有一个字符串,字符串中有两个%s进行占位,这两个%s被后面元组中的两个变量替换。

%s表示使用str()函数将相应的数据进行转换

%d表示十进制整数

%f 表示浮点数

%% 输出百分号

三引号能够保存输入时的原始样式,三引号用于包含特殊字符,保存原始格式。

break循环中断和

continue循环中断

break会跳过循环内的break后面的代码,直接结束循环

continue也会跳过循环内continue后面的代码,但是会开始下一次循环

while

else结构

while如果是正常结束的,会执行else语句

while如果是被break结束的,不会执行else语句

一般在循环次数未知的时候用while循环,

在循环次数可以预见时,就用for循环

for循环从迭代对象中取值,这些迭代对象可以报考字符串、列表、元素、字典

range()函数

最多接收3个参数,分别表示起始值、结束值和步长值。如果只给定一个参数,则表示结束值,起始值默认为0,步长值默认为1.

range()函数只是返回了一个range对象,并不直接返回列表

list(range(10))才会返回[0,1,2,3,4,5,6,7,8,9]这个列表

但是当向它取值时,它仍然可以将相应的数值源源不断地提供给我们

列表的长度是列表中元素的数量,而列表的长度是从0开始计数的,所以列表的长度值刚好也对应了元素的下标

文件是Python组织代码的物理方式,模块是Python组织代码的逻辑方式。将Python程序文件全名的.py扩展名移除,剩下的基本名称就是模块名,如果randpass.py的模块名是randpass

关键字参数 位置参数

通过创建出来每个实例都有属性方法

子类可以拥有多个父类子类对象拥有所有方法

数据库第一范式第二范式第三范式

第二范式每张表需要一个主键字段主键不能重复比如员工员工一般都有一个不重复员工ID这一项作为主键相对比较合适

满足第二范式必须满足范式

满足第三范式必须满足第二范式

专业一点问题就是这张是不是一个第三范式

第三范式要求任何属性不得传递依赖于属性

PYPI就是Python软件市场

sql外键约束(Foreign Key Constraint)用于两个之间建立强制引用完整性确保一个数据另一个相关数据保持一致从而维护数据库完整性准确性

进程(process)其实翻译过程好像容易理解一点

线程(thread)翻译螺纹毛线好像容易理解比如印刷线路板半导体连线那种感觉

process一个过程描述实际干活应该thread理解可能准确但是可能就是这么意思

进程具有一定独立功能程序系统进行资源分配调度一个独立单位线程进程一个实体CPU调度分派基本单位进程更小独立运行基本单位线程自己基本上不拥有系统资源

一个线程只能属于一个进程一个进程可以多个线程进程至少一个线程(通常称之为主线程)资源分配进程同一个进程所有线程共享进程资源

还有主线程工作线程概念

讨论POST请求提交表单表单(Form)网页用于收集用户输入HTML元素集合通常包含各种输入字段(如文本框、密码框、复选框、单选按钮等)以及一个提交按钮用户可以这些字段输入信息然后通过点击提交按钮数据发送服务器

POST请求提交表单客户端(通常是浏览器)通过HTTP POST方法服务器发送数据提交用户网页表单输入信息这种方式常用需要发送较大敏感数据场景登录注册提交评论

HTTP POST方法超文本传输协议(HTTP)一种请求方法用于指定资源提交数据进行处理POST请求通常用于发送表单数据上传文件执行其他需要服务器处理操作

POST方法主要特点

1. 数据包含请求

2. 安全性更高

3. 不会缓存

4. 长度限制

5. 不是幂等

常见POST请求应用场景

1. 用户登录注册

2. 在线表单联系表单反馈表单用户填写信息提交服务器

3. 文件上传上传图片文档文件服务器

4. API调用RESTful API发送数据创建资源更新现有资源

json作用之一可以因为各种数据烈性不能直接写入文件所以借用jsondumpsload传递数据类型

json主要作用

1. 数据交换

json一种语言无关数据格式易于阅读编写同时易于机器解析生成因此非常适合用于不同系统应用程序服务之间数据交换

2. 序列化反序列化其实pythondumpload就是序列化序列化

序列化复杂数据结构转换字符串形式以便存储传输

序列化JSON字符串解析原始数据结构

3. 平台兼容性

JSON支持几乎所有现代编程语言包括PythonJSJavaC#使得成为跨平台数据交换理想选择

4. 简化开发

JSON格式简单易于理解减少了开发处理数据复杂度例如API相应通常JSON格式返回便于前端后端进行交互


http://www.kler.cn/a/469471.html

相关文章:

  • 大数据架构演变
  • SSL,TLS协议分析
  • 服务器Ubuntu22.04系统下 ollama的详细部署安装和搭配open_webui使用
  • 图漾相机基础操作
  • Unity 中计算射线和平面相交距离的原理
  • OpenKit 介绍
  • IDEA 撤销 merge 操作(详解)
  • 安装和配置MySQL教程
  • 科研绘图系列:R语言单细胞数据常见的可视化图形
  • [jsoncpp]JSON序列化与反序列化
  • 基于 Python Django 的社区爱心养老系统
  • 位置编码--RoPE
  • 单细胞组学大模型(7)--- GenePT,一个可以在本地部署和使用的单细胞转录组大模型
  • 【设计模式-1】软件设计模式概述
  • k8s修改存储目录-介绍
  • Docker 安装Elasticsearch搜索引擎 搜索优化 词库挂载 拼音分词 插件安装
  • Linux 防火墙:守护系统安全的坚固防线
  • 今日头条ip属地根据什么显示?不准确怎么办
  • 渗透测试--Web基础漏洞利用技巧
  • 浅谈棋牌游戏开发流程七:反外挂与安全体系——守护游戏公平与玩家体验
  • C# 设计模式(行为型模式):解释器模式
  • ✅binlog、redolog和undolog区别?
  • 深入理解 WebSocket:实时通信的基础
  • 鸿蒙应用开发(2)
  • Java字符编码与正则表达式深度解析
  • Web Services 简介