Python语言基础学习(上)

目录

一、常量和表达式

二、变量和类型

2.1  认识变量

2.2  定义变量

2.3  变量类型

   1、整数 int

2、浮点数(小数)float

3、字符串 str

4、布尔类型

2.4 类型转换

三、注释

3.1 单行注释

3.2 文档注释(或者多行注释)

四、输入输出

4.1 通过控制台输入

4.2 通过控制台输出

五、运算符

5.1 算术运算符

5.2 关系运算符

5.3 逻辑运算符

5.4 赋值运算符


一、常量和表达式

1 + 2 - 3 在编程语言中称为 表达式 ,   其运算结果 称为 表达式的返回值
其中 1 , 2 , 3 这种称为 字面值常量 , + - * / 这种称为 运算符 或者 操作符 .
(**表示求次方,如a**2表示a的平方,a**3表示a的3次方,a**b表示a的b次方)

print(1 + 2 - 3)
print(1 * 2 / 3)
print(1 + 2 * 3)

注意: 熟悉 C / Java 的同学可能认为, 2 / 3 结果为 0 (小数部分被截断). 但是在 Python 中得到的结果则是一个小数. 更符合日常使用的直觉

二、变量和类型

2.1  认识变量

变量就是把一个数值使用一个变量名来表示,这个变量名我们就通常叫做变量。

例如求四个分数的平均值:给定四个分数, 67.5, 89.0, 12.9, 32.2 , 编写代码, 求这四个分数的平均值。

avg = (67.5 + 89.0 + 12.9 + 32.2) / 4
print(avg)

注意:avg在这个表达式中就是一个变量

2.2  定义变量

       a = 10
创建变量的语句非常简单 , 其中
a 为变量名 . 当我们创建很多个变量的时候 , 就可以用名字来进行区分 .
= 为赋值运算符 , 表示把 = 右侧的数据放到 = 左侧的空间中 .
定义变量的名字必须遵守规则:
  1. 变量名由数字字母下划线构成.
  2. 数字不能开头.
  3. 变量名不能和 "关键字" 重复.
  4. 变量名大小写敏感. num 和 Num 是两个不同的变量名.

2.3  变量类型

       在Python中,变量类型主要有整数 int、浮点数(小数)float、字符串 str、布尔类型

   1、整数 int

a = 10
print(type(a))

# print和type都是Python里面的内置函数,print为打印函数,type为查看变量类型

2、浮点数(小数)float

a = 10.25
print(type(a))

注意点:Python 的小数只有 float 一种类型, 没有 double 类型。但是实际上 Python 的 float 就相当于 C++ / Java 的 double, 表示双精度浮点数

3、字符串 str

使用 ' ' 或者 " " 引起来的 称为 字符串, 可以用来表示文本。
a = "你好啊!"
print(type(a))

#可以使用 len 函数来获取字符串的长度,只能用于字符串
a = 'hello'
print(len(a))
注意 : 在 Python 中, 单引号构成的字符串和双引号构成的字符串, 没有区别 . 'hello' "hello" 是 完全等价的.
       
        1、可以使用 + 针对两个字符串进行拼接 .
        2、Python中字符串拼接只能字符串与字符串拼接,不能字符串与整数、浮点数、布尔类型进行拼接,否则会报错
异常注意点:
                         

4、布尔类型

布尔类型是一个特殊的类型 , 取值只有两种 , True ( ) False ( )。
注意点:Java、C++中与Python的布尔类型不同。
             Java、C++的布尔类型是true、false,Python的布尔类型是True、Flase  (Python 的首字母需要大写)
a = True
print(type(a))

2.4 类型转换

在Python里面,如果想要把一个整数或者浮点数转换为字符串,则使用str(), 字符串转换为整数,则使用int(),  字符串转换为浮点数,则使用float()

a = 1234
print(type(a)) # 整数
a = str(a)  # 整数转换为字符串
print(type(a)) # 字符串

b = 123.36
print(type(b))
b = str(b)  # 浮点数转换为字符串
print(type(b))

c = "123"
c = int(c)
print(type(c))

三、注释

3.1 单行注释

使用 # 开头的行都是注释 .

3.2 文档注释(或者多行注释)

  • 可以包含多行内容,
  • 一般放在 文件/函数/类 的开头.
  • """ 或者 ''' 均可 (等价)
# 这是单行注释

"""
多行注释
"""

'''
多行注释
'''

四、输入输出

4.1 通过控制台输入

python 使用 input 函数 , 从控制台读取用户的输入, 此时 input 输入的数据默认 str类型 。( 牢记
如果需要将输入的数据转化为int类型或者float类型,就可以使用 类型转换方法 进行转换, 使用int()或者float()

4.2 通过控制台输出

Python 使用 print 函数 输出到控制台。
若我们想要输出一个字符串加变量的形式输出到控制台上,此时就可以使用    f'num = {num}形式。

五、运算符

5.1 算术运算符

+ (加)、 - (减)  、 * (乘) 、 / (除) 、 % (取模)、 ** (求乘方)、 // (整除)    这种进行算术运算的运算符 , 称为 算术运算符。

注意点1: /  中不能用 0 作为除数,否则会 抛出异常

print(10 / 0)

注意点2:  整数 / 整数   结果可能是小数. 而不会截断 (与Java和C++有区别,注意区分

注意点3:  ** 是求乘方不光能算整数次方, 还能算小数次方

注意点4: // 是整除,  整数除以整数, 结果还是整数(舍弃小数部分, 向下取整. 不是四舍五入)

5.2 关系运算符

<、<=、 >、 >=、 ==、 !=   这一系列的运算符称为 关系运算符, 它们是在比较操作数之间的关系.

  • <= "小于等于"
  • >= "大于等于"
  • == "等于"
  • != "不等于"
(1) 如果关系符合 , 则表达式返回 True. 如果关系不符合 , 则表达式返回 False
a = 10
b = 20
print(a < b)
print(a <= b)
print(a > b)
print(a >= b)
print(a == b)
print(a != b)

(2) 关系运算符不光针对整数 / 浮点数进行比较 , 还能针对字符串进行比较。
字符串比较大小规则是 "字典序",Java里面的字典序比较是使用compareTo()方法
a = 'hello'
b = 'world'
print(a < b)
print(a <= b)
print(a > b)
print(a >= b)
print(a == b)
print(a != b)

(3) 对于浮点数来说 , 不要使用 == 判定相等, 因为 浮点数相加有小数精度问题需要考虑

print(0.1 + 0.2 == 0.3)     结果是False

注意 : 浮点数在计算机中的表示并不是精确的 ! 在计算过程中 , 就容易出现非常小的误差 .
print(0.1)
print(0.2)
print(0.3)
print(0.1 + 0.2)

5.3 逻辑运算符

Python中 and 、or、 not 这一系列的运算符称为 逻辑运算符 . 在 Java和C++中逻辑运算符为 && 、|| 、! ,我们需要注意区别。

  • and 并且. 两侧操作数均为 True, 最终结果为 True. 否则为 False. (一假则假)
  • or 或者. 两侧操作数均为 False, 最终结果为 False. 否则为 True. (一真则真)
  • not 逻辑取反. 操作数本身为 True, 则返回 False. 本身为 False, 则返回 True

  • 对于 and, 如果左侧表达式为 False, 则整体一定为 False, 右侧表达式不再执行.
  • 对于 or, 如果左侧表达式为 True, 则整体一定为 True, 右侧表达式不再执行.

5.4 赋值运算符

(1)   = 的使用
= 表示赋值 . 这个我们已经用过很多次了, 注意和 == 区分。 = 表示把数值进行赋值,==表示判断数值是否相等
链式赋值
a = b = c = 10
多元赋值
 
a,b,c = 10,20,30

交换两个变量:

#方式一
a = 10
b = 20
tmp = a
a = b
b = tmp
print(a,b)

# 方式二
a = 10
b = 20
a,b = b,a
print(a,b)
(2) 复合赋值运算符
Python 还有一些 复合赋值运算符, 例如 +=  -= *= /= %=
其中 a += 1 等价于 a = a + 1 . 其他复合赋值运算符也是同理。
注意 : C++ / Java , 存在 ++ 、 -- 这样的自增 / 自减运算符。 Python 中则不支持这种运算, 如果需要使用 , 则 直接使用 += 1 或者 -= 1(牢记)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Java解决垂直鉴权问题(对垂直权限进行校验)

Java解决垂直鉴权问题&#xff08;对垂直权限进行校验&#xff09; 文章目录 Java解决垂直鉴权问题&#xff08;对垂直权限进行校验&#xff09;前言一、垂直鉴权是什么&#xff1f;二、实现过程1.新建接口权限菜单映射表2.项目初始化时加载接口菜单映射关系3.自定义过滤器拦截…

【LLM 论文】Chain-of-Verification:通过验证链来减少 LLM 幻觉

论文&#xff1a;Chain-of-Verification Reduces Hallucination in Large Language Models ⭐⭐⭐ arXiv:2309.11495 论文速读 LLM 由于不可避免地会产生幻觉&#xff0c;现有的研究主要鼓励 LLM 在产生 response 之前生成内部思想的推理链&#xff0c;或者通过 self-critique…

使用leafletjs实现地图洋流、风场气象6要素地图标注、等值面图

前期实现的功能由于数据失效无法显示效果&#xff0c;今天重新对接一个数据源进行展示&#xff0c;实现效果如下图&#xff1a; 访问地址&#xff1a;可视化三维 GIS 特效 - 沉浸式视觉体验呈现令人惊叹的三维 GIS 特效&#xff0c;提供沉浸式视觉体验。https://www.wheart.cn/…

HTTP有哪些失败原因?怎么处理?

在我们日常的网络活动中&#xff0c;http协议是不可或缺的&#xff0c;它负责在互联网上传输数据。然而&#xff0c;在使用HTTP协议进行数据传输时&#xff0c;我们可能会遇到一些失败的情况。这些失败的原因多种多样&#xff0c;包括但不限于服务器问题、网络问题、客户端问题…

RobbitMQ基本消息队列的消息发送过程

RabbitMQ: One broker to queue them all | RabbitMQ RabbitMQ官网 SpringAmqp的官方地址&#xff1a;Spring AMQP 代码示例:对着代码看应该能看明白 publisher:消息发送者的代码示例 package cn.itcast.mq.helloworld;import com.rabbitmq.client.Channel; import com.rabb…

Agent AI智能体的未来:无限可能

文章目录 终结者智能体正反影响自我意识开放心态 终结者 还记得那场人类与天网之间的史诗般的战斗吗&#xff1f;-- 《终结者》系列电影。 《终结者》系列电影是一部标志性的科幻动作系列&#xff0c;以紧张刺激的情节、令人难忘的角色和开创性的视觉效果而闻名。 电影探讨了…

中国地形可调节高度-UE5-UE4

2000坐标系&#xff0c;可进行高度调整。 支持版本4.21-5.4版本 下载位置&#xff1a;https://mbd.pub/o/bread/ZpWZm5Zs

数据库基础语法二

一、数据库 1、登陆数据库 2、创建数据库zoo 3、修改数据库zoo字符集为gbk 4、选择当前数据库为zoo 5、查看创建数据库zoo信息 6、删除数据库zoo mysql -uroot -p #登陆数据库 create database zoo; #创建数据库zoo alter database zoo character set gbk collate gbk_…

rbac权限和多级请假设计的流程演示和前端页面实现

登录账号&#xff1a;t6普通用户 t7部门经理 m8总经理 密码都为&#xff1a;test 多级请假&#xff1a;7级及以下申请请假需要部门经理审核&#xff0c;若是请假时长超过72小时&#xff0c;则需要总经理审核&#xff0c;7级申请请将需要总经理审核&#xff0c;总经理请假自动审…

kubernetes删除命名空间下所有资源

kubernetes强制删除命名空间下所有资源 在 Kubernetes 中&#xff0c;当一个命名空间处于 Terminating 状态但不会完成删除过程时&#xff0c;通常是因为内部资源没有被正确清理。要强制删除这个命名空间及其所有资源&#xff0c;你可以采取以下步骤&#xff1a; 1. 确认命名空…

Linux应用(四)——系统IO函数

本节学习linux系统中常见的IO函数&#xff0c;讲解及其基本用法&#xff1b; 一、 open/close函数 open函数作用:系统调用open函数&#xff0c;打开指定路径的文件&#xff1b; int open(const char *pathname, int flags&#xff09;&#xff1b;打开一个存在的文件&#xff1…

OpenNJet,够轻更强云原生应用引擎

前言&#xff1a; 在正式介绍OpenNJet之前&#xff0c;我们先来看看它的技术架构&#xff0c;如下图所示&#xff0c;OpenNJet正是NGINX的Pro版&#xff0c;在100%兼容NGINX基础上&#xff0c;新增了动态配置加载、主动式健康检测、集群高可用、声明式API等多种强大功能。 NGIN…

第十一讲:指针(3)

第十一讲&#xff1a;指针&#xff08;3&#xff09; 1.字符指针变量1.1存储一个字符1.2存储一个字符串1.3一个有趣的面试题 2.数组指针变量2.1什么是数组指针变量2.2数组指针变量的初始化 3.二维数组传参的本质4.函数指针变量4.1介绍函数指针变量4.2 两段有趣的代码4.2.1代码1…

华为 Huawei 交换机 配置 Dot1q 终结子接口实现同设备 VLAN 间通信示例

组网需求 企业的不同部门拥有相同的业务&#xff0c;如上网、 VoIP 等业务&#xff0c;且各个部门中的用户位于不同的网段。目前存在不同的部门中相同的业务所属的VLAN 不相同&#xff0c;现需要实现不同VLAN中的用户相互通信。 如 图 7-7 所示&#xff0c;部门 1 和部门 2 中…

机器学习的一些知识点分享

下面数据集中&#xff0c;第2个样本的第4个属性的值是&#xff08; &#xff09;。 A 52 B 男 C 50 D 49 本题得分&#xff1a; 2分 正确答案&#xff1a; D 2.单选题 (2分) 10-折交叉验证是把数据集分成&#xff08; &#xff09;个子集&#xff0c;将其中&#xff…

好景盒式磁带随声听

少年时代柜子里翻出来的磁带录音机电路板 两颗芯片&#xff0c;FM芯片&#xff0c;电机驱动 CD9088CBD6650

第十三届蓝桥杯决赛(国赛)真题 Java C 组【原卷】

文章目录 发现宝藏试题 A: 斐波那契与 7试题 B: 小蓝做实验试题 C: 取模试题 D: 内存空间试题 E \mathrm{E} E : 斐波那契数组试题 F: 最大公约数试题 G: 交通信号试题 I: 打折试题 J: 宝石收集 发现宝藏 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#x…

VM虚假机联网(无代码,超简单)NAT模式

1、左边顶上编辑里面最下面找到虚拟网络编辑器2.启用管理员特权3.重新创建一个NAT模式的网络&#xff08;名称随便一个&#xff09; 4.打开这两个设置里面的东西进行拍照并记住IP区间和网关&#xff0c;等下要用&#xff1b; 5.打开虚拟机&#xff0c;右上角&#xff0c;下标点…

sql注入中的替换技巧。

目录 1&#xff1a;注释的替换 2&#xff1a;空格替换 3&#xff1a;大小写混合绕过及双写绕过 4&#xff1a;等号的绕过 5&#xff1a;单双引号的绕过 1&#xff1a;注释的替换 注释在sql注入中非常重要&#xff0c;因为会使用它来闭合我们注入的sql语句。 当以get方式提…

idea运行项目报错提示:java: 错误: 不支持发行版本 19,让我来看看

在项目经常切换jdk时&#xff0c;这个error经常能遇到“不支持发行版本19”&#xff0c;这个问题修改起来其实很简单&#xff0c;但在真正操作到能够解决问题的那一步前&#xff0c;通常习惯先去查看配置的jdk版本是否是选择正确的&#xff0c;也就是先确认当前这个项目选择的j…