【Python全栈_公开课学习记录】

news2025/1/21 10:13:17

一、初识python

 (一).Python起源

Python创始人为吉多·范罗苏姆(荷兰),Python崇尚优美、清晰、简明的编辑风格。Python语言结构清晰简单、数据库丰富、运行成熟稳定,科学计算统计分析领先。目前广泛应用于云计算、Web开发、科学运算、人工智能、系统运维、金融领域。在金融领域中,主要用于量化分析、金融分析尤其擅长策略回测。机缘巧合通过视频课程学习Python,向金融+Python方向靠拢。

Python是一门解释性语言。区别于输出结果型,通过及时输出,提高开发效率。

(二).python的基本知识

1.python变量的命名规则

(1).python变量由字母、数字、下划线组成

(2). python变量不能用纯数字,也不能用数字开头

(3). python变量不能是python的关键字

2.python变量命名的常用规范

(1). 变量名不要太长

(2).变量名要有意义

(3)变量名区分大小写

(4).变量名不要用中文

(5).多使用驼峰体和下划线命名

3.python变量类型

(1).int类型,整数,可以进行+、-*、/、%(计算余数)、//(整除)运算

(2).str类型,字符串,',",'''。可以通过type(变量)查看数据类型,字符串可以进行+ *运算

(3).bool类型,真命题或假命题,结果True、False,只用来条件判断

(4).用户交互,使用input(),input接收到的为字符串

4.python基本数据类型

(1). int整数

#bit_length()返回一个数的二进制长度

(2)str字符串

由',",'''括起来的内容是字符串,字符串是不可改变的数据类型,不论执行任何操作,原字符串是不会改变的,每次操作都会返回字符串。

a.字符串的索引和切片

索引从0开始,使用[下标]

切片[起始位置:结束位置] #切片时顾头不顾尾,只能切到开头的位置,切不到结尾,默认从左往右切

print(s[-1:-3:-1])"-1"表示步长,每位移一单位,从右往左切片

b.字符串的修改

sn=s.capitalize() 把字符串首字母变成大写

sn=s.upper() 把字符串变成大写

sn=s.lower() 把字符串变成小写

sn=s.swapcase() 把字符串大小写互换

sn=s.title() 把字符串每个单词首字母变成大写

sn=s.center(x,"*or空白等") 把字符串左右两边用*拼接成x个单位

sn=s.strip() 默认去掉空格,空白,可以指定去掉的内容 (去掉左侧空格:s.lstrip 去掉右侧空格:s.rstrip)

sn=s.erplace("old","new") 把字符串中的内容进行替换

sn=s.split() 对字符串进行切割,切完的结果是一个列表 #与 joint相对

c.字符串的查找

sn=s.startwith() 字符串是否以xxx开头

sn=s.endwith() 字符串是否以xxx结尾

sn=s.count(a) 字符串中a出现的次数

sn=s.find(a) 查找字符串中a第一次出现的位置,没有返回-1

sn=s.inde(a) 查找字符串中a的位置,没有会报错

d.字符串的条件判断

s.isdigit() 判断是否为数字

s.isalpha() 判断是否为字母

s.isalnum() 判断是否为数字

e.字符串长度

len(s) 字符串中字符的个数 #python内置函数

(3)bool布尔值

布尔值只有两个值,True,False,空的东西是False,非空的是True

(4)list列表

a.什么是列表

列表是一个可变的数据类型,列表由[]表示,每一项元素用逗号隔开,列表什么都能装,能装对象的对象,列表可以装大量的数据

b.列表的索引和切片

列表和字符串一样,也有索引和切片,切片切出的内容是列表,索引的下标从0开始,[起始位置:结束位置:步长]

c.列表的增删改查

增加:lst.append() 在原有列表基础上进行的操作,屁股后面添加,只能加一个

lst.insert(n,xxx) 在第n个位置插入xxx

lst.extend(["",""]) 元素为列表整体添加,否则迭代添加

删除:lst.pop(n) 删除指定位置元素

lst.remove("") 删除特定元素

del lst[:] 切片删除

lst.clear() 清空

修改:lst[n]="xxx" 修改第n个元素为xxx

lst[m:n]=lst["x"] 切片部分修改为x

查询:for el in lst:

print(el)

d.列表的相关操作

计数:lst.count("") 列表中某个元素的个数

排序:lst.sort() 将列表正序排列

括号中加"reverse=True"变为降序排列

翻转:lst.reverse() 将列表中的元素翻转

嵌套:lst[][] 可进行降维操作

lst="_"join(["",""])将列表转换成字符串,每个元素之间用_连接

split字符串切割为列表

(5)tuple元组

元组tu用()表示,元组中如果只有一个元素,需要在括号中加入一个逗号,Tu=tuple()为空元组,元组是一个可迭代对象,可以使用for循环。

元组不可以进行增删改,只能看,可以查询,切片。

元组查询:tu[],tu[m:n]

元组第一层元素不能进行赋值,内部元素是没有要求的

(6)dict字典

a.字典的含义

字典dict用{}表示,字典为键值对数据,{key:value},具有唯一性特点

字典中的键都必须是可hash的,不可变的任何数据类型都可以当做字典中的键,字典中的值没有任何限制。

b.字典的增删改查

增加:dic[key]=value

dic.setdefault(key,value) 如果字典中不存在就进行添加,存在不做任何操作

删除:dic.pop("key")

del dic["key"]

修改:dic[key]=value 修改字典键对应的值

dic.update(字典)

查找:dic(key) 没有会报错

dic.get(key) 没有返回none

set.default(key)

c.字典的其他操作:

dic.keys 获取到的键存在一个高仿列表中

dic.values 获取到的值存在一个高仿列表中

dic.items 获取到的所有键值对元组形式存在一个高仿列表中

dic.fromkeys 不会对字典产生影响,fromkeys直接使用类名进行访问

列表和字典在循环的时候不能直接删除,需要把要删除的内容记录在新列表中,然后循环新列表进行删除。

(7)set集合

a.set集合定义:

set集合是Python的一个基本数据类型,一般不是很常用,set中的元素是不重复的,无序的,里面的元素必须是可hash的(int,str,tuple,bool),可以这样来记,set就是dict类型的数据,但是不保存value,只保存key,set也用{ }表示。

#set中的元素是可hash的,set本身不可hash.

集合去重

b.set集合的增删改查

增加:s.add

s.update 迭代更新

删除: s.pop # 随机弹出一个

s.remove(“xxx”) #直接删除元素 元素不存在会报错

clear() 清空集合,打印出来是set()与dict区分

修改:

Set集合中的数据没有索引,也没有办法定位一个元素,所以没有办法直接修改,可以采用先删除后添加的方式完成修改操作

c.set集合的常用操作

查询:for 循环

交集:print(s1 & s2)

并集:  print(s1 | s2)

差集:print(s1 - s2)

子集:print(s1 <s2)

5.深浅拷贝

lst2 = lst1      # 赋值

没有创建新对象,共用同一对象。


lst2 = lst1[:]  #浅拷贝

只拷贝第一层内容: [:],copy()


深拷贝:把对象内部的内容全部拷贝一份,引入copy模块。

import copy

lst2 = copy.deepcopy(lst1)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1165368.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

BlockingQueue解析

BlockingQueue其实就是阻塞队列&#xff0c;是基于阻塞机制实现的线程安全的队列。 BlockingQueue不同于普通的Queue的区别主要是&#xff1a; 通过在入队和出队时进行加锁&#xff0c;保证了队列线程安全支持阻塞的入队和出队方法&#xff1a;当队列满时&#xff0c;会阻塞入…

数据结构与算法【01】—绪论

专栏地址:数据结构与算法专栏 开源仓库:bigsai-algorithm仓库 ,欢迎支持 针对以前写的数据结构与算法系列重写(针对文字描述、图片、错误修复),改动会比较大,一直到更新完为止 前言 数据结构与算法是程序员内功体现的重要标准之一,且数据结构也应用在各个方面,业界更有…

3.18每日一题(奇偶性、奇偶性的平移、几何意义、配方、换元)

解法一&#xff1a;先配方&#xff0c;再用三角函数换元&#xff08;看见根号一般用三角函数&#xff09;&#xff0c;看见对称区间联想奇偶性&#xff0c;最后再用公式 解法二&#xff1a; 利用奇偶性的平移&#xff0c;令&#xff08;x-1&#xff09; t &#xff0c;对应的区…

ROS学习笔记(4):ROS架构和通讯机制

前提 前4篇文章以及帮助大家快速入门ROS了&#xff0c;而从第5篇开始我们会更加注重知识积累。同时我强烈建议配合B站大学的视频一起服用。 1.ROS架构三层次&#xff1a; 1.基于Linux系统的OS层&#xff1b; 2.实现ROS核心通信机制以及众多机器人开发库的中间层&#xff1b…

[H5动画制作系列]坐标转化问题一次搞清,一了百了

前言: 本次演示的坐标包括三个坐标层&#xff1a; 1.舞台上的某位置相对于舞台的全局坐标的坐标(黑色)。 2.舞台上蓝色实例内部某位置相对于该蓝色实例内部局部坐标的坐标(蓝色)。 3.舞台上蓝色实例内部的红色实例内部某位置相对该红色实例内部局部坐标的坐标(红色)。 舞台…

Linux Makefile变量详解

前言 我们是地球人。曾经为复杂的 Makefile 变量而苦恼过吗&#xff1f;这就是我们的用武之地。我们简化您的构建流程&#xff0c;以获得更快、更高效的结果。看看我们。 自 1976 年出现以来&#xff0c;Make 一直在帮助开发人员自动执行编译代码、构建可执行文件和生成文档的…

【ICCV2023】利用软对比学习和全能分类器提升模型在跨域场景发现新类别的能力...

论文标题&#xff1a; Boosting Novel Category Discovery Over Domains with Soft Contrastive Learning and All in One Classifier 论文链接&#xff1a;https://openaccess.thecvf.com/content/ICCV2023/html/Zang_Boosting_Novel_Category_Discovery_Over_Domains_with_So…

【Linux】 su 命令使用

su&#xff08;英文全拼&#xff1a;switch user&#xff09;命令用于变更为其他使用者的身份&#xff0c;除 root 外&#xff0c;需要键入该使用者 的密码。使用权限&#xff1a;所有使用者。 语法 su [选项] [-] [USER [参数]...] su命令 -Linux手册页 著者 作者&#xff1…

第二十二章 LaneAF框架结构以及接入MMDetection3D模型(车道线感知)

一 前言 近期参与到了手写AI的车道线检测的学习中去&#xff0c;以此系列笔记记录学习与思考的全过程。车道线检测系列会持续更新&#xff0c;力求完整精炼&#xff0c;引人启示。所需前期知识&#xff0c;可以结合手写AI进行系统的学习。 二 LaneAF接入openlane数据集 2.1 Lan…

Idea快速生成测试类

例如写写完一个功能类,需要对里面方法进行测试 在当前页面 按住CTRLSHFITT 选择你要生成的测试方法 点击OK,就会在test目录下在你对应包下生成对应测试类

k8s、调度约束

Kubernetes 是通过 List-Watch **** 的机制进行每个组件的协作&#xff0c;保持数据同步的&#xff0c;每个组件之间的设计实现了解耦 用户是通过 kubectl 根据配置文件&#xff0c;向 APIServer 发送命令&#xff0c;在 Node 节点上面建立 Pod 和 Container。 APIS…

axios 实现请求重试

前景提要&#xff1a; ts 简易封装 axios&#xff0c;统一 API 实现在 config 中配置开关拦截器 请求重试的核心是可以重放请求&#xff0c;具体实现就是在 axios 中&#xff0c;拿到当前请求的 config 对象&#xff0c;再用 axios 实例&#xff0c;就能重放请求。 在无感刷新…

MODWT(最大重叠离散小波变换)

MODWT 全称为 “多分辨率离散小波变换”&#xff08;Multiresolution Discrete Wavelet Transform&#xff09;&#xff0c;是一种基于小波分析的数据处理方法。 和传统的小波变换不同&#xff0c;MODWT 使用多种长度的小波滤波器来对信号进行多尺度分解。在 MODWT 中&#xf…

基于C语言实现扫雷小游戏

扫雷游戏 1. 扫雷游戏分析和设计1.1 扫雷游戏的功能说明1.2 游戏的分析和设计1.2.1 数据结构的分析 2. 扫雷游戏的代码实现3. 扫雷游戏的扩展 1. 扫雷游戏分析和设计 1.1 扫雷游戏的功能说明 使用控制台实现经典的扫雷游戏 游戏可以通过菜单实现继续玩或者退出游戏 扫雷的棋…

掌握微信批量添加好友技巧,让你的社交更高效

微信作为当今的热门通讯工具&#xff0c;在企业营销中扮演着越来越重要的角色。然而&#xff0c;微信并没有提供自动批量添加好友的功能&#xff0c;给运营者带来了不小的挑战。一个个手动添加不仅耗时&#xff0c;而且频繁操作还容易导致账号被封。本文将介绍几种手动批量添加…

你担心spring容器中scope为prototype的bean太大内存溢出吗?

你担心spring容器中scope为prototype的bean太大内存溢出吗&#xff1f; 提出假设 之前一直担心spring的scope为prototype的bean在一些高并发的场景下&#xff0c;吃不消吗&#xff0c;甚至会内存溢出&#xff0c;这样的担心不是没有道理的&#xff0c;&#xff08;以下是假设…

垃圾回收与内存分配

文章目录 查看本地虚拟机版本堆空间的基本结构内存分配和回收策略主要进行GC的区域内存分配策略对象优先在Eden区分配大对象直接进入老年代长期存活的对象进入老年代动态对象年龄判定空间分配担保 Full GC的触发条件 如何判断对象可以回收引用计数法可达性分析算法方法区的回收…

Proteus仿真--基于51单片机的走马灯实现(仿真文件+程序)

本文主要介绍基于51单片机的走马灯仿真&#xff08;完整仿真源文件及代码见文末链接&#xff09; 本设计中有16个LED灯用于流水走马演示&#xff0c;一位数码管用于显示当前模式状态&#xff0c;3个按键分别用于选择模式及加减速度控制 仿真图如下 其中 K1&#xff1a;用于模…

上海物理、化学高考命题趋势及2024年上海物理、化学高考备考建议

在上海高考时&#xff0c;物理、化学虽然不像语文、英语和数学那样分数高&#xff0c;但是仍然很重要。那么&#xff0c;从这几年的上海物理、化学的高考题目来看&#xff0c;我们互发现什么命题趋势和考题特点呢&#xff1f;如何备考接下来的2024年高考物理和化学呢&#xff1…

我在Vscode学OpenCV 基本的加法运算

根据上一篇我们可知__图像的属性 链接&#xff1a;《我在Vscode学OpenCV 处理图像》 属性— API 形状 img.shape 图像大小 img.size 数据类型 img.dtype  shape&#xff1a;如果是彩色图像&#xff0c;则返回包含行数、列数、通道数的数组&#xff1b;如果是二值图像或者灰度…