[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# 能够让我们编写更灵活、可重用、类型安全且性能优良的代码。泛型广泛应用于类、方法、接口、委托、集合等多个方…...
智慧医疗能源事业线深度画像分析(上)
引言 医疗行业作为现代社会的关键基础设施,其能源消耗与环境影响正日益受到关注。随着全球"双碳"目标的推进和可持续发展理念的深入,智慧医疗能源事业线应运而生,致力于通过创新技术与管理方案,重构医疗领域的能源使用模式。这一事业线融合了能源管理、可持续发…...
k8s从入门到放弃之Ingress七层负载
k8s从入门到放弃之Ingress七层负载 在Kubernetes(简称K8s)中,Ingress是一个API对象,它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress,你可…...
云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地
借阿里云中企出海大会的东风,以**「云启出海,智联未来|打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办,现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...
select、poll、epoll 与 Reactor 模式
在高并发网络编程领域,高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表,以及基于它们实现的 Reactor 模式,为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。 一、I…...
Java编程之桥接模式
定义 桥接模式(Bridge Pattern)属于结构型设计模式,它的核心意图是将抽象部分与实现部分分离,使它们可以独立地变化。这种模式通过组合关系来替代继承关系,从而降低了抽象和实现这两个可变维度之间的耦合度。 用例子…...
android13 app的触摸问题定位分析流程
一、知识点 一般来说,触摸问题都是app层面出问题,我们可以在ViewRootImpl.java添加log的方式定位;如果是touchableRegion的计算问题,就会相对比较麻烦了,需要通过adb shell dumpsys input > input.log指令,且通过打印堆栈的方式,逐步定位问题,并找到修改方案。 问题…...
手机平板能效生态设计指令EU 2023/1670标准解读
手机平板能效生态设计指令EU 2023/1670标准解读 以下是针对欧盟《手机和平板电脑生态设计法规》(EU) 2023/1670 的核心解读,综合法规核心要求、最新修正及企业合规要点: 一、法规背景与目标 生效与强制时间 发布于2023年8月31日(OJ公报&…...
认识CMake并使用CMake构建自己的第一个项目
1.CMake的作用和优势 跨平台支持:CMake支持多种操作系统和编译器,使用同一份构建配置可以在不同的环境中使用 简化配置:通过CMakeLists.txt文件,用户可以定义项目结构、依赖项、编译选项等,无需手动编写复杂的构建脚本…...
CTF show 数学不及格
拿到题目先查一下壳,看一下信息 发现是一个ELF文件,64位的 用IDA Pro 64 打开这个文件 然后点击F5进行伪代码转换 可以看到有五个if判断,第一个argc ! 5这个判断并没有起太大作用,主要是下面四个if判断 根据题目…...
CppCon 2015 学习:REFLECTION TECHNIQUES IN C++
关于 Reflection(反射) 这个概念,总结一下: Reflection(反射)是什么? 反射是对类型的自我检查能力(Introspection) 可以查看类的成员变量、成员函数等信息。反射允许枚…...
