Python变量与数值类型

变量

用于存储数据的标识符,本质是内存地址的引用。

定义与赋值

  • 动态类型:Python无需声明变量类型,直接通过赋值(=)运算符,创建变量,解释器会自动推断数据类型
  • 多重赋值:使用等于号进行赋值。可以一行定义多个变量或多个变量赋相同的值。
python 复制代码
x=1,t=2,c=3
x=y=z=4

命名规则与规范

规则

  1. 只包含数字、字母、下划线。且不能以数字开头
  2. 不能使用Python关键字
  3. 区分大小写

规范

  1. 见名知意,避免使用单个字符
  2. 推荐使用小写字母加下划线的方式命名变量

注意

  1. 变量的本质是内存地址的引用而非数据容器如:
python 复制代码
a=10 #变量a指向存储100的内存地址
b=a	# 变量b与变量a指向同一个地址
  1. 引用未赋值的变量会引发报错(NameError)

整型与浮点型

整数(int)

表示没有小数点的数字,支持任意大小的数字(仅受内存的限制)。运算结果保持整型数据(除法会自动转换为浮点型数据)

浮点数(float)

标识带小数点的数字,采用IEEE 75双精度标准,存在精度限制,可以使用科学计数法(用e表示)如:"1.2e3=1200"

混合运算

整数与浮点数混合运算时会自动转换为浮点数

类型转换

  • int():将浮点数转换为整数,直接阶段小数部分(不进行四舍五入)如:a=3.5926 int(a) #a=3
  • float():将整数转换为小数,需要在后面补0。如:a=3 float(a) #a=3.0
  • 字符串转换:同样使用int()和float()转换,但是需要注意必须确保格式正确

注意

浮点数精度存在误差:由于二进制的存储限制,可能会出现0.1+0.2=0.30000000000000004的问题。若需要高精度的计算可以使用decmal模块或fractions模块

算术运算符

符号 名称 作用
+ 加法 加法运算
- 减法 减法运算
* 乘法 乘法运算
/ 除法 除法运算
// 整除运算 计算商,余省略
% 取模运算 取余
** 幂运算 幂数运算

优先顺序

括号>幂运算>乘除取模整除>加减

类型转换

数值类型转换

  • int(x):将x转换为整数类型,会截断小数部分
  • float(y):将y转换为浮点数类型

字符串转换

  • str(x):将其他类型转换为字符串
  • chr(x):将整数类型转换为对应的Unicode字符
  • ord(x):将字符转换为对应的Unicode编码

容器类型转换

  • list(s):将序列转换成列表
  • tuple(s):将序列转换成元组
  • set(s):将序列转换成集合(自动去重)
  • dict(d):将键值对转换为字典

布尔类型转换

bool(x):将其他类型转换为布尔值

空值(0,空字符串,None等)为False

非空值为True

标准输入input

Python内置函数,用于控制台读取用户的输入并发返回字符串类型数据

语法:input(prompt)

prompt:将其写入标准输出,末尾不换行

python 复制代码
# 标准输入input
nx=input("请输入你的年龄:")
print(f"你的年龄是{nx}")

练习

python 复制代码
# 计算圆的面积
import math
r=input("请输入圆的半径:")
s=math.pi*int(r)*int(r)
print(f"圆的面积是{s}")
相关推荐
Wang's Blog9 小时前
Java 项目实战: 交友项目 - FastDFS:入门案例
java·开发语言·交友
一只爱撸猫的程序猿9 小时前
我看着一个 AI 引擎在 14 天里,从"记忆"走进了"搜索"
人工智能·后端·架构
apcipot_rain10 小时前
C++转Java日记(03)
java·开发语言·c++
布莱克60510 小时前
C++ 中 map 的 insert 与 emplace:key 已存在时会覆盖吗?
开发语言·数据结构·c++·算法·map
xys_67810 小时前
深挖C++:类和对象(中)
开发语言·c++
灿飞屋10 小时前
Rust 编程其实很简单
开发语言·rust
陈随易11 小时前
纯 Go 写的 JS 引擎,跑分超过了 C 语言的 QuickJS
前端·后端·程序员
MOONICK12 小时前
QT元数据
开发语言·qt
卷无止境12 小时前
RAGFlow 项目全景报告:从文档解析引擎到 Agent 原生数据库
后端·python
D e re k ZH13 小时前
C++ 系统学习手记:从语法细节到工程实践
开发语言·数据结构·c++·算法