【基础python】类型与赋值

发布时间:2024年01月02日

前言

本系列是适用于有一定的编程基础的同学快速上手python。

本文会结合C/C++,介绍python的特殊之处。

这个系列包括类型、循环、函数、字典与列表,文件操作。最后会以实操结尾。

常量与表达式

常量和表达式,python与大多数语言中一致。

例如数字1? 2? 3? 4 这种不可修改的就是常量

而 1+2? ? ? 5*3就是表达式

变量

与C/C++类似,Python也存在变量,变量的目的就是提前存储数据,方便后续适用

一个良好的变量名应该具有以下规则

  • 只能是数字、字母、下划线组成
  • 不能以数字开头 例如 :9py是不被允许的
  • 不能与关键字重复

变量类型

与C++不同,类型不需要显示的写

基本类型包括:int? float str bool

下面详细介绍一下:

int

整形

与C++不同,Python中的int数据的范围是没有上限

float

浮点型

与C++不同,python中没有double浮点数,python中的float就是双精度,等价于C++中的double

str

字符串

str取代char与string

字符串必须被双引号或者单引号或者三引号包括起来

这三种方法的任意一种都可以,当我们输入的字符串中本来就有双引号时,那么可以这样写

如果同时包含双引号,单引号就可以这样写

字符串操作(len? ?、+)

  • len(a)? 求出a的长度

  • 字符串拼接? a+b

bool

来源命题的真假 真是True 假是False

与C++的写法不同 首字母是大写的 ,用法基本一致。

类型的大小

int 默认4字节 可以动态增长

float 固定8字节

bool 一个字节

str是变长

在python中的类型是动态的!

绝大多数的编程语言都是静态。因此pyhon不需要对变量声明类型,直接拿来用即可。

可以在声明时候添加变量类型,比如在声明a时,添加上是int类型,这只是对编译器的一个建议,它依旧可以为float类型

在python中,给变量声明类型是锦上添花的做法,绝大多数,我们都不会去做。

注释

一个好的程序员会有良好的注释

注释的方法

注释一整行? #

对于# 我们通常会在需要标注语句的上方注释? ,也有小部分在语句结束的右方。不在语句的左方

文档字符串""" """

这是文档字符串俩种合理的做法

通过控制台的交互,可以实现用户的输入与输出

输出

普通输出 print()函数,在控制台上显示

格式化输出? ?f'? ?{ }? '? ?{}表示要替换的字符

具体用法如下

输入?

input()? ?括号中,可以输入提示字符串

注意input的返回值是字符串类型 如果需要进行运算,就要对返回值类型转化

常见转换

算术符号

算术运算符

+ 、-、 *、 /、%、**(乘幂)、//(地板除)

python中 /(除法)与C++不同? ?/得到的是带小数,而C++是向下取整的除法

// 是地板除法? 对于C++的/? 例如 7//3=2? ??

**幂方? ?例如 2**3? =8? ? 2**0.5=1.414213

%是求余??

其它操作均和C++一致 先幂后乘除 后加减 有括号先计算括号

关系运算符

<、<=、>、>=、==、!=这一系列的运算符与C++一致

不同的是 python支持? ?a<b<c这种写法

在python中,俩个字符串是可以直接通过 ==比较大小,类似C++的strcmp

浮点数不允许直接比较

正确比较方法是计算这俩个数的差值

逻辑运算符

and? ?or? ? not? ? 分别对应C++的? &&? ?||? ? !

逻辑与? 逻辑或 逻辑非

注意:
部分短路? ?如果and的左边第一个式子为假? ?右边的式子不会执行

? ? ? ? ? ? ? ? ?如果 or的第一个式子为真? ?第二个式子不会被执行

a<b and b<c? ?在python中可以表示为 a<b<c

赋值运算符

  • 链式赋值(不推荐)

a=b=c=10

  • 多元赋值

a,b=100,200

这个语句的结果 a=100? ?b=200?

在实现俩个数的交换时,不需要借助临时变量就能实现交换

  • 复合赋值

a=a+1是允许的,在python中a++是不允许? ?

++a是没有意义的,因为编译器会将++a理解为取俩次正号

同理减号类似


文章来源:https://blog.csdn.net/m0_73299809/article/details/135187479
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。