.net core 的数据库编程
Python基础
Python是一种高级编程语言,由Guido van Rossum于1980年代后期发明,并于1991年首次发布。它以简洁的语法和易于阅读的代码风格著称,因而成为程序员和数据科学家等领域的热门选择。在这篇文章中,我们将深入探讨Python的基础知识,包括数据类型、控制结构、函数、模块、面向对象编程等概念,帮助读者建立扎实的Python编程基础。
一、Python基础语法
1.1 注释
在Python中,注释用来给代码添加说明,增加可读性。注释分为单行注释和多行注释:
```python
这是一个单行注释
''' 这是一个多行注释 可以用于描述多个代码行 ''' ```
1.2 数据类型
Python支持多种数据类型,以下是一些常见的数据类型:
- 整数(int):如
5
、0
、-42
- 浮点数(float):如
3.14
、-0.001
- 字符串(str):如
"Hello, World!"
- 布尔值(bool):
True
或False
- 列表(list):如
[1, 2, 3]
、["apple", "banana", "cherry"]
- 元组(tuple):如
(1, 2, 3)
、("a", "b")
- 字典(dict):如
{"key1": "value1", "key2": "value2"}
1.3 变量
变量是用来存储值的标签。在Python中,定义变量不需要指定数据类型:
python x = 10 # 整数 y = 3.14 # 浮点数 name = "Python" # 字符串
二、控制结构
控制结构用于控制程序的执行流程。Python中常用的控制结构包括条件语句和循环。
2.1 条件语句
条件语句的基本形式是if
语句:
```python age = 18
if age < 18: print("未成年人") elif age == 18: print("刚成年") else: print("成年人") ```
2.2 循环
Python支持for
循环和while
循环。
2.2.1 for循环
for
循环用于遍历一个序列(如列表、元组、字符串等):
```python fruits = ["apple", "banana", "cherry"]
for fruit in fruits: print(fruit) ```
2.2.2 while循环
while
循环在给定条件为True时反复执行:
```python count = 0
while count < 5: print(count) count += 1 ```
2.3 循环控制语句
Python提供了break
和continue
语句来控制循环的执行。
break
:用于终止循环。
python for i in range(10): if i == 5: break print(i) # 输出0到4
continue
:用于跳过当前循环的剩余部分,并继续下一次循环。
python for i in range(5): if i == 2: continue print(i) # 输出0, 1, 3, 4
三、函数
函数是将特定功能的代码封装起来的块,可以通过调用函数来执行它们。Python中定义函数使用def
关键字。
3.1 定义和调用函数
```python def greet(name): return f"Hello, {name}!"
message = greet("Python") print(message) # 输出: Hello, Python! ```
3.2 参数和返回值
函数可以接收位置参数、关键字参数和默认参数。
```python def add(a, b=10): return a + b
print(add(5)) # 输出: 15 print(add(5, 3)) # 输出: 8 ```
3.3 匿名函数
Python支持使用lambda
关键字创建匿名函数:
python square = lambda x: x * x print(square(4)) # 输出: 16
3.4 作用域
Python中有全局作用域和局部作用域。全局变量在整个程序中均可访问,而局部变量只能在其定义的函数内部使用。
```python x = 10 # 全局变量
def func(): y = 5 # 局部变量 print(x + y)
func() # 输出: 15
print(y) # 会抛出错误,因为y是局部变量
```
四、模块与包
模块是Python代码的集合,包是包含多个模块的文件夹。
4.1 导入模块
使用import
语句导入模块:
```python import math
print(math.sqrt(16)) # 输出: 4.0 ```
4.2 自定义模块
你可以创建自己的模块,只需将包含函数和变量的代码保存到一个.py
文件中,然后在需要时导入它。
例如,创建一个名为mymodule.py
的文件,内容如下:
python def my_function(): return "Hello from my module!"
在另一个Python文件中导入并使用它:
```python import mymodule
print(mymodule.my_function()) # 输出: Hello from my module! ```
4.3 包的创建
包是一个包含多个模块的目录。创建包时,在包的目录中添加一个__init__.py
文件。
mypackage/ __init__.py module1.py module2.py
五、面向对象编程
Python是一种支持面向对象编程(OOP)的语言,允许通过定义类和对象来组织代码。
5.1 定义类和创建对象
定义类使用class
关键字,创建对象可以通过类名调用:
```python class Dog: def init(self, name): self.name = name
def bark(self):return f"{self.name} says woof!"
my_dog = Dog("Buddy") print(my_dog.bark()) # 输出: Buddy says woof! ```
5.2 方法和属性
类中的函数称为方法,类中的变量称为属性。使用self
关键字引用实例的属性和方法。
5.3 继承
Python支持类的继承,可以基于已有类派生新类:
```python class Animal: def speak(self): return "I am an animal."
class Cat(Animal): def speak(self): return "Meow!"
my_cat = Cat() print(my_cat.speak()) # 输出: Meow! ```
5.4 多态
多态是指不同类的对象可以通过相同的接口调用各自的方法。
```python def make_animal_speak(animal): print(animal.speak())
make_animal_speak(my_dog) # 输出: Buddy says woof! make_animal_speak(my_cat) # 输出: Meow! ```
六、异常处理
异常处理用于处理程序运行过程中可能发生的错误,确保程序的稳定性。
6.1 try-except 语句
使用try
和except
来捕获和处理异常:
python try: value = int(input("请输入一个数字: ")) print(f"你输入的数字是: {value}") except ValueError: print("输入无效,请输入一个数字。")
6.2 finally 语句
finally
块用于在异常处理后执行清理代码,无论是否发生异常:
python try: file = open("file.txt", "r") # 执行文件读取操作 except FileNotFoundError: print("文件未找到。") finally: file.close() # 确保文件被正常关闭
七、Python标准库
Python提供了丰富的标准库,可以实现多种功能。在日常开发中,常用的模块包括:
- os:与操作系统交互。
- sys:与Python解释器交互。
- math:提供数学函数和常量。
- datetime:处理日期和时间。
- random:生成随机数。
7.1 使用标准库
导入标准库时,直接使用import
语句:
```python import math
print(math.pi) # 输出: 3.141592653589793 print(math.factorial(5)) # 输出: 120 ```
结语
通过上述基础知识的学习,读者应该对Python有了一个总体的了解。Python语言以其简洁优雅的语法和强大的标准库,成为了数据科学、人工智能、网络开发等多个领域的主流语言。掌握Python的基础知识后,可以深入学习更多关于Python的高级特性和应用,如数据处理、网络编程和机器学习等。
继续学习和实践是掌握Python的关键,建议读者通过实际项目和练习来巩固所学知识,并探索Python的更多功能和应用领域。Python的社区非常活跃,许多开源项目、框架和工具可以帮助你在实际开发中提高效率。无论你是编程新手还是有经验的程序员,Python都是一个值得深入学习和应用的编程语言。
相关文章:
.net core 的数据库编程
Python基础 Python是一种高级编程语言,由Guido van Rossum于1980年代后期发明,并于1991年首次发布。它以简洁的语法和易于阅读的代码风格著称,因而成为程序员和数据科学家等领域的热门选择。在这篇文章中,我们将深入探讨Python的…...
再生核希尔伯特空间(RKHS)上的分位回归
1. 基本定义和理论基础 1.1 再生核希尔伯特空间(RKHS) 给定一个非空集合 X \mathcal{X} X,一个希尔伯特空间 H \mathcal{H} H 称为再生核希尔伯特空间,如果存在一个函数 K : X X → R K: \mathcal{X} \times \mathcal{X} \rightarrow \mathbb{R} K…...
结构方程模型【SEM】:非线性、非正态、交互作用及分类变量分析
利用结构方程模型建模往往遇到很多‘特殊’情况:1)变量间为非直线关系;2)变量间存在交互作用;3)数据不满足正态分布;4)变量为非正态类型的数值变量,如0,1数据…...
不安全物联网的轻量级加密:综述
Abstract 本文综述了针对物联网(IoT)的轻量级加密解决方案。这项综述全面覆盖了从轻量级加密方案到不同类型分组密码的比较等多个方面。同时,还对硬件与软件解决方案之间的比较进行了讨论,并分析了当前最受信赖且研究最深入的分组…...
DeepSpeed 使用 LoRA 训练后文件结构详解
DeepSpeed 使用 LoRA 训练后文件结构详解 在大语言模型(LLM)的训练过程中,DeepSpeed 提供了强大的分布式训练能力,而 LoRA(Low-Rank Adaptation)通过参数高效微调技术显著减少了资源占用。完成训练后&…...
Mysql数据 新增、修改和删除操作时,这些变化如何被转换为Kafka消息?
Mysql数据 新增、修改和删除操作时,这些变化如何被转换为Kafka消息? 为了在FlinkCDC中配置MySQL同步到Kafka,并采用debezium-json数据格式,我们需要了解当执行新增、修改和删除操作时,这些变化如何被转换为Kafka消息。下面我们将详细介绍这些变化情况,并提供具体的数据样…...
高等数学 8.1向量及其线性运算
8.1 向量及其线性运算 文章目录 8.1 向量及其线性运算一、向量的概念向量的线性运算1.向量的加减法2.向量与数的乘法 三、空间直角坐标系四、利用坐标作向量的线性运算五、向量的模、方向角、投影1.向量的模与两点间的距离公式2.方向角与方向余弦3.向量在轴上的投影 一、向量的…...
向bash shell脚本传参
例子: ~ script % touch parameter.sh ~ script % chmod 755 parameter.sh ~ % vim parameter.shparameter.sh: #!/usr/bin/env bashecho the name of current script is $0echo the first parameter is $1echo the second parameter is $2echo all parameters: $…...
高精度算法:加减乘除 (学习笔记)
加法: 现有vector<int>a,b;并且已经输入了内容且倒置 vector<int> plus(vector<int>a,vector<int> b){ int as a.size(); int bs b.size(); vector<int>total; int carry 0; int ar 0, br 0; //读取位数 while (ar < as &am…...
JVM 主要组成部分与内存区域
一、JVM 主要组成部分: JVM的主要包含两个组件和两个子系统,分别为: (1)本地库接口(Native Interface):与native lib(本地方法库)交互,融合其他编程语言为Java所用,是与其它编程语言…...
10分钟掌握项目管理核心工具:WBS、甘特图、关键路径法全解析
一、引言 在项目管理的广阔天地里,犹如一场精心编排的交响乐演奏,每个乐器、每个音符都需精准配合才能奏响美妙乐章。而 WBS(工作分解结构)、甘特图、关键路径法无疑是这场交响乐中的关键乐章,它们从不同维度为项目管…...
python语音机器人(青云客免费api)
强调:不用登录注册,直接使用就好 青云客智能聊天机器人API python代码,直接可以运行: 1、安装库: pip install requests pyttsx3 SpeechRecognition sounddevice numpy scipy2、完整代码: import request…...
策略模式以及优化
使用场景 在一个条件语句中又包含了多个条件语句 具体策略类会过多 把抽象策略和具体策略放在一个枚举类里。 方法 exe() 相当于抽象策略,而A和B就相当于实现了抽象策略的具体策略 这样就只需要一个枚举类就可以解决具体策略类过多的问题 public enum Strategy {A{O…...
解决tomcat双击startup.bat乱码的几种方法
新环境,win10,今天下载了tomcat9.0.98,是压缩绿色版的,解压缩安装到了: D:\java\apache-tomcat-9.0.98 可以通过D:\java\apache-tomcat-9.0.98\bin\startup.bat双击来启动tomcat。 但是日志显示乱码。 后来找到了几种…...
计算机网络 (12)物理层下面的传输媒体
前言 计算机网络物理层下面的传输媒体是计算机网络设备之间的物理通路,也称为传输介质或传输媒介,并不包含在计算机网络体系结构中,而是处于物理层之下。 一、传输媒体的分类 导向型媒体:电磁波被导引沿着固体媒体传播。常见的导向…...
Spark生态圈
Spark 主要用于替代Hadoop中的 MapReduce 计算模型。存储依然可以使用 HDFS,但是中间结果可以存放在内存中;调度可以使用 Spark 内置的,也可以使用更成熟的调度系统 YARN 等。 Spark有完善的生态圈: Spark Core:实现了…...
如何计算相位差
如何计算相位差 假设我们有两个同频率的正弦信号: 这里两个信号的角频率w2πf是相同的,根据同频正弦信号相位差的计算方法,直接用两个信号的相位相减。 再来看利用波形图计算相位差的例子: 另一种计算方式:...
Bash Shell知识合集
1. chmod命令 创建一个bash shell脚本 hello.sh ~script $ touch hello.sh脚本创建完成后并不能直接执行,我们要用chmod命令授予它可执行的权限: ~script $ chmod 755 hello.sh授权后的脚本可以直接执行: ~script $ ./hello.sh2.指定运行…...
《信管通低代码信息管理系统开发平台》Windows环境安装说明
1 简介 《信管通低代码信息管理系统应用平台》提供多环境软件产品开发服务,包括单机、局域网和互联网。我们专注于适用国产硬件和操作系统应用软件开发应用。为事业单位和企业提供行业软件定制开发,满足其独特需求。无论是简单的应用还是复杂的系统&…...
如何查看服务器内存占用情况?
如何查看服务器的内存占用情况?你知道内存使用情况对服务器性能的重要性吗?内存是服务器运行的核心资源之一,了解内存的占用情况可以帮助你优化系统性能。 要查看服务器的内存占用情况,首先需要确定你使用的是哪种操作系统。不同…...
【源码】Sharding-JDBC源码分析之SQL中影子库ShadowSQLRouter路由的原理
Sharding-JDBC系列 1、Sharding-JDBC分库分表的基本使用 2、Sharding-JDBC分库分表之SpringBoot分片策略 3、Sharding-JDBC分库分表之SpringBoot主从配置 4、SpringBoot集成Sharding-JDBC-5.3.0分库分表 5、SpringBoot集成Sharding-JDBC-5.3.0实现按月动态建表分表 6、【…...
OCR实践-Table-Transformer
前言 书接上文 OCR实践—PaddleOCR Table-Transformer 与 PubTables-1M table-transformer,来自微软,基于Detr,在PubTables1M 数据集上进行训练,模型是在提出数据集同时的工作, paper PubTables-1M: Towards comp…...
代码随想录五刷day6
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、力扣144. 二叉树的前序遍历(递归)二、力扣144. 二叉树的前序遍历(迭代)三、力扣145. 二叉树的后序遍历(递归)四、力扣145. 二叉树的后序遍历(迭代)五、力扣…...
【自信息、信息熵、联合熵、条件熵、互信息】
文章目录 一、自信息 I(X)二、信息熵:衡量系统的混乱程度信息熵 H(X)联合熵 H(X,Y) 三、条件熵H(Y|X) 联合熵H(X,Y) - 信息熵H(X)四、互信息 I(X,Y)五、总结References 一、自信息 I(X) 自信息(Self-information) 是由香农提出的,用来衡量单一事件发生…...
我的秋招总结
我的秋招总结 个人背景 双非本,985硕,科班 准备情况 以求职为目的学习Java的时间大概一年。 八股,一开始主要是看B站黑马的八股文课程,背JavaGuide和小林coding还有面试鸭。 算法,250,刷了3遍左右 项目&…...
page_ref_freeze浅析
最近在研究struct page的引用计数refcount,看到有个page_ref_freeze()特性很有意思。用这篇博客记录一下。 本文分析基于linux4.19.195 static inline int page_ref_freeze(struct page *page, int count) {int ret likely(atomic_cmpxchg(&page->_refcoun…...
Python毕业设计选题:基于python的酒店推荐系统_django+hadoop
开发语言:Python框架:djangoPython版本:python3.7.7数据库:mysql 5.7数据库工具:Navicat11开发软件:PyCharm 系统展示 管理员登录 管理员功能界面 用户管理 酒店客房管理 客房类型管理 客房预定管理 用户…...
选择 SquashFS 作为启动分区的文件系统格式:详细教程
SquashFS 是一种高压缩率的只读文件系统,广泛用于嵌入式系统、Linux 发行版以及其他需要节省存储空间的场景。它特别适合用于启动分区、只读根文件系统(rootfs)等应用,因为它通过压缩技术极大地节省了存储空间。在本博客中,我们将详细介绍如何在 RK3568 等嵌入式设备上使用…...
Unity 读Excel,读取xlsx文件解决方案
Unity读取表格数据 效果: 思路: Unity可以解析Json,但是读取Excel需要插件的帮助,那就把这个功能分离开,读表插件就只管读表转Json,Unity就只管Json解析,中间需要一个存储空间,使用…...
【C语言】指针数组、数组指针、函数指针、指针函数、函数指针数组、回调函数
【C语言】函数指针与指针函数 文章目录 [TOC](文章目录) 前言一、指针数组二、数组指针三、函数指针四、指针函数五、函数指针数组六、回调函数七、参考资料总结 前言 使用工具: 1.DEVC 提示:以下是本篇文章正文内容,下面案例可供参考 一、…...
EasyExcel 模板+公式填充
使用 CellWriteHandler 的实现类来实现公式写入 Data NoArgsConstructor public class CustomCellWriteHandler implements CellWriteHandler {private int maxRowNum 2000;// 动态传入列表数量public CustomCellWriteHandler(int maxRowNum) {this.maxRowNum maxRowNum;}Ov…...
vue最新源码探索分析
我在github上fork了最新版本vue3.5版本的源码并做了大幅删除,保留最核心的代码,有兴趣的可以看看,欢迎大家提出PR 仓库地址 https://github.com/greatanimalion/core 本项目vue版本3.5.13 为了方便查看与分析,减少心智负担 已…...
产品初探Devops!以及AI如何赋能Devops?
DevOps源自Development(开发)和Operations(运维)的组合,是一种新的软件工程理念,旨在打破传统软件工程方法中“开发->测试->运维”的割裂模式,强调端到端高效一致的交付流程,实…...
深入解析MVCC中Undo Log版本底层存储读取逻辑
一、引言 多版本并发控制(MVCC,Multi-Version Concurrency Control)是一种广泛应用于关系数据库管理系统中的并发控制技术。它通过保存数据的历史版本,使得在事务并发执行时,每个事务都能看到数据的一致性视图。在MVC…...
【生产问题记录-Mysql分区】
描述 月报是根据日报的数据统计出来的,但是今天早上发现月报没有数据,日报是有数据的,那么为什么会导致这个结果呢? 问题解决 设计 因为日报table_day每天的数据量都在60w,所以我们采用了分区的形式,进…...
大型语言模型(LLMs)演化树 Large Language Models
大型语言模型(LLMs)演化树 Large Language Models flyfish 下面的图来自论文地址 Transformer 模型(如 BERT 和 GPT-3)已经给自然语言处理(NLP)领域带来了革命性的变化。这得益于它们具备并行化能力&…...
【LeetCode: 3159. 查询数组中元素的出现位置 + 统计下标】
🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…...
git自动压缩提交的脚本
可以将当前未提交的代码自动执行 git addgit commitgit squash Git 命令安装指南 1. 创建脚本目录 如果目录不存在,创建它: mkdir -p ~/.local/bin2. 创建脚本文件 vim ~/.local/bin/git-squash将完整的脚本代码复制到此文件中。 3. 设置脚本权限…...
uniapp中Nvue白屏问题 ReferenceError: require is not defined
uniapp控制台输出如下 exception function:createInstanceContext, exception:white screen cause create instanceContext failed,check js stack ->Uncaught ReferenceError: require is not defined 或者 exception function:createInstanceContext, exception:white s…...
Centos8安装图形化界面
由于Centos8已经停止维护,所以在使用的时候会遇到yum元数据找不到的情况 1、更新yum数据源 进入目录: cd /etc/yum.repos.d/ 修改文件: sed -i s/mirrorlist/#mirrorlist/g /etc/yum.repos.d/CentOS-* sed -i s|#baseurlhttp://mirror.cent…...
2023年厦门市第30届小学生C++信息学竞赛复赛上机操作题(三、2023C. 太空旅行(travel))
#include <bits/stdc.h>using namespace std;struct Ship {int u; // 从地球到火星的时间int v; // 从火星到天王星的时间 };// 自定义比较函数 bool cmp(const Ship &a, const Ship &b) {return a.u max(a.v, b.u) b.v < b.u max(b.v, a.u) a.v; }int ma…...
Doris的SQL原理解析
今天来介绍下Doris的SQL原理解析,主要从语法、解析、分析、执行等几个方面来介绍,可以帮助大家对Doris底层有个清晰的理解~ 一、Doris简介 Apache Doris是一个基于MPP架构的高性能、实时的分析型数据库,能够较好的满足报表分析、即席查询、…...
【RAG实战】语言模型基础
语言模型赋予了计算机理解和生成人类语言的能力。它结合了统计学原理和深度神经网络技术,通过对大量的样本数据进行复杂的概率分布分析来学习语言结构的内在模式和相关性。具体地,语言模型可根据上下文中已出现的词序列,使用概率推断来预测接…...
探索 .idea 文件夹:Java Maven 工程的隐形守护者
一、.idea文件夹深度解析:IntelliJ IDEA项目配置的核心 在Java Maven工程的开发环境中,.idea文件夹扮演着举足轻重的角色。这是IntelliJ IDEA项目特有的一个配置文件夹,它包含了项目所需的各种配置信息,以确保项目能够在不同的开…...
JAVA代理模式和适配器模式
文章目录 Java 代理模式和适配器模式代理模式(Proxy Pattern)适配器模式(Adapter Pattern)代理模式和适配器模式的区别 代理模式的使用举例静态代理实现:用代理模式记录方法调用日志动态代理实现:使用 Java 动态代理记录方法调用日…...
Python大数据可视化:基于python大数据的电脑硬件推荐系统_flask+Hadoop+spider
开发语言:Python框架:flaskPython版本:python3.7.7数据库:mysql 5.7数据库工具:Navicat11开发软件:PyCharm 系统展示 管理员登录 管理员功能界面 价格区间界面 用户信息界面 品牌管理 笔记本管理 电脑主机…...
【YOLOv3】源码(train.py)
概述 主要模块分析 参数解析与初始化 功能:解析命令行参数,设置训练配置项目经理制定详细的施工计划和资源分配日志记录与监控 功能:初始化日志记录器,配置监控系统项目经理使用监控和记录工具,实时跟踪施工进度和质量…...
一维、线性卡尔曼滤波的例程(MATLAB)
这段 MATLAB 代码实现了一维线性卡尔曼滤波器的基本功能,用于估计在存在噪声的情况下目标状态的真实值 文章目录 一维线性卡尔曼滤波代码运行代码介绍1. **初始化部分**2. **数据生成**3. **卡尔曼滤波器实现**4. **结果可视化**5. **统计输出** 源代码 总结 一维线…...
【Rust自学】6.2. Option枚举
喜欢的话别忘了点赞、收藏加关注哦,对接下来的教程有兴趣的可以关注专栏。谢谢喵!(・ω・) 6.2.1. 什么是Option枚举 它定义于标准库中,在Prelude(预导入模块)中,负责描述这样的场景…...
unity学习1:第1个template的项目platformer 学习
目录 0 教训,不要学生思路:路径依赖 1 从unity的编辑器里直接下载一个template 2 第一个下马威:下载到本地的这个模板项目第一次运行就报错, 其次关了重进就好了 2.1 报错 2.2 解决 2.3 解决 3 第2个拦路虎: 项目的声音大小…...