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(牢记)

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL 通过 systemd 启动时 hang 住了……

mysqld&#xff1a;哥&#xff0c;我起不来了…… 作者&#xff1a;贲绍华&#xff0c;爱可生研发中心工程师&#xff0c;负责项目的需求与维护工作。其他身份&#xff1a;柯基铲屎官。 爱可生开源社区出品&#xff0c;原创内容未经授权不得随意使用&#xff0c;转载请联系小编…

谈基于ATTCK框架的攻击链溯源

引言 网络安全在当今数字化时代变得尤为关键&#xff0c;而MITRE公司开发的ATT&CK框架则成为了安全专业人员的重要工具。ATT&CK是一种广泛使用的攻击行为分类和描述框架。其目的在于提供一个共同的语言&#xff0c;使安全专业人员能够更好地理解攻击者的行为和目标&…

【NPM】Nginx Proxy Manager 一键申请 SSL 证书,自动续期,解决阿里云SSL免费证书每3个月失效问题

文章目录 1、NPM 简介2、实战Step 1&#xff1a;环境搭建 也可以看作者安装笔记 Step 2&#xff1a;创建容器 2.1 在系统任意位置创建一个文件夹&#xff0c;此文档以~/nginx-proxy-manager为例。2.2 创建docker-compose.yaml2.3 启动NPM服务 Step 3&#xff1a;配置反向代理3…

PyTorch 图像篇

计算机视觉技术是一门包括计算机科学与工程、神经生理学、物理学、信号处理、认知科学、应用数学与统计等多学科的综合性科学技术&#xff0c; 是人工智能的一个重要分支&#xff0c; 目前在智能安防、自动驾驶汽车、医疗保健、生成制造等领域具有重要的应用价值。 计算机视觉…

网络编程--tcp三次握手四次挥手

1、三次握手 &#xff08;1&#xff09;三次握手的详述 首先Client端发送连接请求报文&#xff0c;Server段接受连接后回复ACK报文&#xff0c;并为这次连接分配资源。Client端接收到ACK报文后也向Server段发生ACK报文&#xff0c;并分配资源&#xff0c;这样TCP连接就建立了。…

图片转图标(ICO)的工具软件

目前常用的ICO转换方式大多都是网页在线转换&#xff0c;没网就无法使用了。自己编写了一款小软件&#xff0c;可以将各种格式图片转为ICO图标。 目前支持PNG,BMP,JPG,JPEG,GIF等格式的图片转换成ICO&#xff0c;支持的尺寸有常用的16*16&#xff0c;24*24&#xff0c;32*32&am…

信息与未来2017真题笔记

T1. 龟兔赛跑 题目描述 兔子又来找乌龟赛跑啦&#xff01;同样的错误兔子不会犯两次&#xff0c;所以兔子提出赛跑的时候&#xff0c;乌龟就觉得这场比赛很不公平。于是兔子进一步放宽了条件&#xff0c;表示他可以在比赛开始以后先睡 t t t 分钟再开始追乌龟。 乌龟这下没…

【mysql】主从同步时出错,如何恢复同步

mysql主从同步出错&#xff0c;这个时候从服务器会停止同步服务&#xff0c;等待人工恢复&#xff0c;此时有多种方法来解决。 一、查看状态 在从服务器&#xff0c;登陆mysql&#xff0c;查询从服务器的状态&#xff1a; 从服务器mysql> show slave status\G 图1 可以看…

jenkins持续集成框架

1 什么是jenkins Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具&#xff0c;起源于Hudson&#xff08;Hudson是商用的&#xff09;&#xff0c;主要用于持续、自动的构建/测试软件项目、监控外部任务的运行&#xff08;这个比较抽象&#xff0c;暂且写上&#xff0…

并发控制互斥笔记

整理总结自蒋炎岩老师的b站课程&#xff0c;https://jyywiki.cn/OS/2022/index.html 多处理器系统中数据的一致性和互斥访问 所有的CPU的一级缓存都是连着的&#xff0c;如果是多个CPU的话&#xff0c;用在内存中放置标志位&#xff0c;来保证对当前内容的原子性读取&#xff0…

k8s 理论知识基本介绍

目录 一 k8s 理论前言 &#xff08;一&#xff09;微服务是什么 1&#xff0c;应用场景 2&#xff0c;API 是什么 &#xff08;二&#xff09;&#xff0c;微服务 如何做版本迭代 1. Docker镜像构建 2. 版本标记 3. Docker Registry 4. 环境一致性 5. 滚动更新…

mysql NDBcluster数据库集群介绍、部署及配置

前言: MySQL集群是一个无共享的、分布式节点架构的存储方案,旨在提供容错性和高性能。它由三个主要节点组成:管理节点(MGM)、数据节点和SQL节点。 管理节点(MGM) 定义与用途:管理节点是MySQL Cluster的控制中心,负责管理集群内的其他节点。它提供配置数据,启动和停止…