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

python相关知识

1、注释

共有三种:#、''' '''、””” ”””

2、数据类型

整数、浮点、字符串、布尔、列表、元组、集合、字典

num1 = 666、num2 = 3.14、t1 = True、t2 = False、

列表:list = [1,2,3,4]

元组:tuple = ('11','aaa','ddd',3)

字典:dict = {'li':'弹琴','l2':'打球'}

集合:set = {1,2,3,4,4,5}

3、基本内建函数

print()、type()、input()等

4、标识符

由数字字母下划线组成,不能是数字开头,不能是35个关键字,区分大小写;

标识符包含:变量名、函数名、类名、对象名等

标识符命名建议:见名知意、大驼峰、小驼峰、下划线(user_name)

我们编写代码过程中,可以用到快捷键,格式化代码快捷键:ctrl+alt + L

5、格式化输出方法

方法一:%s占位、%d占位、%f占位

方法二:print(f"我的名字是{name}")

6、输入方法

输入:input() 内置函数

7、数据类型转换

int()、float()、str()、eval()

8、算术运算符

+、 -、 *、 /、 //(取整数)、 %(取余数)、 **(乘方)

9、字符串运算符

字符串的运算符:+拼接、*复制内容

10、字符串str的操作方法

下标取值、切片、find()、index ()找不到则报错、count ()

11、列表list的常用方法

list1 = [1,2,3,2]

○ 新增:append()、insert()、extend()

○ 切片:【起始:结束:步长】

○ 删除:del、pop()不填默认删最后一个元素、remove()、clear()

○ 查找:in、not in、index()不存在则报错、count()没有则返回0

○ 排序:reverse()、sort()、sort(reverse=True)

12、元组tuple的常用方法

tuple1 = (1,2,3,4,5)

○ 有序序列、元组的元素不能被修改

○ 格式是小括号(),小括号可以省略不写,如tuple1 = 1,2,3,4,5

○ 下标提取值、切片、index()、count()

13、字典dict

dict1 = {'name':'老墨','age':16}

○ 常用方法:切片、通过键提取值、索引、len()

○ 取值:dict1['name']、 dict1.get('name')、 dict1.keys()、 dict1.values()、dict1.items()

○ 增加数据:d = dict(a=1,b=2,c=3)、 update()、setdefault():若存在则不变

○ 删除数据:pop()方法、del关键字、clear()

13、集合set

set1 = {5,2,3,3,4,1}

○ 自动去重、无序

○ 集合set、列表list、元组tuple可以相互转化

○ 修改数据:add()、remove()

14、可变数据类型 和 不可变数据类型

不可变:数字类型、字符串类型、元组tuple

可变:列表list、字典dict、集合set;(数据内容改变,地址也不发生改变)

15、推导式

重点列表推导式:list2 = [x for x in range(8)]

# 这个代码写法1
list_num = []
for i in range(8):num = random.randint(0, 10)list_num.append(num)
print(list_num)# 用列表推导式写法2
list3 = [random.randint(0, 10) for x in range(8)]
print(list3)# in 后面可以放一个可迭代的对象:容器类型的数据(字符串、元组、字典、列表)
list_a = [a for a in 'python']
print(list_a) #['p', 'y', 't', 'h', 'o', 'n']list_b = [a*2 for a in 'python']
print(list_b) #['pp', 'yy', 'tt', 'hh', 'oo', 'nn']# 带if条件的列表推导式
list_c = [x for x in  range(10) if x%2==0]
print(list_c)#[0, 2, 4, 6, 8]# 字典推导式
dict_a = {key:value for key in 'python' for value in range(8)}
# 因为一直覆盖,所以取得最后一个值7
print(dict_a)#{'p': 7, 'y': 7, 't': 7, 'h': 7, 'o': 7, 'n': 7}# 集合推导式
set_a = {i for i in '有人云淡风轻,有人负重前行'}
print(set_a)#{'前', '行', ',', '有', '重', '负', '人', '风', '云', '淡', '轻'}

16、浅拷贝和深拷贝

  • 浅拷贝:重新分配内存空间,新元素指向原来的位置===》不可变数据
  • 浅拷贝:(针对不可变的数据类型,:数字、字符串、元组tuple)
  • from copy import copy
  • tuple2 = copy(tuple1)
  • 深拷贝:重新分配内存空间,新元素独立和原来的数据没有任何关联===》可变数据
  • 深拷贝(针对可变数据类型:列表list、字典dict、集合set等数据类型)
  • from copy import deepcopy
  • list2 = deepcopy(list1)

17、三大执行体系:顺序、分支、循环

1)分支 - if
# 分支 - if
age = 18
if age>10:print("可以吃")
elif age>5:print("可以申请吃")
else:print("不准吃")

python3.10之后分支语句出现了新的写法match

match = name:case "理性":print("111")case "感性":print("222")

判断分支条件True和False:

  • True:非0的数字、小数、整数、负数、非空字符串、非空容器类型数据(set、list、tuple、dict);
  • False:为0的数据、为空的字符串、为空的容器类型数据;
  • 比较运算符:>、<、==、>=、<=、!= ====》运算结果都是布尔值
  • 逻辑运算符:and、or、not
  • 在 python3.10 之后,可以使用match 、case:
  • if,实现三目运算符:print(a if a > b else b) # 如果条件成立返回结果a,否则返回b

2)循环 - while、for
i = 0;
while i<100:i=i+1;
print(f"循环次数{i}")
for i in range(100):print(f"循环次数{i}") # 从0到99

3)break 和 continue

break:结束终止整个循环体

continue:跳过当前循环块中的剩余语句,然后继续进行下一轮循环。

# while 中使用 break
n = 0
while n < 5:n += 1if n == 3:breakprint(n)
print('循环结束!')# while 中使用 continue
n = 0
while n < 5:n += 1if n == 3:continueprint(n)
print('循环结束!')

18、函数

  • 参数:是否指定参数类型、默认参数值、不定长参数*args元组 和 **kwargs字典;
  • 返回值:是否有返回值
  • 函数调用:定义关键字参数
  • 函数嵌套
'''函数add1:不指定参数类型,无返回值'''
def add1(x,y):#关键字占位# passprint(x+y)#3
'''函数add2:指定参数类型,有返回值'''
def add2(x:int,y:int) -> str:z=x+yprint(z)#6return str(z)

定义关键字参数(调用的时候):add2 ( x=1, y=3 )

默认参数值(函数定义的时候):def add ( a, b, c=4):

不定长参数:让函数接受长度不确定的参数:可以是0个、1个、100个或者N个参数

*args:让函数接受任何的数量的位置参数,存储方式是元组;

**kwargs:让函数接受任何数量的关键字参数,存储方式是字典;

'''函数的默认参数值,函数的指定参数传值'''
def add1(a=1, b=int, c=int) -> list:sum = a+b+c;
list1 = [a,b,c];
return list1;
print(add1(a=3,b=2,c=3)) #[3, 2, 3]
'''*args :让函数接受任何的数量的位置参数,存储方式是元组'''
def add2(*args):print(args)
add2(1,2,3,'333','我',(1,2,3),[1,2,3],{1,2,3},{'a':1,'b':6})
'''**kwargs :让函数接受任何数量的关键字参数,存储方式是字典'''
def add3(**kwargs):print(kwargs)
add3(a='豆豆',b='饼饼')

函数嵌套:

def add(*args, **kwargs):def count(a, b):return a + b;
return countf1 = add()
c = f1(3,9)
print(c) #12

19、全局变量和局部变量、global标识符

局部变量:

是在函数内部声明的变量,其作用域仅限于声明它的函数内部。

在函数被调用时创建,并且在函数执行完毕后销毁。

其他函数无法访问局部变量。

在函数内部声明局部变量时,可以使用var_name = value的形式进行声明和赋值

全局变量:

在函数外部声明的变量,其作用域延伸到整个程序的范围。

可以在任何函数内部访问和修改。

在函数内部声明全局变量时,需要使用global关键字进行声明。

全局变量的命名最好避免与局部变量重名,以免发生混淆。

# 声明全局变量
a = 20def my_function():global global_var# 访问全局变量print("全局变量 a 的值为:", a)# 函数内部修改全局变量a=9999my_function()  # 调用函数
print("修改后的全部变量为", a) 

20、文件操作

文件的打开和关闭 : open 和 close

  • file1.read() # 读取文件全部内容
  • file1.readline() #读取文件一行内容
  • file1.readlines() #读取文件所有行内容,返回一个列表,数据内容是字符串的数据类型

文件的读写模式:r、w、a、wb、rb、ab、r+、w+、a+、rb+、wb+、ab+

文件操作:

import os
os.rename("abc.txt",'111.txt')# 修改文件名字
print(os.getcwd())# 货物当前文件(文件夹)的绝对路径
os.rmdir("123")# 删除空的文件夹
os.mkdir("456")# 创建空的文件夹
print(os.listdir("456"))# 获取文件夹目录

21、时间处理

import time# 获取当前本地时间
print(time.localtime())
#获取时间戳
print(time.time())
# 结构化时间:时间 -> 时间
print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(time.time())))
print(time.strftime("%Y-%m-%d %H:%M:%S"))# 字符串  -> 时间
print(time.strptime("2023-03-05 21:59:27","%Y-%m-%d %H:%M:%S"))# 等待时间3秒
time.sleep(3)

相关文章:

python相关知识

1、注释 共有三种&#xff1a;#、 、””” ””” 2、数据类型 整数、浮点、字符串、布尔、列表、元组、集合、字典 num1 666、num2 3.14、t1 True、t2 False、 列表&#xff1a;list [1,2,3,4] 元组&#xff1a;tuple (11,aaa,ddd,3) 字典&#xff1a;dict {li…...

Visual Studio 2022 LNK2001无法解析的外部符号 _wcscat_s 问题记录

ANSI C程序中&#xff0c;用到了wcsrchr、wcsncpy_s、wcscat_s、wcscpy_s等几个字符串函数&#xff0c;但是编译时提示&#xff1a; 错误 LNK2001 无法解析的外部符号 _wcscat_s 查了挺多帖子&#xff0c;没有解决。 https://bbs.csdn.net/topics/250012844 解决VS编译…...

Java高并发处理机制

高并发处理的思路&#xff1a; 扩容&#xff1a;水平扩容、垂直扩容缓存&#xff1a;将基础的数据放入缓存进行处理使用SpringCloud的注册中心&#xff0c;分服务注册到同一个注册中心&#xff0c;服务器检测使用Spring的熔断操作&#xff0c;检测服务器的心跳那个正常随机跳转…...

7 数据存储单位,整型、浮点型、字符型、布尔型数据类型,sizeof 运算符

目录 1 数据类型的分类 2 数据存储单位 2.1 位 2.2 字节 2.3 其余单位 3 整数类型 3.1 基本介绍 3.2 整型的类型 3.2.1 整数类型多样性的原因 3.2.2 整型类型之间的相对大小关系 3.3 整型注意事项 3.4 字面量后缀 3.5 格式占位符 3.6 案例&#xff1a;声明并输出…...

导游职业资格考试真题题库

导游职业资格考试真题题库 80.重庆有"雾都"之称。壁山区的()全年雾日多204天&#xff0c;堪称"世界之最"。 A.枇杷山 B.雾灵山 C.云雾山 D.四姑娘山 答案&#xff1a;C 81.我国最具热带海洋气候特色的地方为&#xff08;&#xff09;。 A.广西壮族…...

【Rust】使用开源项目搭建瓦片地图服务

本文通过获取在线和离线地图数据&#xff0c;使用开源Rust项目搭建瓦片地图服务&#xff0c;并使用DevExpress的MapControl控件使用自建地图服务 获取地图数据 获取地图数据有很多种方式&#xff0c;这里分别用在线和离线地图数据举例说明 在线下载瓦片地图 打开在线瓦片地…...

【面试宝典】mysql常见面试题总结(上)

一、MySQL 中有哪几种锁&#xff1f; MySQL中的锁机制是数据库并发控制的重要组成部分&#xff0c;它用于管理多个用户对数据库资源的访问&#xff0c;确保数据的一致性和完整性。MySQL中的锁可以根据不同的分类标准进行分类&#xff0c;以下是一些常见的分类方式及对应的锁类…...

第1章 初识C语言

第1章 初识C语言 1.1 C语言概述 1.1.1 C语言的发展历史 C语言的原型为ALGOL 60语言&#xff08;也称A语言&#xff09;。 1963年 剑桥大学将ALGOL 60语言发展成为GPL语言。 1967年 剑桥大学的Matin Richards简化GPL&#xff0c;产生了BGPL语言。 1970年 美国贝尔实验室的Ken…...

【考研数学】定积分应用——旋转体体积的计算(一文以蔽之)

目录 一、如何计算旋转体体积&#xff1f;思考一个小例子 二、旋转体体积的二重积分表达式 三、用真题&#xff0c;小试牛刀 定积分的应用中&#xff0c;有一类题是求解旋转体的体积问题。 相较于记忆体积计算公式&#xff0c;有一种通法求解体积更不容易出错&#xff1a;二重…...

PHP移动端商城分销全平台全端同步使用

&#x1f4f1;【掌中购物新纪元&#xff1a;探索移动端购物商城系统的无限魅力】&#x1f6cd;️ &#x1f680; 随时随地&#xff0c;购物自由新体验 在这个快节奏的时代&#xff0c;移动端购物商城系统彻底颠覆了传统购物方式&#xff0c;让消费者享受到了前所未有的便捷与…...

TLE8386-2EL:汽车级DC-DC转换器中文资料书

描述 TLE8386-2EL是一款具有内置保护功能的低端感应升压控制器。该器件的主要功能是将输入电压升高&#xff08;升压&#xff09;到更大的输出电压。开关频率可从100kHz调整至700kHz&#xff0c;并可与外部时钟源同步。 TLE8386-2EL的独特功能可将关断电流消耗降至 <2μA。该…...

EasyRecovery17中文mac苹果电脑版数据恢复软件 永久免费破解版下载

&#x1f389; 数据丢失不再是噩梦&#xff01;EasyRecovery17中文版来拯救你的硬盘啦&#xff01; 各位小伙伴们&#xff0c;有没有遇到过重要文件一不小心就消失无踪的尴尬情况&#xff1f;别担心&#xff0c;今天就给大家种草一款神奇的工具——EasyRecovery17中文版&#x…...

Ubuntu 22.04 安装 VirtualBox7

Ubuntu默认库为VirtualBox-6版本 # 安装 VirtualBox-6 sudo apt update sudo apt install virtualbox# 卸载 VirtualBox-6 sudo apt remove --purge --auto-remove virtualbox virtualbox-6.1 1. 安装 VirtualBox-7 # 导入软件包密钥 curl https://www.virtualbox.org/downl…...

NPM使用教程:从入门到精通

NPM使用教程&#xff1a;从入门到精通&#xff0c;掌握Node.js包管理神器 引言 随着Node.js的流行&#xff0c;JavaScript已经成为服务器端开发的主力军。NPM&#xff08;Node Package Manager&#xff09;作为Node.js的官方包管理工具&#xff0c;为开发者提供了一个庞大的代…...

模电实验3 - 单电源集成运放交流耦合放大器

实验目标 学习集成运放的单电源使用。掌握交流耦合单电源集成运放放大器的测试方法。了解交流耦合单电源集成运放放大器的特点。 实验器材 ADALM2000 1kΩ 电阻 (1/4 W) x 1 10 kΩ 电阻 (1/4 W) x 1 100kΩ 电阻 (1/4 W) x 3 0.1μF电容 x 1 1μF电容 …...

海对外经贸大学学报

《上海对外经贸大学学报》创刊于1994年&#xff0c;原名为《世界贸易组织动态与研究》(上海对外贸易学院学报)&#xff0c;随原上海对外贸易学院更名为上海对外经贸大学&#xff0c;自2014年起更为现名&#xff0c;现为综合性社科类双月刊&#xff0c;为中文社会科学引文检索&a…...

数字化营销在公域场景中的无限可能

在如今的商业领域&#xff0c;公域场景为企业提供了广阔的发展空间&#xff0c;而数字化营销则成为了企业在这些场景中脱颖而出的关键利器。 ​ 一、电商平台营销 当企业在淘宝、京东等大型电商平台开设店铺&#xff0c;数字化营销便开始大显身手。 企业不仅能踊跃参与像双十…...

聚观早报 | 一加13配置细节曝光;谷歌首推人工智能手机

聚观早报每日整理最值得关注的行业重点事件&#xff0c;帮助大家及时了解最新行业动态&#xff0c;每日读报&#xff0c;就读聚观365资讯简报。 整理丨Cutie 8月15日消息 一加13配置细节曝光 谷歌首推人工智能手机 MONA M03汽车即将上市 iPhone SE 4将升级8GB运行内存 R…...

C++ 11相关新特性(lambda表达式与function包装器)

目录 lambda表达式 引入 lambda表达式介绍 lambda表达式捕捉列表的传递形式 lambda表达式的原理 包装器 包装器的基本使用 包装器与重载函数 包装器的使用 绑定 C 11 新特性 lambda表达式 引入 在C 98中&#xff0c;对于sort函数来说&#xff0c;如果需要根据不同的比较方式实现…...

FastAPI部署大模型Llama 3.1

项目地址&#xff1a;[self-llm/models/Llama3_1/01-Llama3_1-8B-Instruct FastApi 部署调用.md at master datawhalechina/self-llm (github.com)](https://github.com/datawhalechina/self-llm/blob/master/models/Llama3_1/01-Llama3_1-8B-Instruct FastApi 部署调用.md) …...

Python|GIF 解析与构建(5):手搓截屏和帧率控制

目录 Python&#xff5c;GIF 解析与构建&#xff08;5&#xff09;&#xff1a;手搓截屏和帧率控制 一、引言 二、技术实现&#xff1a;手搓截屏模块 2.1 核心原理 2.2 代码解析&#xff1a;ScreenshotData类 2.2.1 截图函数&#xff1a;capture_screen 三、技术实现&…...

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…...

linux之kylin系统nginx的安装

一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源&#xff08;HTML/CSS/图片等&#xff09;&#xff0c;响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址&#xff0c;提高安全性 3.负载均衡服务器 支持多种策略分发流量…...

【JavaEE】-- HTTP

1. HTTP是什么&#xff1f; HTTP&#xff08;全称为"超文本传输协议"&#xff09;是一种应用非常广泛的应用层协议&#xff0c;HTTP是基于TCP协议的一种应用层协议。 应用层协议&#xff1a;是计算机网络协议栈中最高层的协议&#xff0c;它定义了运行在不同主机上…...

线程同步:确保多线程程序的安全与高效!

全文目录&#xff1a; 开篇语前序前言第一部分&#xff1a;线程同步的概念与问题1.1 线程同步的概念1.2 线程同步的问题1.3 线程同步的解决方案 第二部分&#xff1a;synchronized关键字的使用2.1 使用 synchronized修饰方法2.2 使用 synchronized修饰代码块 第三部分&#xff…...

第25节 Node.js 断言测试

Node.js的assert模块主要用于编写程序的单元测试时使用&#xff0c;通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试&#xff0c;通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...

数据库分批入库

今天在工作中&#xff0c;遇到一个问题&#xff0c;就是分批查询的时候&#xff0c;由于批次过大导致出现了一些问题&#xff0c;一下是问题描述和解决方案&#xff1a; 示例&#xff1a; // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...

Unit 1 深度强化学习简介

Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库&#xff0c;例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体&#xff0c;比如 SnowballFight、Huggy the Do…...

七、数据库的完整性

七、数据库的完整性 主要内容 7.1 数据库的完整性概述 7.2 实体完整性 7.3 参照完整性 7.4 用户定义的完整性 7.5 触发器 7.6 SQL Server中数据库完整性的实现 7.7 小结 7.1 数据库的完整性概述 数据库完整性的含义 正确性 指数据的合法性 有效性 指数据是否属于所定…...

【电力电子】基于STM32F103C8T6单片机双极性SPWM逆变(硬件篇)

本项目是基于 STM32F103C8T6 微控制器的 SPWM(正弦脉宽调制)电源模块,能够生成可调频率和幅值的正弦波交流电源输出。该项目适用于逆变器、UPS电源、变频器等应用场景。 供电电源 输入电压采集 上图为本设计的电源电路,图中 D1 为二极管, 其目的是防止正负极电源反接, …...