当前位置: 首页 > 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) …...

C++拾趣——编译器预处理宏__COUNTER__的应用场景

大纲 生成唯一标识符调试信息宏展开模板元编程代码 在C中&#xff0c;__COUNTER__是一个特殊的预处理宏&#xff0c;它主要被用来生成唯一的整数标识符。这个宏是由一些编译器&#xff08;如GCC和Visual Studio&#xff09;内置支持的&#xff0c;而不是C标准的一部分。它的主要…...

使用HTML和cgi实现网页登录功能

0.HTML文件结构 一.HTML文件 1.test.html <!DOCTYPE html> <html><head><meta charset"utf-8"><title>菜鸟教程(runoob.com)</title></head><body><!-- 将结果提交给/cgi-bin/test.cgi下 --><form actio…...

Java流程控制01:用户交互Scanner

本节教学视频链接&#xff1a;https://www.bilibili.com/video/BV12J41137hu?p33&vd_sourceb5775c3a4ea16a5306db9c7c1c1486b5https://www.bilibili.com/video/BV12J41137hu?p33&vd_sourceb5775c3a4ea16a5306db9c7c1c1486b5 Scanner 类用于扫描输入文本从字符串中提…...

什么是回滚

回滚&#xff08;Rollback&#xff09;是指当程序或数据出现错误时&#xff0c;将程序或数据恢复到最近一个正确版本或上一次正确状态的行为。回滚机制在软件开发、数据库管理、系统部署等多个领域都有广泛应用&#xff0c;旨在保证系统的稳定性和数据的完整性。以下是关于回滚…...

Java项目通过IDEA远程debug调试

前言 在我们真实项目开发过程中&#xff0c;又是经常会发现一种问题&#xff0c;就是我们在开发环境功能是正常的&#xff0c;在测试环境可能也不太容易发现问题。 结果到了生产环境&#xff0c;由于数据量大&#xff0c;且数据类型变多后&#xff0c;就产生了一些比较难复现…...

Python 绘图入门

数据可视化的概念及意义 数据可视化有着久远的历史&#xff0c;最早可以追溯至10世纪&#xff0c;至今已经应用和发展了数百年。不知名的天文学家是已知的最早尝试以图形方式显示全年当中太阳&#xff0c;月亮和行星的位置变化的图。 图1 数据可视化的发展历程 什么是数据可视…...

RK3568平台(背光篇)背光驱动代码分析

一.背光驱动设备树DTS backlight: backlight {compatible "pwm-backlight";pwms <&pwm1 0 5555555 1>;brightness-levels <77 77 78 78 79 79 80 8182 83 84 85 86 87 87 8888 89 90 90 91 91 92 9394 94 95 95 96 96 9…...

华为od统一考试B卷【比赛】python实现

def split_params(param_str): return list(map(int, param_str.split(,))) def main(): # 获取输入 target_str input().strip() # 输入验证&#xff0c;拆分并转换为整数 try: m, n split_params(target_str) except ValueError: print(-1) return # 检查 M 和 …...

Prometheus 监控接入规范

目录 一、目的 二、自定义监控指标定义规范 2.1 基本命名规范 2.1.1 指标命名规范 2.1.2 标签名称 2.2 控制基数 2.2.1 避免高基数标签 2.2.2 预定义标签集 2.2.3 动态数据的处理 2.2.4 评估与监控基数 2.2.5 降低历史数据的保留 2.2.6 适当使用 Histogram 和 Summa…...

优化 SQL 查询性能:深入理解 EXPLAIN 命令

优化 SQL 查询性能:深入理解 EXPLAIN 命令 在 MySQL 数据库管理中,优化 SQL 查询性能是确保高效数据处理的关键。EXPLAIN 命令是分析和优化 SQL 查询的强大工具,它帮助我们理解查询执行计划,从而找到性能瓶颈并进行优化。本文将详细解释 EXPLAIN 命令返回的各个列的含义,…...