[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# 能够让我们编写更灵活、可重用、类型安全且性能优良的代码。泛型广泛应用于类、方法、接口、委托、集合等多个方…...
深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法
深入浅出:JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中,随机数的生成看似简单,却隐藏着许多玄机。无论是生成密码、加密密钥,还是创建安全令牌,随机数的质量直接关系到系统的安全性。Jav…...
力扣-35.搜索插入位置
题目描述 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 class Solution {public int searchInsert(int[] nums, …...
docker 部署发现spring.profiles.active 问题
报错: org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property spring.profiles.active imported from location class path resource [application-test.yml] is invalid in a profile specific resource [origin: class path re…...
Spring是如何解决Bean的循环依赖:三级缓存机制
1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间互相持有对方引用,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...
免费数学几何作图web平台
光锐软件免费数学工具,maths,数学制图,数学作图,几何作图,几何,AR开发,AR教育,增强现实,软件公司,XR,MR,VR,虚拟仿真,虚拟现实,混合现实,教育科技产品,职业模拟培训,高保真VR场景,结构互动课件,元宇宙http://xaglare.c…...
ubuntu22.04有线网络无法连接,图标也没了
今天突然无法有线网络无法连接任何设备,并且图标都没了 错误案例 往上一顿搜索,试了很多博客都不行,比如 Ubuntu22.04右上角网络图标消失 最后解决的办法 下载网卡驱动,重新安装 操作步骤 查看自己网卡的型号 lspci | gre…...
0x-3-Oracle 23 ai-sqlcl 25.1 集成安装-配置和优化
是不是受够了安装了oracle database之后sqlplus的简陋,无法删除无法上下翻页的苦恼。 可以安装readline和rlwrap插件的话,配置.bahs_profile后也能解决上下翻页这些,但是很多生产环境无法安装rpm包。 oracle提供了sqlcl免费许可,…...
数据结构:递归的种类(Types of Recursion)
目录 尾递归(Tail Recursion) 什么是 Loop(循环)? 复杂度分析 头递归(Head Recursion) 树形递归(Tree Recursion) 线性递归(Linear Recursion)…...
电脑桌面太单调,用Python写一个桌面小宠物应用。
下面是一个使用Python创建的简单桌面小宠物应用。这个小宠物会在桌面上游荡,可以响应鼠标点击,并且有简单的动画效果。 import tkinter as tk import random import time from PIL import Image, ImageTk import os import sysclass DesktopPet:def __i…...
计算机系统结构复习-名词解释2
1.定向:在某条指令产生计算结果之前,其他指令并不真正立即需要该计算结果,如果能够将该计算结果从其产生的地方直接送到其他指令中需要它的地方,那么就可以避免停顿。 2.多级存储层次:由若干个采用不同实现技术的存储…...
