无字天书之Python第四页(变量基础)

在这里插入图片描述
本周第一更

传送门

无字天书之Python第一页
无字天书之Python第二页
无字天书之Python第三页

变量

不懂什么是变量的自己翻到第二页看了在来
在这里插入图片描述

变量基础

python相对于Java,定义变量还是有点不同: 无需声明,是直接在赋值的时候就完成了声明
所以在语法上面来说Python直接使用一个没有声明的对象会报错
在这里插入图片描述

# print(name); # 没有定义
# Traceback (most recent call last):
# File "E:/Python/DataType/four.py", line 3, in <module>
#   print(name)
# NameError: name 'name' is not defined

报错信息是name变量为定义,所以我们对name进行定义

# print(name); # 没有定义
# Traceback (most recent call last):
# File "E:/Python/DataType/four.py", line 3, in <module>
#   print(name)
# NameError: name 'name' is not defined

name='onlyK'
print(name);

也可以再次赋值,就会覆盖掉之前的值

name='onlyK'

name='再次赋值'
print(name);

在这里插入图片描述
存在业务场景,不需要这个变量了,Python也是提供了方法滴,但是再次打印会报错,和前面未定义一样的

name='onlyK'

name='再次赋值'
print(name);
# onlyK

# 变量删除
del name;
print(name)# 结果和没有定义一样的
# 结果
#Traceback (most recent call last):
#  File "E:/Python/DataType/four.py", line 15, in <module>
#    print(name)
#NameError: name 'name' is not defined

在这里插入图片描述

变量类型转换

存在业务场景:们的变量需要参加运算,如果变量类型不同会怎么样呢?
场景一
如果我们要使用一个字符串加上一个整形会怎么样呢?恭喜你:裂开

#如果我们要使用一个字符串加上一个整形会怎么样呢?
print('123' + 123)
# 打印结果
# Traceback (most recent call last):
#   File "E:/Python/DataType/four.py", line 25, in <module>
#     print('123'  + 123)
# TypeError: can only concatenate str (not "int") to str

在这里插入图片描述
含义:是告诉我们字符串只能连接一个字符串,并不能连接一个整形
解决方案:

将字符串强成整形,结果会是一个整形
将整形转成字符串,执行字符串拼接操作

当然,这里涉及到了类型强制转换。

float() 函数,将其他类型数据转为浮点数
str() 函数,将其他类型数据转为字符串
int() 函数,将其他类型数据转为整型

两种方案

print('123' + str(123))
# 结果132123
print(int('123') + 132)
# 结果255

在这里插入图片描述
涉及问题:浮点型和整形转换会有什么问题?

print(123.5 + 123)
# 结果246.5

结果变成浮点型

print(int(246.5))
print(int(246.6))
print(int(246.7))
print(int(246.8))
print(int(246.9))
# 结果246 可以看出强制类型降级时,会直接抹去末尾小数,这里并不会做四舍五入哦~~~

需要做到有四舍五入的方式
两种方法
第一种:加0.5就完事

# 想要使用四舍五入的方式
print(int(246.9 + 0.5))
# 结果 247

第二种:使用方法round()

# 第二种方法 round()
print(int(round(123.4)))
# 结果123
print(int(round(123.5)))
# 结果124

全部代码

# 无字天书第四页

# 变量基础
# print(name); # 没有定义
# Traceback (most recent call last):
# File "E:/Python/DataType/four.py", line 3, in <module>
#   print(name)
# NameError: name 'name' is not defined

# name='onlyK'
#
# name='再次赋值'
# print(name);
# 结果:onlyK

# 变量删除
# del name;
# print(name)# 结果和没有定义一样的
#Traceback (most recent call last):
#  File "E:/Python/DataType/four.py", line 15, in <module>
#    print(name)
#NameError: name 'name' is not defined

# 变量类型转换
#如果我们要使用一个字符串加上一个整形会怎么样呢?
# print('123' + 123)
# 打印结果
# Traceback (most recent call last):
#   File "E:/Python/DataType/four.py", line 25, in <module>
#     print('123'  + 123)
# TypeError: can only concatenate str (not "int") to str
# print('123' + str(123))
# # 结果132123
# print(int('123') + 132)
# # 结果255
# 连带问题 一个整形和一个浮点型加变成什么类型?
# 类型提升
print(123.5 + 123)
# 结果246.5
print(int(246.5))
print(int(246.6))
print(int(246.7))
print(int(246.8))
print(int(246.9))
# 结果246 可以看出强制类型降级时,会直接抹去末尾小数,这里并不会做四舍五入哦~~~
# 想要使用四舍五入的方式
print(int(246.9 + 0.5))
# 结果 247
# 第二种方法 round()
print(int(round(123.4)))
# 结果123
print(int(round(123.5)))
# 结果124
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值