[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# 能够让我们编写更灵活、可重用、类型安全且性能优良的代码。泛型广泛应用于类、方法、接口、委托、集合等多个方…...
大语言模型驱动SVG代码生成:原理、实践与应用前景
1. 项目概述:当大语言模型遇上SVG图形生成最近在开源社区里,一个名为“ximinng/LLM4SVG”的项目引起了我的注意。这个项目名字直译过来就是“用于SVG的大语言模型”,它瞄准了一个非常具体且有趣的交叉领域:利用大语言模型来生成或…...
LLM实战指南:从Transformer原理到微调部署的完整学习路径
1. 项目概述:一个面向实践者的LLM学习路线图最近在GitHub上看到一个叫mlabonne/llm-course的项目,热度非常高。点进去一看,这其实不是一个传统意义上的“课程”,而更像一份由社区驱动的、持续更新的“大型语言模型实战指南”。它的…...
转子永磁式无刷混合励磁电机关键技术【附仿真】
✨ 长期致力于次谐波、无刷调磁、有限元建模与分析、多目标鲁棒优化、弱磁运行研究工作,擅长数据搜集与处理、建模仿真、程序编写、仿真设计。 ✅ 专业定制毕设、代码 ✅ 如需沟通交流,点击《获取方式》 (1)基于次谐波调制与变电流…...
TrollInstallerX终极指南:3分钟完成iOS安装工具的零基础教程
TrollInstallerX终极指南:3分钟完成iOS安装工具的零基础教程 【免费下载链接】TrollInstallerX A TrollStore installer for iOS 14.0 - 16.6.1 项目地址: https://gitcode.com/gh_mirrors/tr/TrollInstallerX TrollInstallerX是一款专为iOS设备设计的智能越…...
C语言日志分级系统设计:从原理到工业级实现
1. 项目概述:为什么日志分级是C项目的“体检报告” 在C语言项目里,尤其是那些需要长期稳定运行的后台服务、嵌入式系统或者网络中间件,日志系统就是开发者的“眼睛”和“耳朵”。没有它,程序就像在黑箱里运行,一旦出问…...
循迹小车传感器布局与状态机编程避坑指南:从5路红外到精准过直角弯
循迹小车传感器布局与状态机编程避坑指南:从5路红外到精准过直角弯 在智能小车开发领域,循迹功能是最基础也最具挑战性的环节之一。许多创客和学生在完成硬件搭建后,往往会陷入软件调试的泥潭——小车要么频繁偏离轨道,要么在直角…...
整合ssm框架,详细讲解
今天针对 SSM(SpringSpringMVCMyBatis)框架整合展开了学习,学习内容如下:我们在进行 JavaEE 开发时,为了实现解耦和提高开发效率,通常会采用 SSM(SpringSpringMVCMyBatis)框架整合的…...
对话式AI应用开发实战:基于Bolna框架的语音助手构建与优化指南
1. 项目概述:Bolna,一个面向对话式AI应用的开源编排框架如果你正在构建一个需要处理语音或文本对话的AI应用,比如一个智能客服、一个语音助手,或者一个能通过电话自动处理预约的机器人,你可能会立刻想到几个核心挑战&a…...
WRF-CHEM模拟翻车?可能是你的namelist.chem没设对(附MEIC数据实战配置清单)
WRF-CHEM模拟异常排查指南:MEIC数据与namelist.chem的深度适配 当WRF-CHEM模拟结果出现异常时,很多用户会第一时间怀疑MEIC数据处理环节的问题,但实际上,namelist.chem参数与MEIC特性的匹配度才是更隐蔽的关键因素。本文将带您深入…...
基于ARM9核心板的工业双CAN网关开发实战:从硬件选型到软件架构
1. 项目概述与核心价值最近在做一个工业网关项目,客户要求设备必须支持双路CAN总线,用于同时连接现场的执行器和上位机监控系统。时间紧,任务重,自己从头设计硬件、画板、调试驱动,周期太长,风险也高。这时…...
