Python——基础知识(1)

news2024/11/24 23:04:00

前面主要讲解了javaEE的基础知识,基本上可以用servlet写一些简单的网页程序,后续的博客将围绕spring进行讲解,并且其中穿插一些python的知识

变量

命名

和其他的编程语言一样,java的变量命名需要遵循下面几个原则

  1. 由数字,字母,下划线构成
  2. 数字不能开头
  3. 变量名不能和python中的关键字重复
  4. 变量名是大小写敏感的

分类

当我们在python中定义一个变量时,并不需要显式的声明这个变量的类型,python会依据我们初始化的值来确定类型,并且,python的语句后面没有分号

整数

a = 10

也即是int类型,其表示的数据范围是无穷的,python会对数据自动的进行扩容

浮点数

a = 1.0

也就是float类型,表示小数,和java一样,是四个字节的,python中没有双精度浮点数

字符串

a = "hello world"

也就是string类型,是小写的s,表示一串字符,python中没有字符类型,字符就相当于只有一个字符的字符串

布尔型

a = True
b = False

这里的首字母都是大写的,并且True是1,False是0

print(type(a))

可以使用上面这个代码确定一个变量的类型,print是输出函数,会直接打印变量中的内容

我们可以直接给变量赋值不同的类型

a = 10
a = 10.0
a = "hello world"

这种语法虽然看起来很简单,但是当我们在实际开发的过程中会发现我们还是想知道这个变量到底是什么值的,因此可以用下面这种方式声明这个变量目前的类型

a: int = 10

强制类型转换

我们拿到一个字符串“1”时,想要把他转换为数字1,那么就需要强制类型转换

a = int("1")

注释

python中主要采取两种注释风格

# 这是一行注释

"""
这是文本注释
"""

这里我们一般在方法的上面写文本注释,在一些要注释的代码的上方写注释
当我们要批量注释一段代码块时,可以选中这个代码,然后按ctrl + /

输入

a = int(input("请输入一个整数"))

使用input函数,控制台就会等待用户输入,其结果返回的是字符串,因此需要用到我们上述讲的强制类型转换,将字符串转换为整数类型

输出

print("hello world")

直接使用print函数就可以打印,但是在python中,字符串和数字是无法进行拼接的,因此无法使用下面这种代码

print("你输入的数字是:" + a) # error

取而代之的,我们需要用到格式化字符串这个概念。C语言中的格式化字符串是采用%d这样的占位符,C++则是采用<<进行拼接,而java则是直接允许字符串和数字进行拼接。在python中采用f-string的格式,在字符串前加一个f,代表我要进行拼接了,然后在后面需要拼接的数字上包裹一个{ }

print(f"你输入的数字是:{a}")

运算符

算术运算符

a + b
a - b
a * b
a % b

和java一样,这几个运算符分别代表加,减,乘,模(也就是a除b后得到的余数)

a / b

不一样的是,当java中运行2 / 3时,会得到1,因为两个整数进行运算后得到的还是一个整数,最终得到的就是2 / 3的商,只有2.0 / 3,才会得到0.6666…
而python中,2 / 3就直接是0.6666…

想要得到1这个结果,那么可以用下面这个运算符

a // b

另外,python中还专门有乘方的运算符,比如想表示a的2次方,就可以使用下面这种方式,并且还支持小数的形式,例如4的0.5次方,也就是4的开方,2

a ** 2

当我们做除法运算时得到一个除不尽的小数,计算机会发生截断,而当我们除0时,计算机会报错
在这里插入图片描述
我们仔细阅读英文,按照上面说的对应的行号去找,就可以发现问题了

需要注意的是,python中不支持++ --这样的自增操作

关系运算符

a > b
a < b
a >= b
a <= b
a == b
a != b

和java一样,这些分别表示大于,小于,大于等于,小于等于,判断是否相当,判断是否不相等
最终这些关系运算符判断一个表达式后会得到一个布尔类型的值,也就是真为True,假为False

并且,这些关系运算符还可以比较两个字符串,按照字典序,比如“hello”和“abandon”,由于h在a的后面,因此是小于关系

需要注意的是,比较两个浮点数大小关系时,不能直接使用==判断是否相等,因为计算机是2进制的,表示浮点数是有误差的,比如下面这个实例
在这里插入图片描述
当0.1和0.2相加时,会放大浮点数表示的误差,因此会出现和0.3不相等的情况
因此,在浮点数判断是否相等时,需要采用作差的方式,判断两个浮点数的差是否在允许的误差范围内

print(-0.000001 < a - b < 0.000001)

python中是可以直接连着写<号的,不用逻辑运算与来连接的

逻辑运算符

python中的逻辑运算符如下

print(a and b) # 表示逻辑与
print(a or b)  # 表示逻辑或
print(not a)   # 表示逻辑取反

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/68838.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

HCI OPCDE

HCI控制命令由两个字节的OpCode定义&#xff0c;每个OpCode由一个字节的OGF&#xff08;OpCode Group Field&#xff09;和一个字节的OCF&#xff08;OpCode Command Field&#xff09;组成。参考&#xff1a; HCI Command Packet Command的数据包格式如下图&#xff1a; 其中…

GoWeb 进阶的实战项目,基于 Iris 框架实现 JWT 认证(附案例全代码)

1、前言 我们知道&#xff0c;http协议本身是一种无状态的协议&#xff0c;而这就意味着如果用户向我们的应用提供了用户名和密码来进行用户认证&#xff0c;那么下一次请求时&#xff0c;用户还要再一次进行用户认证才行&#xff0c;因为根据http协议&#xff0c;我们并不能知…

【强化学习论文合集】七.2017神经信息处理系统大会论文(NIPS2017)

强化学习(Reinforcement Learning, RL),又称再励学习、评价学习或增强学习,是机器学习的范式和方法论之一,用于描述和解决智能体(agent)在与环境的交互过程中通过学习策略以达成回报最大化或实现特定目标的问题。 本专栏整理了近几年国际顶级会议中,涉及强化学习(Rein…

如何制作Docker镜像

一般有两种方式来制作自己的 Docker 镜像 基于现有的 Docker 镜像&#xff0c;安装自己的软件环境后&#xff0c;完成制作从零开始用 Dockerfile 来制作 宿主机环境 Ubuntu 18.04 x86_64 基于现有Docker镜像来制作 首先要获得一个基本的 Docker 镜像 使用 ”docker pull“…

【C++笔试强训】第三天

选择题 1.以下程序的输出结果是&#xff08;&#xff09; #include <stdio.h> int main() {char a[10] {1, 2, 3, 4, 5, 6, 7, 8, 9, 0}, *p;int i;i 8;p a i;printf("%s\n", p - 3); }A 6 B 6789 C ‘6’ D 789 a是数组名&#xff0c;所以指向数组首元…

p4实现负载均衡

实验要求 基于简单版本的等成本多路径转发实现一种负载平衡。实现的交换机将使用两个表将数据包随机转发到两个目标主机之一第一个表将使用哈希函数&#xff08;应用于由源和目标IP地址、IP协议以及源和目标TCP端口组成的5元组&#xff09;来选择两个主机中的一个第二个表将使…

gnn神经网络是什么,gnn神经网络代码

1、gnn什么意思? 指图形神经网络。 生物神经网络主要是指人脑的神经网络&#xff0c;它是人工神经网络的技术原型。人脑是人类思维的物质基础&#xff0c;思维的功能定位在大脑皮层&#xff0c;后者含有大约10^11个神经元。 每个神经元又通过神经突触与大约103个其它神经元…

永磁同步电机(PMSM)磁场定向控制(FOC)及Matlab/Simulink仿真分析

文章目录前言一、FOC的基本原理二、坐标变换2.1.Clark坐标变换2.2.Park坐标变换三、永磁同步电机在同步旋转坐标系下的数学模型四、永磁同步电机磁场定向控制Matlab/Simulink仿真分析4.1.电压开环控制4.1.1.仿真电路分析4.1.2.仿真结果分析4.2.电流闭环控制4.2.1.仿真电路分析4…

两个月吃透阿里P9推荐260页SpringBoot2企业应用实战pdf入职定P6+

前言 都说程序员工资高、待遇好&#xff0c; 2022 金九银十到了&#xff0c;你的小目标是 30K、40K&#xff0c;还是 16薪的 20K&#xff1f;作为一名 Java 开发工程师&#xff0c;当能力可以满足公司业务需求时&#xff0c;拿到超预期的 Offer 并不算难。然而&#xff0c;提升…

Ansys Zemax | 使用OpticStudio进行闪光激光雷达系统建模(下)

在消费类电子产品领域&#xff0c;工程师可利用激光雷达实现众多功能&#xff0c;如面部识别和3D映射等。尽管激光雷达系统的应用非常广泛而且截然不同&#xff0c;而“闪存激光雷达”解决方案适用于在使用固态光学元件的目标场景中生成可检测的点阵列。 凭借在针对小型封装获…

「Redis」08 主从复制

笔记整理自【尚硅谷】Redis 6 入门到精通 超详细 教程 Redis——主从复制 1. 简介 主机数据更新后根据配置和策略&#xff0c; 自动同步到备机的 master/slaver 机制&#xff0c;Master 以写为主&#xff0c;Slaver 以读为主。 主从复制的好处 读写分离&#xff0c;性能扩展…

利用styleSheet,避免js手动频繁修改样式

styleSheet是一个样式表&#xff0c;记录了一个html文件中<style>标签中的样式 &#x1f5a8;️体感styleSheet 对于下面一个html文件 <!DOCTYPE html> <html lang"en"><head><style>h1 {color: red;}div {color: green; }</styl…

VMware替换难?听听ZStack 的这3家制造业客户怎么说……

随着国家对信创转型的持续扶持&#xff0c;加之VMware原有的产品与客户云建设需求的契合度不高&#xff0c;越来越多的用户选择将自身的IT系统替换为国产化的信创产品&#xff0c;且已经在金融、交通、制造业、教育、房地产等领域落地出现从VMware迁移转型的成功案例。在此趋势…

Python实战案例,PyQt5+socket模块,Python制作小型桌面应用

前言 本文给大家分享的是如何通过用PyQt5制作小型桌面应用 PyQt概述 PyQt5是Qt框架的Python语言实现&#xff0c;由Riverbank Computing开发&#xff0c;是最强大的GUI库之一。PyQt提供了一个设计良好的窗口控件集合&#xff0c;每一个PyQt控件都对应一个Qt控件&#xff0c;…

js实现的在线绘图板,写字板

一个像素完美的基于web的MS Paint重制版和更多…试试看&#xff01; JS Paint高度逼真地再现了MS Paint的每个工具和菜单&#xff0c;甚至是鲜为人知的功能。 它支持主题、其他文件类型和辅助功能&#xff0c;如眼睛注视模式和语音识别。 在线demo地址在线绘图板&#xff0c;在…

CorelDRAW破解版是如何一步一步坑人的

如果你还在说破解版软件免费好用&#xff0c;那我真的要用一个朋友的例子和你讲讲破解版CorelDRAW的害人之处了。 小赵是我的朋友学设计的&#xff0c;学生党一枚苦于囊中羞涩经常上破解版的车。一次他接了一个设计LOGO的活儿&#xff0c;准备用CorelDRAW来做这个LOGO。于是从…

web安全之post注入和cookie注入

目录 环境 靶场11&#xff08;POST注入&#xff09; 靶场20&#xff08;cookie注入&#xff09; 环境 靶场&#xff1a;sqli-labs&#xff0c;工具&#xff1a;burp 靶场11&#xff08;POST注入&#xff09; 抓包修改请求体 uname-1 union select 1,2 #&passwd&s…

2023年天津仁爱学院高职升本科专业考试报考须知

2023年天津仁爱学院高职升本科专业考试报考须知 一、报名条件 1.报考我校2023年高职升本科各专业的考生&#xff0c;应符合天津市教育招生考试院制定的2023 年天津市高职升本科及我校专业考试有关报考条件&#xff0c;须完成2023年天津市高职升本科文化考试报名相关手续&#x…

【Web端智能聊天客服】之HTML、CSS、Bootstrap的讲解及实例(超详细必看 附源码)

觉得有帮助请点赞关注收藏~~~ 一、HTML基础 HTML全称是HyperText Markup Language 是网页的标准标记语言&#xff0c;使用HTML可以创建自定义网站或者模板网站&#xff0c;HTML代表超文本标记语言&#xff0c;主要用于描述网页结构&#xff0c;HTML页面元素体现浏览器如何显示…

商业智能BI在面向报表和模型开发时,有什么不同?

企业在面试商业智能BI技术开发人员&#xff0c;发现基本上90%的人分不清什么是面向报表开发&#xff0c;什么是面向模型开发&#xff0c;不明白这个问题背后的意思。10%左右的人稍微暗示一下&#xff0c;大概就懂你想了解的是什么了&#xff0c;这10%的是真正有过完整的数据仓库…