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

一、初识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.mzph.cn/news/128348.shtml

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

相关文章

DSP 开发例程(5): tcp_server

目录 DSP 开发例程(5): tcp_server创建工程源码编辑tcp_echo.chelloWorld.c 调试说明 DSP 开发例程(5): tcp_server 此例程实现在 EVM6678L 开发板上创建 TCP Server进程, 完成计算机与开发板之间的 TCP/IP 通信. 例程源码可从我的 gitee 仓库上克隆或下载. 点击 DSP 开发教程…

【机器学习合集】模型设计之注意力机制动态网络 ->(个人学习记录笔记)

文章目录 注意力机制1. 注意力机制及其应用1.1 注意力机制的定义1.2 注意力机制的典型应用 2. 注意力模型设计2.1 空间注意力机制2.2 空间注意力模型2.3 通道注意力机制2.4 空间与通道注意力机制2.5 自注意力机制2.5 级联attention 动态网络1. 动态网络的定义2. 基于丢弃策略的…

jquery控制easyui中combobox、textbox显示隐藏

//combobox下拉框 $("#下拉框id.combo").hide();//textbox输入框 $("#输入框id.textbox").hide(); 参考网址&#xff1a; https://blog.csdn.net/Coldmood/article/details/128279727

PostgreSQL逻辑管理结构

1.数据库逻辑结构介绍 2.数据库基本操作 2.1 创建数据库 CREATE DATABASE name [ [ WITH ] [ OWNER [] user_name ] [ TEMPLATE [] template ] [ ENCODING [] encoding ] [ LC_COLLATE [] lc_collate ] [ LC_CTYPE [] lc_ctype ] [ TABLESPACE [] tablespace ] [ CONNECTION L…

Day17力扣打卡

打卡记录 参加会议的最多员工数&#xff08;拓扑排序 分类讨论&#xff09; 链接 计算内向基环树的最大基环&#xff0c;基环树基环为2的情况分类讨论。 class Solution { public:int maximumInvitations(vector<int> &favorite) {int n favorite.size();vector…

mac下的vscode配置编译环境

基础开发环境 创建Dockerfile文件&#xff0c;内容如下&#xff1a; FROM ubuntu:20.04RUN apt update & apt install make gcc cmake git ninja-build -y CMD [ "sleep", "infinity" ]创建docker-compose.yml文件&#xff0c;内容如下&#xff1a; …

4.多层感知机-3GPT版

#pic_center R 1 R_1 R1​ R 2 R^2 R2 目录 知识框架No.1 多层感知机一、感知机1、感知机2、训练感知机3、图形解释4、收敛定理5、XOR问题6、总结 二、多层感知机1、XOR2、单隐藏层3、单隐藏层-单分类4、为什么需要非线性激活函数5、Sigmoid函数6、Tanh函数7、ReLU函数8、多类分…

SDK是什么

SDK 是“Software Development Kit”&#xff08;软件开发工具包&#xff09;的缩写&#xff0c;它是一组用于开发特定软件应用、硬件平台、计算机系统或操作系统的开发工具的集合。SDK 通常包括一组开发工具、库、文档和示例代码&#xff0c;以帮助开发者更快地开发和部署应用…

SAML- 安全断言标记语言

一、概念 安全断言标记语言&#xff08;SAML&#xff09;是一种开放标准&#xff0c;用于在各方之间&#xff08;特别是身份提供商和服务提供商之间&#xff09;交换身份验证和授权数据。SAML 是一种基于XML的安全断言标记语言&#xff08;服务提供商用来做出访问控制决策的语句…

HTML标签、CSS介绍

标签的分类: 块级/行内 # 块级标签: 独占一行 h1~h6 p div """ 块儿级标签可以修改长宽. 行内标签不可以, 就算修改了也不会变化.块级标签内部可以嵌套任意的块级标签和行内标签. 特例: 是p标签虽然是块级标签 但是它只能嵌套行内标签 不能嵌套块级标签. 如…

linux安装apache并配置userid站点

目录 一、linux安装apache的方式 1、安装wget 2、下载CentOS 7的repo文件 3、更新镜像源 二、安装apache 1.通过命令直接安装apache(linux的软件包为httpd) 2.启动httpd服务 3.访问一下 三、apache配置文件 1.主配置文件 2.修改根目录 3.修改下端口 4.apache的工作…

华为OD面经Java

机试400分&#xff0c;部门流程与IT&#xff0c;base西安 分享面经攒人品 10.27 一面 深挖项目&#xff0c;面试官很友好&#xff0c;根据项目的每个技术点和场景来提问&#xff0c;比如项目中数据库数据量级有多大&#xff0c;什么时候会出现缓慢&#xff0c;如何解决的&…

BUUCTF 数据包中的线索 1

BUUCTF:https://buuoj.cn/challenges 题目描述&#xff1a; 公安机关近期截获到某网络犯罪团伙在线交流的数据包&#xff0c;但无法分析出具体的交流内容&#xff0c;聪明的你能帮公安机关找到线索吗&#xff1f; 密文&#xff1a; 下载附件&#xff0c;解压得到一个.pcapng文…

【兔子王赠书第5期】ChatGPT速学通:文案写作+PPT制作+数据分析+知识学习与变现

文章目录 前言ChatGPT推荐图书作者简介内容简介推荐理由 粉丝福利尾声 前言 程序员如果有一天代码写不动了&#xff0c;还能干什么&#xff1f; 一位 80 后女程序员“兰猫”给出了她的答案——转型 AI 写手。兰猫从事程序员工作十余年&#xff0c;在繁重的工作压力下&#xf…

大数据毕业设计选题推荐-系统运行情况监控系统-Hadoop-Spark-Hive

✨作者主页&#xff1a;IT毕设梦工厂✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Py…

目标检测YOLO实战应用案例100讲-基于多尺度特征融合与自适应网络的小目标检测

目录 前言 研究现状 深度学习研究现状 目标检测研究现状 研究现状存在的问题

NOIP2023模拟9联测30 总结

T1 一眼看去是水题&#xff0c;发现当 μ ( n ) \mu(n) μ(n) 不为零&#xff0c;就是 − 1 -1 −1&#xff0c;于是打了 miller_rabbin&#xff0c;又分解质因数&#xff08;其实可以不用 miller_rabbin&#xff09;。用时 20min。 T2 分析了性质&#xff0c;发现数字 6 6…

leetCode 2915. 和为目标值的最长子序列的长度 + 动态规划 +01背包 + 空间优化 + 记忆化搜索 + 递推

2915. 和为目标值的最长子序列的长度 - 力扣&#xff08;LeetCode&#xff09; 给你一个下标从 0 开始的整数数组 nums 和一个整数 target 。返回和为 target 的 nums 子序列中&#xff0c;子序列 长度的最大值 。如果不存在和为 target 的子序列&#xff0c;返回 -1 。子序列 …

ubuntu下vscode终端输出出现空白的问题

当终端 输出铺满后 再继续回车 会出现局部空白 这是vscode 的bug&#xff1f;有大佬知道解决办法的可以评论区留言。

Flutter 04 按钮Button和事件处理、弹框Dialog、Toast

一、按钮组件 1、按钮类型&#xff1a; 2、按钮实现效果&#xff1a; import package:flutter/material.dart;void main() {runApp(const MyApp()); }class MyApp extends StatelessWidget {const MyApp({Key? key}) : super(key: key);overrideWidget build(BuildContext co…