python入门
Python是一种高级编程语言,由荷兰计算机科学家Guido van Rossum于1991年发明。Python语言具有简洁、清晰和易于阅读的语法,同时也拥有广泛的应用领域,包括Web开发、数据分析、人工智能、科学计算等。Python的特点是能够快速开发原型和简单易读的代码,同时还拥有丰富的第三方库和框架来支持开发工作。Python还拥有一个强大的社区,社区成员不断推出新的库和工具来提高开发效率,使Python成为开发者最受欢迎的编程语言之一。如果你是一个Python新手,下面我将为你介绍一些基本知识。
- 数据类型
Python中常见的数据类型包括:
- 整数(int):表示整数,例如:1、2、3、-4等。
- 浮点数(float):表示带小数的数值,例如:3.14、-2.0、0.1等。
- 布尔值(bool):表示真(True)或假(False)。
- 字符串(str):表示文本,例如:“Hello, World!”。
- 列表(list):表示一组有序的元素,可以包含不同的数据类型,例如:[1, 2, 3, ‘a’, ‘b’]。
- 元组(tuple):与列表类似,但是不可变,即元素不能被修改,例如:(1, 2, 3, ‘a’, ‘b’)。
- 集合(set):表示一组不重复的元素,可以进行集合运算,例如:{1, 2, 3}。
- 字典(dict):表示键值对的集合,其中每个键都对应一个值,例如:{‘name’: ‘Alice’, ‘age’: 20}。
- 可以使用type()函数来查看变量的数据类型,例如:
x = 3
print(type(x)) # <class 'int'>y = 3.14
print(type(y)) # <class 'float'>z = True
print(type(z)) # <class 'bool'>name = 'Python'
print(type(name)) # <class 'str'>lst = [1, 2, 3]
print(type(lst)) # <class 'list'>tpl = (1, 2, 3)
print(type(tpl)) # <class 'tuple'>st = {1, 2, 3}
print(type(st)) # <class 'set'>dic = {'name': 'Python', 'age': 30}
print(type(dic)) # <class 'dict'>
- 变量
在Python中,变量可以直接进行赋值,不需要预先声明变量类型。变量名必须遵循一定的规则:
变量名必须以字母或下划线开头,不能以数字开头。
变量名可以包含字母、数字和下划线。
变量名是区分大小写的,例如x和X是不同的变量名。
变量名不能是Python关键字,例如if、for等。
例如,以下代码展示了Python中如何创建变量:
x = 3
y = 4.5
name = "John"
is_student = True
在上面的代码中,变量x被赋值为整数3,变量y被赋值为浮点数4.5,变量name被赋值为字符串"John",变量is_student被赋值为布尔值True。我们可以使用print()函数来输出变量的值:
print(x) # 输出 3
print(y) # 输出 4.5
print(name) # 输出 "John"
print(is_student) # 输出 True
需要注意的是,变量名在使用前必须先被赋值,否则会报错。例如,下面的代码会报错:
print(z) # 报错:NameError: name 'z' is not defined
- 运算符
在Python中,运算符用于执行各种操作,如算术运算、比较、逻辑运算等。下面介绍一些常用的运算符:
- 算术运算符
Python支持常见的算术运算符,如加减乘除和求余等,它们的含义与数学中的相同。下表列出了Python中的算术运算符:
| 运算符 | 描述 |
|---|---|
| + | 加 |
| - | 减 |
| * | 乘 |
| / | 除 |
| % | 取余数 |
| ** | 幂运算 |
| // | 取整除数 |
示例:
x = 7
y = 3print(x + y) # 10
print(x - y) # 4
print(x * y) # 21
print(x / y) # 2.3333333333333335
print(x % y) # 1
print(x ** y) # 343
print(x // y) # 2
- 比较运算符
比较运算符用于比较两个值之间的关系,并返回True或False。下表列出了Python中的比较运算符:
| 运算符 | 描述 |
|---|---|
| == | 相等 |
| != | 不等于 |
| > | 大于 |
| < | 小于 |
| >= | 大于等于 |
| <= | 小于等于 |
示例:
x = 7
y = 3print(x == y) # False
print(x != y) # True
print(x > y) # True
print(x < y) # False
print(x >= y) # True
print(x <= y) # False
- 逻辑运算符
逻辑运算符用于将多个条件连接起来,从而形成更复杂的逻辑表达式。下表列出了Python中的逻辑运算符:
| 运算符 | 描述 |
|---|---|
| and | 与运算,返回True或False |
| or | 或运算,返回True或False |
| not | 非运算,返回True或False |
示例:
x = 7
y = 3print(x > 5 and y < 5) # True
print(x > 5 or y > 5) # True
print(not x > y) # False
- 条件语句
条件语句是Python中一种重要的控制结构,它用于根据不同的条件执行不同的代码块。Python中的条件语句主要包括if语句、if-else语句和if-elif-else语句等。
if语句是最基本的条件语句,它用于根据指定的条件执行相应的代码块。其语法结构如下
if condition:# code block to be executed when condition is True
其中,condition为一个表达式,如果其值为True,则执行代码块中的语句;否则,跳过代码块中的语句,继续执行下面的代码。
if-else语句则在if语句的基础上增加了一个else语句,用于在条件不成立时执行备选代码块。其语法结构如下:
if condition:# code block to be executed when condition is True
else:# code block to be executed when condition is False
其中,condition为一个表达式,如果其值为True,则执行第一个代码块中的语句;否则,执行第二个代码块中的语句。
if-elif-else语句则在if-else语句的基础上增加了多个elif语句,用于在满足不同的条件时执行不同的代码块。其语法结构如下:
if condition1:# code block to be executed when condition1 is True
elif condition2:# code block to be executed when condition2 is True
elif condition3:# code block to be executed when condition3 is True
...
else:# code block to be executed when all conditions are False
其中,condition1、condition2、condition3等均为表达式,程序会依次检查每个条件的值,如果某个条件为True,则执行对应的代码块,并跳过其他条件;如果所有条件都为False,则执行最后一个else语句中的代码块。
- 循环语句
循环语句用于重复执行一段代码,直到满足某个条件为止。Python中的循环语句主要有for循环和while循环两种。下面分别介绍这两种循环语句:
- for循环
for循环用于遍历序列或者集合中的元素,循环次数由序列或集合中元素的个数决定。for循环的语法格式如下:
for 变量 in 序列或集合:# 执行语句
其中,变量是依次取出的序列或集合中的元素,序列或集合可以是列表、元组、字符串、字典等。
下面是一个使用for循环遍历列表的例子:
fruits = ["apple", "banana", "orange"]
for fruit in fruits:print(fruit)
运算结果为:
apple
banana
orange
- while循环
while循环用于在满足某个条件时重复执行一段代码。while循环的语法格式如下:
while 条件:# 执行语句
其中,条件是一个布尔表达式,只要满足条件,就会一直执行循环体中的语句。
下面是一个使用while循环计算1到10的和的例子:
i = 1
sum = 0
while i <= 10:sum += ii += 1
print("1到10的和为:", sum)
运行结果为:
1到10的和为: 55
以上是for循环和while循环的基本语法和用法,可以根据需要结合条件语句等控制语句进行更复杂的控制流程设计。
- 函数
函数是一个可重复使用的代码块,可以将一些代码放在函数中,在需要的时候通过调用函数来执行这些代码。Python中,函数使用def关键字来定义,语法如下:
def function_name(parameters):"""docstring - 函数的文档字符串"""# 函数体return [expression]
其中,function_name是函数名,parameters是函数的参数,可以是多个,用逗号分隔。函数体包含了函数要执行的语句,可以包含任何语句和控制结构。return语句用于返回函数的值,可以省略,如果省略则函数不会返回值。
下面是一个简单的函数例子:
def say_hello(name):"""这是一个打招呼的函数"""print("Hello, " + name + "!")
在这个函数中,say_hello是函数名,name是参数,函数的作用是打印一条打招呼的信息。我们可以通过调用函数来执行这个代码块,如下所示:
say_hello("Alice")
say_hello("Bob")
执行上述代码会输出以下结果:
Hello, Alice!
Hello, Bob!
在调用函数时,我们将参数"Alice"和"Bob"传递给了函数,函数执行后会输出对应的结果。
- 模块
Python中的标准库提供了许多有用的模块,可以方便地导入并使用其中的函数和变量。下面介绍一些常用的模块:
- math模块:提供了常用的数学函数,例如sin、cos、sqrt等。
- random模块:提供了生成随机数的函数。
- datetime模块:提供了处理日期和时间的函数和类。
- os模块:提供了访问操作系统功能的函数,例如文件和目录操作等。
- sys模块:提供了访问Python解释器相关信息的函数,例如命令行参数、Python版本等。
- re模块:提供了正则表达式匹配功能的函数。
- json模块:提供了处理JSON格式数据的函数和类。
- requests模块:提供了HTTP请求相关的函数和类,可以用于访问Web API等。
- pandas模块:提供了处理数据的函数和类,可以用于数据分析和处理。
- numpy模块:提供了数值计算相关的函数和类,可以用于科学计算和数据分析。
- matplotlib模块:提供了可视化函数和类,用于绘制各种类型的图表。
- matplotlib模块:提供了可视化函数和类,用于绘制各种类型的图表。
- TensorFlow和PyTorch:提供了深度学习框架,用于神经网络的构建和训练。
以上是Python的一些基本知识,如果你想深入学习Python,建议学习更多的语法和应用,例如面向对象编程、数据处理、Web开发等。
相关文章:
python入门
Python是一种高级编程语言,由荷兰计算机科学家Guido van Rossum于1991年发明。Python语言具有简洁、清晰和易于阅读的语法,同时也拥有广泛的应用领域,包括Web开发、数据分析、人工智能、科学计算等。Python的特点是能够快速开发原型和简单易读…...
Linux部署java项目
Linux部署java项目启动虚拟机这部分的操作之前学习虚拟机时已经做过,可以参照之前的笔记即可推荐大家重新解压纯净版的RockyLinux来实现启动后登录rockylinuxsudo su -修改root用户密码passwd下面就切换到客户端软件连接虚拟机ifconfigifconfig | more查看ip地址使用Bvssh软件连…...
elisp 从简单实例开始.
elisp 从简单实例开始. 我们怎样用elisp 与电脑交互,先从简单实例开始, 逐渐掌握它的几个对象. 与电脑交互,总要有输入,输出,先看两个简单例子. 输入从minibuffer,输出可以是minibuffer 或者缓冲区. 一: 从minibuffer 中输入, 在指定缓冲中插入文字(insert)x ;;;;;;;;;;;;;;;;…...
ThreeJS加载geojson数据实现3D地图
ThreeJS加载geojson数据实现3D地图,主要通过借助geojson地理信息数据转摩托尔坐标实现,中间借助了d3.js的地图处理方法,最后通过threejs渲染到页面上: 通过平台获取GeoJson格式的行政区域借助d3的方法,将坐标系转摩托尔坐标利用ThreeJS中的自定义Shape,绘制地图利用Three…...
深度学习无监督磁共振重建方法调研(二)
深度学习无监督磁共振重建方法调研(二)Self-supervised learning of physics-guided reconstruction neural networks without fully sampled reference data(Magnetic Resonance in Medicine 2020)模型设计实验结果PARCEL: Physi…...
蓝桥杯入门即劝退(十九)两两交换链表
-----持续更新蓝桥杯入门系列算法实例-------- 如果你也喜欢Java和算法,欢迎订阅专栏共同学习交流! 你的点赞、关注、评论、是我创作的动力! -------希望我的文章对你有所帮助-------- 一、题目描述 给你一个链表,两两交换其中…...
【Java 面试合集】接口以及抽象类
接口以及抽象类 1. 概述 嗨,【Java 面试合集】又来了,今天给大家分享的内容是接口以及抽象类。一看这个概念很多人都知道,但是方方面面的细节不一定知道哦,今天我们就从方方面面的细节来讲讲 2. 相同点: 都是上层的抽…...
LeetCode 2391. 收集垃圾的最少总时间
给你一个下标从 0 开始的字符串数组 garbage ,其中 garbage[i] 表示第 i 个房子的垃圾集合。garbage[i] 只包含字符 ‘M’ ,‘P’ 和 ‘G’ ,但可能包含多个相同字符,每个字符分别表示一单位的金属、纸和玻璃。垃圾车收拾 一 单位…...
【PMP考试最新解读】第七版《PMBOK》应该如何备考?(含最新资料)
PMP新版大纲加入了ACP敏捷管理的内容,而且还不少,敏捷混合题型占到了 50%,前不久官方也发了通知8月启用第七版《PMBOK》,大家都觉得考试难度提升了,我从新考纲考完下来,最开始也被折磨过一段时间࿰…...
金三银四软件测试面试如何拿捏面试官?【接口测试篇】
九、接口测试 9.1 接口测试怎么测 (jmeter版本) 首先开发会给我们一个接口文档,我们根据开发给的接口文档,进行测试点的分析,主要是考虑正常场景与异常场景,正常场景,条件的组合,…...
Hive基操
数据交换 //hive导出到hdfs /outstudentpt 目录 0: jdbc:hive2://guo146:10000> export table student_pt to /outstudentpt; //从hdfs导入到hive 0: jdbc:hive2://guo146:10000> import table studentpt from /outstudentpt; 数据排序 Order by会对所给的全部数据进行…...
CSS(配合html的网页编程)
续上一篇博客,CSS是前端三大将中其中的一位,主要负责前端的皮,也就是负责html的装饰.一、基本语法规则也就是:选择器若干属性声明(选中一个元素然然后进行属性声明)CSS代码是放在style标签中,它可以放在head中也可以放在body中 ,可以放到代码的任意位置.color也就是设置想要输入…...
MATLAB/Simulink 通信原理及仿真学习(三)
文章目录MATLAB/Simulink 通信原理及仿真学习(三)3. 通信信号与系统分析3.1 离散信号和系统3.1.1 离散信号3.1.2 离散时间信号3.1.3 信号的能量和功率3.2 傅里叶(Fourier)分析3.2.1 连续时间信号的Fourier变换3.2.2 离散时间信号的…...
如何解决过拟合与欠拟合,及理解k折交叉验证
模型欠拟合:在训练集以及测试集上同时具有较⾼的误差,此时模型的偏差较⼤; 模型过拟合:在训练集上具有较低的误差,在测试集上具有较⾼的误差,此时模型的⽅差较⼤。 如何解决⽋拟合: 添加其他特…...
Kotlin 34. recyclerView 案例:显示列表
Kotlin 案例1. recyclerView:显示列表 这里,我们将通过几个案例来介绍如何使用recyclerView。RecyclerView 是 ListView 的高级版本。 当我们有很长的项目列表需要显示的时候,我们就可以使用 RecyclerView。 它具有重用其视图的能力。 在 Re…...
JAVA练习58-汉明距离、颠倒二进制位
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 一、题目1-汉明距离 1.题目描述 2.思路与代码 2.1 思路 2.2 代码 二、题目2-颠倒二进制位 1.题目描述 2.思路与代码 2.1 思路 2.2 代码 总结 前言 提示…...
优炫数据库百城巡展,成都首站圆满举行
2月17日,由四川省大数据发展研究会、北京优炫软件股份有限公司联合举办的“首届四川省推进信息技术应用创新产业服务研讨会暨优炫数据库百城巡展成都首站隆重举行。此次活动是优炫数据库百城巡展的起点站,更是国产数据库市场美好乐章的一次强力鸣奏。 来…...
【20230210】二叉树小结
二叉树的种类二叉树的主要形式:满二叉树和完全二叉树。满二叉树深度为k,有2^k-1个节点的二叉树完全二叉树除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。二叉搜索树…...
openCV—图像入门(python)
目录 目标 使用OpenCV 显示图像 写入图像 总结使用 使用Matplotlib 注:图片后续补充 目标 在这里,你将了解如何使用Python编程语言中的OpenCV库,实现读取、显示和保存图像的功能。具体来说,你将学习以下函数的用法…...
关于一个Java程序员马上要笔试了,临时抱佛脚,一晚上恶补45道简单SQL题,希望笔试能通过
MySQL随手练 / DQL篇 MySQL随手练——DQL篇 题目网盘下载:https://pan.baidu.com/s/1Ky-RJRNyfvlEJldNL_yQEQ?pwdlana 初始数据 表 course 表 student 表 teacher 表 sc 答案 :) —> :( —> :) 1. 查询 "01"课程比"02"课程成绩高的学生…...
OpenLayers 可视化之热力图
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 热力图(Heatmap)又叫热点图,是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...
golang循环变量捕获问题
在 Go 语言中,当在循环中启动协程(goroutine)时,如果在协程闭包中直接引用循环变量,可能会遇到一个常见的陷阱 - 循环变量捕获问题。让我详细解释一下: 问题背景 看这个代码片段: fo…...
LeetCode - 394. 字符串解码
题目 394. 字符串解码 - 力扣(LeetCode) 思路 使用两个栈:一个存储重复次数,一个存储字符串 遍历输入字符串: 数字处理:遇到数字时,累积计算重复次数左括号处理:保存当前状态&a…...
【快手拥抱开源】通过快手团队开源的 KwaiCoder-AutoThink-preview 解锁大语言模型的潜力
引言: 在人工智能快速发展的浪潮中,快手Kwaipilot团队推出的 KwaiCoder-AutoThink-preview 具有里程碑意义——这是首个公开的AutoThink大语言模型(LLM)。该模型代表着该领域的重大突破,通过独特方式融合思考与非思考…...
均衡后的SNRSINR
本文主要摘自参考文献中的前两篇,相关文献中经常会出现MIMO检测后的SINR不过一直没有找到相关数学推到过程,其中文献[1]中给出了相关原理在此仅做记录。 1. 系统模型 复信道模型 n t n_t nt 根发送天线, n r n_r nr 根接收天线的 MIMO 系…...
处理vxe-table 表尾数据是单独一个接口,表格tableData数据更新后,需要点击两下,表尾才是正确的
修改bug思路: 分别把 tabledata 和 表尾相关数据 console.log() 发现 更新数据先后顺序不对 settimeout延迟查询表格接口 ——测试可行 升级↑:async await 等接口返回后再开始下一个接口查询 ________________________________________________________…...
根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的----NTFS源代码分析--重要
根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的 第一部分: 0: kd> g Breakpoint 9 hit Ntfs!ReadIndexBuffer: f7173886 55 push ebp 0: kd> kc # 00 Ntfs!ReadIndexBuffer 01 Ntfs!FindFirstIndexEntry 02 Ntfs!NtfsUpda…...
DiscuzX3.5发帖json api
参考文章:PHP实现独立Discuz站外发帖(直连操作数据库)_discuz 发帖api-CSDN博客 简单改造了一下,适配我自己的需求 有一个站点存在多个采集站,我想通过主站拿标题,采集站拿内容 使用到的sql如下 CREATE TABLE pre_forum_post_…...
海云安高敏捷信创白盒SCAP入选《中国网络安全细分领域产品名录》
近日,嘶吼安全产业研究院发布《中国网络安全细分领域产品名录》,海云安高敏捷信创白盒(SCAP)成功入选软件供应链安全领域产品名录。 在数字化转型加速的今天,网络安全已成为企业生存与发展的核心基石,为了解…...
高效的后台管理系统——可进行二次开发
随着互联网技术的迅猛发展,企业的数字化管理变得愈加重要。后台管理系统作为数据存储与业务管理的核心,成为了现代企业不可或缺的一部分。今天我们要介绍的是一款名为 若依后台管理框架 的系统,它不仅支持跨平台应用,还能提供丰富…...
