[Python入门学习记录(小甲鱼)]第3章 Python基础知识
第3章 基础知识
前面三章都没啥用,这一章开始进入主题。
3.1 变量
变量顾名思义就是一个可变的量,但Python的变量更像是一个名字,通过这个名字可以找到我们想要的值。注意点如下:
- Python不需要显式声明,但使用之前必须赋值
- 变量名不能以数字开头,与多数编程语言一致
- 变量名字母大小写有区别,num和NUM是不同的两个变量
- 赋值顺序不能反,左边变量,右边值,NUM = 1
- 理论上变量名可以随便取名,但为了可读性,建议使用较强的名字
示例:
mstr = "linjunwei"
mstr2 = "zhen niu bi"
mstr3 = mstr + " " + mstr2
print(mstr3)# 输出 linjunwei zhen niu bi
3.2 字符串
字符串顾名思义就是一串字符,和其他编程语言没太大区别。注意点如下:
- Python里字符串使用" "和‘ ’都一样,但不要混着用
- 涉及到打印 \ 时,为了避免转义可以使用原始字符串
- Python里三引号字符串是一种特殊的字符串表示方式,允许定义多行字符串,包含特殊字符而不需要转义
示例:
mstr = "linjunwei" 和 mstr = 'linjunwei' 一个意思
mstr = "lin''junwei" # 输出 lin''junwei
mstr = 'lin""junwei' # 输出 lin""junweimstr = r"linjun\wei" # 输出 linjun\wei 单引号和双引号一样mstr = """askjdhakjshdjkashjkdhsa\fgdfgdfgdfgadadadadad sadasdsadadad""" # 这就是长字符串
3.3 条件分支
和C语言一个意思只是写法不同,直接展示写法
if 条件 :条件为True执行的操作
else :条件为False执行的操作# 示例:
num1 = 1
num2 = 2
if num1 > num2 :print("1")
else :print("2")
缩进确定作用域
3.4 初识循环
和C语言一个意思只是写法不同,直接展示写法
while 条件 :条件为True执行的操作# 示例:
cnt = 8
while cnt > 0 :print(cnt)cnt -= 1
3.5 引入操作
类似于添加头文件的操作。
示例:
import random
num = random.randint(1,100)
print(num)
# 生成一个1-100的随机数
3.6 数据类型
数据类型都差不多,Python稍微有些不同,或者说更方便。
3.6.1 整型
Python的整型相当于整型和长整型的集合,能轻松处理大数运算
print(234234234234234234 / 23234)
# 输出 10081528545848.078
3.6.2 浮点型
浮点型就和其他语言一样,带小数点的
3.6.3 布尔型
就True和False,相当于整型的1和0,但最好不要当整型用
3.6.4 类型转换
主要介绍 int()、float()、str() 三个类型转换函数
num = 1.2333
cnt = 3
print(int(num)) # 转整型
print(str(num)) # 转字符串
print(float(cnt)) # 转浮点型# 输出
1
1.2333
3.0
3.6.5 获取数据类型
介绍了获取类型函数 type() 和判断数据是否为某一个类型函数 isinstance()
print(type('lin'))
print(type(1))
print(type(1.90))
print(type(5e20))
print(type(True))# 输出
<class 'str'>
<class 'int'>
<class 'float'>
<class 'float'>
<class 'bool'>print(isinstance('lin', str))
# 输出
True
3.7 操作符
大致和C语言差不多,但功能更高级。
3.7.1 算术操作符
# 加法 +
print(1 + 2) # 输出 3
# 减法 -
print(2 - 1) # 输出 1
# 乘法 *
print(2 * 1) # 输出 2
# 除法 /
print(1 / 2) # 输出 0.5 Python是完整的除法
# 取余 %
print(1 % 2) # 输出 1
# 地板除法 //
print(1 // 2) # 输出 0
# 幂运算 **
print(2 ** 3) # 输出 8 x的y次方 # 可以和等于连用 **= 这种
3.7.2 操作符优先级
先乘除,后加减,有括号先括号,幂运算 > 正负号 > 算术操作 > 比较操作 > 逻辑操作
注意:
print(-3 * 2 + 5 / -2 -4) # 输出 -12.5 一元操作符优先级高
print(-5 ** 2) # 输出 -25
print(5 ** -2) # 输出 0.04 说明 ** 操作符优先级比左边一元操作符高,比右边一元操作符低
3.7.3 比较操作符
包括: < <= > >= == !=,返回值为True或False,Python支持连续比较,但比较符方向应该要一致
print(3 < 4) # True
print('a' > 'b') # False
print(5 > 3 < 4) # True
3.7.4 逻辑操作符
是与、或、非,Python叫 and、or、not
print(2 and 3) # 返回3 and 从左往右,第一个值为false,则返回第一个值,否则返回第二个值
print(1 or 2) # 返回1 or 从左往右,第一个值为true,则返回第一个值,否则返回第二个值
print(not 4) # False # and、or原理和C语言不同,但是两边使用比较操作的话就都一样num = (not 1) or (0 and 1) or (3 and 4) or (5 and 6) or (7 and 8 and 9)
print(num)
# 返回 4
# num = 0 or 0 or 4 or 6 or 9
# num = 4 or 6 or 9 = 4 or 9 = 4
相关文章:
[Python入门学习记录(小甲鱼)]第3章 Python基础知识
第3章 基础知识 前面三章都没啥用,这一章开始进入主题。 3.1 变量 变量顾名思义就是一个可变的量,但Python的变量更像是一个名字,通过这个名字可以找到我们想要的值。注意点如下: Python不需要显式声明,但使用之前…...
某系统webpack接口泄露引发的一系列漏洞
视频教程在我主页简介或专栏里 (不懂都可以来问我 专栏找我哦) 目录: 信息搜集 未授权敏感信息泄露越权任意用户密码重置 1.越权访问 2.大量敏感信息 越权 任意用户密码重置 信息搜集 这里找到从小穿一条裤子长大的兄弟,要挟他交…...
【计算机网络入门】初学计算机网络(十一)重要
目录 1. CIDR无分类编址 1.1 CIDR的子网划分 1.1.1 定长子网划分 1.1.2 变长子网划分 2. 路由聚合 2.1 最长前缀匹配原则 3. 网络地址转换NAT 3.1 端口号 3.2 IP地址不够用? 3.3 公网IP和内网IP 3.4 NAT作用 4. ARP协议 4.1 如何利用IP地址找到MAC地址…...
决策树(Decision Tree)基础知识
目录 一、回忆1、*机器学习的三要素:1)*函数族2)*目标函数2.1)*模型的其他复杂度参数 3)*优化算法 2、*前处理/后处理1)前处理:特征工程2)后处理:模型选择和模型评估 3、…...
Nat Mach Intell | AI分子对接算法评测
《Nature Machine Intelligence》发表重磅评测,系统评估AI与物理方法在虚拟筛选(VS)中的表现,突破药物发现效率瓶颈。 核心评测体系:三大数据集 研究团队构建了三个新型测试集: TrueDecoy:含14…...
【自学笔记】Hadoop基础知识点总览-持续更新
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 Hadoop基础知识点总览1. Hadoop简介2. Hadoop生态系统3. HDFS(Hadoop Distributed File System)HDFS基本命令 4. MapReduceWordCount示例&am…...
【Linux】使用问题汇总
#1 ssh连接的时候报Key exchange failed 原因:服务端版本高,抛弃了一些不安全的交换密钥算法,且客户端版本比较旧,不支持安全性较高的密钥交换算法。 解决方案: 如果是内网应用,安全要求不这么高…...
(二 十 二)趣学设计模式 之 备忘录模式!
目录 一、 啥是备忘录模式?二、 为什么要用备忘录模式?三、 备忘录模式的实现方式四、 备忘录模式的优缺点五、 备忘录模式的应用场景六、 总结 🌟我的其他文章也讲解的比较有趣😁,如果喜欢博主的讲解方式,…...
交叉编译openssl及curl
操作环境:Ubuntu20.04 IDE工具:Clion2020.2 curl下载地址:https://curl.se/download/ openssl下载地址:https://openssl-library.org/source/old/index.html 直接交叉编译curl会报错找不到openssl,所以需要先交叉编…...
【每日八股】计算机网络篇(三):IP
目录 DNS 查询服务器的基本流程DNS 采用 TCP 还是 UDP,为什么?默认使用 UDP 的原因需要使用 TCP 的场景?总结 DNS 劫持是什么?解决办法?浏览器输入一个 URL 到显示器显示的过程?URL 解析TCP 连接HTTP 请求页…...
Gartner:数据安全平台DSP提升数据流转及使用安全
2025 年 1 月 7 日,Gartner 发布“China Context:Market Guide for Data Security Platforms”(《数据安全平台市场指南——中国篇》,以下简称指南),报告主要聚焦中国数据安全平台(Data Securit…...
从vue源码解析Vue.set()和this.$set()
前言 最近死磕了一段时间vue源码,想想觉得还是要输出点东西,我们先来从Vue提供的Vue.set()和this.$set()这两个api看看它内部是怎么实现的。 Vue.set()和this.$set()应用的场景 平时做项目的时候难免不会对 数组或者对象 进行这样的骚操作操作ÿ…...
深入浅出:UniApp 从入门到精通全指南
https://juejin.cn/post/7440119937644101684 uni-app官网 uniapp安卓离线打包流程_uniapp离线打包-CSDN博客 本文是关于 UniApp 从入门到精通的全指南,涵盖基础入门(环境搭建、创建项目、项目结构、编写运行)、核心概念与进阶知识&#x…...
DeepSeek未来发展趋势:开创智能时代的新风口
DeepSeek未来发展趋势:开创智能时代的新风口 随着人工智能(AI)、深度学习(DL)和大数据的飞速发展,众多创新型技术已经逐渐走向成熟,而DeepSeek作为这一领域的新兴力量,正逐步吸引越…...
阻塞队列的实现(线程案例)
一.什么是阻塞队列? 1.如果对于一个满的队列,还要把元素入队列,此时这个队列就会阻塞等待,一直阻塞到这个队列不满为止,从而把这个元素入队列! 2.如果对于一个空的队列,还要从队列拿出元素&…...
http status是什么?常见的http状态码指的是什么意思?
HTTP 状态码 HTTP 状态码(HTTP Status Code)是服务器在响应客户端请求时返回的一个三位数字代码,用于表示请求的处理结果。HTTP 状态码是 HTTP 协议的一部分,帮助客户端(如浏览器或应用程序)了解请求是否成…...
react组件分离,降低耦合
分离前 分离后...
【AI】AI白日梦+ChatGPT 三分钟生成爆款短视频
引言 随着人工智能(AI)技术的快速发展,AI在各个领域都展现出了强大的应用潜力。其中,自然语言处理技术的进步使得智能对话系统得以实现,而ChatGPT作为其中的代表之一,具有自动生成文本的能力,为…...
MYSQL的安装教程
mysql安装分为:普通安装和压缩包安装 压缩包安装很多会存在安装失败的情况,所以我这里就用了普通安装 一、官网下载安装包 www.mysql.com 点击DOWNLOADS: 进入社区版本下载: 点击最下面一行进行下载: 选择第二个离…...
深入解析 C# 中的泛型:概念、用法与最佳实践
C# 中的 泛型(Generics) 是一种强大的编程特性,允许开发者在不预先指定具体数据类型的情况下编写代码。通过泛型,C# 能够让我们编写更灵活、可重用、类型安全且性能优良的代码。泛型广泛应用于类、方法、接口、委托、集合等多个方…...
屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!
5月28日,中天合创屋面分布式光伏发电项目顺利并网发电,该项目位于内蒙古自治区鄂尔多斯市乌审旗,项目利用中天合创聚乙烯、聚丙烯仓库屋面作为场地建设光伏电站,总装机容量为9.96MWp。 项目投运后,每年可节约标煤3670…...
在Ubuntu中设置开机自动运行(sudo)指令的指南
在Ubuntu系统中,有时需要在系统启动时自动执行某些命令,特别是需要 sudo权限的指令。为了实现这一功能,可以使用多种方法,包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法,并提供…...
Unity | AmplifyShaderEditor插件基础(第七集:平面波动shader)
目录 一、👋🏻前言 二、😈sinx波动的基本原理 三、😈波动起来 1.sinx节点介绍 2.vertexPosition 3.集成Vector3 a.节点Append b.连起来 4.波动起来 a.波动的原理 b.时间节点 c.sinx的处理 四、🌊波动优化…...
CVE-2020-17519源码分析与漏洞复现(Flink 任意文件读取)
漏洞概览 漏洞名称:Apache Flink REST API 任意文件读取漏洞CVE编号:CVE-2020-17519CVSS评分:7.5影响版本:Apache Flink 1.11.0、1.11.1、1.11.2修复版本:≥ 1.11.3 或 ≥ 1.12.0漏洞类型:路径遍历&#x…...
FFmpeg:Windows系统小白安装及其使用
一、安装 1.访问官网 Download FFmpeg 2.点击版本目录 3.选择版本点击安装 注意这里选择的是【release buids】,注意左上角标题 例如我安装在目录 F:\FFmpeg 4.解压 5.添加环境变量 把你解压后的bin目录(即exe所在文件夹)加入系统变量…...
【Linux手册】探秘系统世界:从用户交互到硬件底层的全链路工作之旅
目录 前言 操作系统与驱动程序 是什么,为什么 怎么做 system call 用户操作接口 总结 前言 日常生活中,我们在使用电子设备时,我们所输入执行的每一条指令最终大多都会作用到硬件上,比如下载一款软件最终会下载到硬盘上&am…...
VisualXML全新升级 | 新增数据库编辑功能
VisualXML是一个功能强大的网络总线设计工具,专注于简化汽车电子系统中复杂的网络数据设计操作。它支持多种主流总线网络格式的数据编辑(如DBC、LDF、ARXML、HEX等),并能够基于Excel表格的方式生成和转换多种数据库文件。由此&…...
Vue3中的computer和watch
computed的写法 在页面中 <div>{{ calcNumber }}</div>script中 写法1 常用 import { computed, ref } from vue; let price ref(100);const priceAdd () > { //函数方法 price 1price.value ; }//计算属性 let calcNumber computed(() > {return ${p…...
k8s从入门到放弃之Pod的容器探针检测
k8s从入门到放弃之Pod的容器探针检测 在Kubernetes(简称K8s)中,容器探测是指kubelet对容器执行定期诊断的过程,以确保容器中的应用程序处于预期的状态。这些探测是保障应用健康和高可用性的重要机制。Kubernetes提供了两种种类型…...
手动给中文分词和 直接用神经网络RNN做有什么区别
手动分词和基于神经网络(如 RNN)的自动分词在原理、实现方式和效果上有显著差异,以下是核心对比: 1. 实现原理对比 对比维度手动分词(规则 / 词典驱动)神经网络 RNN 分词(数据驱动)…...
