[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# 能够让我们编写更灵活、可重用、类型安全且性能优良的代码。泛型广泛应用于类、方法、接口、委托、集合等多个方…...

SpringBoot-17-MyBatis动态SQL标签之常用标签
文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...
Java 语言特性(面试系列2)
一、SQL 基础 1. 复杂查询 (1)连接查询(JOIN) 内连接(INNER JOIN):返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...
内存分配函数malloc kmalloc vmalloc
内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...
在鸿蒙HarmonyOS 5中实现抖音风格的点赞功能
下面我将详细介绍如何使用HarmonyOS SDK在HarmonyOS 5中实现类似抖音的点赞功能,包括动画效果、数据同步和交互优化。 1. 基础点赞功能实现 1.1 创建数据模型 // VideoModel.ets export class VideoModel {id: string "";title: string ""…...
Java 加密常用的各种算法及其选择
在数字化时代,数据安全至关重要,Java 作为广泛应用的编程语言,提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景,有助于开发者在不同的业务需求中做出正确的选择。 一、对称加密算法…...

Psychopy音频的使用
Psychopy音频的使用 本文主要解决以下问题: 指定音频引擎与设备;播放音频文件 本文所使用的环境: Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...
Axios请求超时重发机制
Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式: 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...
HTML前端开发:JavaScript 常用事件详解
作为前端开发的核心,JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例: 1. onclick - 点击事件 当元素被单击时触发(左键点击) button.onclick function() {alert("按钮被点击了!&…...

IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)
文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...

算法笔记2
1.字符串拼接最好用StringBuilder,不用String 2.创建List<>类型的数组并创建内存 List arr[] new ArrayList[26]; Arrays.setAll(arr, i -> new ArrayList<>()); 3.去掉首尾空格...