【Python】变量、数据类型

目录

1、变量

2、数据类型

2.1 整型(int)

2.2 浮点数(float)

2.3 布尔类型(bool)

2.4 字符串(str)

字符串定义与简单操作

字符串索引

3、类型转换


1、变量

变量名 = 变量值,=左右都要有空格
python中是可以一行定义多个变量的

# 多个变量的值相同
num1 = num2 = num3 = 7

# 多个变量的值不同,元组赋值
a, b = 1, 2

变量修改时,不仅可以修改为同类型的,也可以修改为不同类型的

money = 10
print(money)
# 从整型修改成了字符串
money = '10元'
print(money)

python中的常量实际上是一个变量,只是会将其变量名大写,以表示这是常量,不要修改

# 圆周率
PI = 3.1415926
# 我的生日
MY_BIRTHDAY = '2022-9-9'

在python中定义变量是不需要指定类型的,我们可以使用type和isinstance来测试和判断数据类型

age = 10
name = 'hello'
print(type(age))
print(type(name))
print(isinstance(age, int))
print(isinstance(age, str))

2、数据类型

2.1 整型(int)

int表示整型

2.2 浮点数(float)

float表示浮点数

浮点数的运算可能会有四舍五入的误差,因为浮点数底层是使用二进制存储的,但误差非常小
 

n1 = 0.1
n2 = 0.2
print(n1 + n2)

结果是0.30000000000000004

可以使用round函数来获取更精确的值,round函数是用来进行四舍五入的

n1 = 0.1
n2 = 0.2
# round第一个参数是要进行四舍五入的值,第2个参数是要保留的位数
print(round(n1 + n2, 2))

结果是0.3

向上取整函数ceil与向下取整函数floor
这两个函数都在库math中,需要使用import来导入math库

import math
n1 = 15.36
n2 = 7.27
print(math.ceil(n1 + n2))
print(math.floor(n1 + n2))

结果是23 22

2.3 布尔类型(bool)

布尔类型的变量只有True、False

python中,能够解释为假的值有:None、0、0.0、False、所有的空容器(空列表、空元组、空字典、空集合、空字符串)

2.4 字符串(str)

字符串定义与简单操作

定义字符串的方式有

# 单引号定义字符串
str1 = 'hello'
# 定义空字符串
str2 = str()
# 双引号定义字符串
str3 = "world"
# 三引号字符串 多行字符串
str4 = '''hello
world'''
str5 = """hello
2024"""

定义一个有'的字符串

str1 = "It's a hat"  # 使用""
str2 = 'It\'s a hat'  # 使用转义字符

转义字符就是针对一些有特殊含义的字符,加了转义字符后,让编译器将它看成是普通字符
如果字符串中有”,也可以像上面一样两种方式,若一个字符串中既有"也有'。就只能加转义字符

字符串相加(拼接)

str1 = 'hello'
str2 = "world"
str3 = "2024"
print(str1 + str2 + str3)

结果是helloworld2024

字符串相乘

str1 = 'hello'
print(str1 * 3)
print(3 * str1)
print('@' * 7)

结果是
hellohellohello
hellohellohello
@@@@@@@

注意:字符串不能和整数相加,要先类型转换

字符串索引

字符串下标可以正着数从0开始,也可以倒着数从-1开始

str1 = 'hello'
print(str1[0], str1[-2])

结果是h l

字符串切片:一次获取字符串的多个字符

str1 = 'hello,world'
print(str1[0:4])    # 第一个参数是起始索引,默认是0,可不写
print(str1[0:9:1])  # 第二个参数是结束索引,默认是-1,可不写
print(str1[0:9:2])  # 第三个参数是指隔几个字符取一个。默认是1,可不写

 是左闭右开的,结果是
hell
hello,wor
hlowr

字符串反转(利用切片)

str1 = '123456789'
print(str1[-1:-10:-1])
print(str1[::-1])

结果是987654321
利用切片来完成字符串反转不要使用正数的索引,1的下标是-9,结束索引就到-10,都让第二种更简单

3、类型转换

其他类型转换为整型

# 转换为整型
# str -> int,str必须为纯数字才能转,并且str中有小数点也不行
print(int(str("123")))
# 浮点数可以直接转int,bool也一样
print(int(77.7))
print(int(True))  # True转为1,False转为0

int()后面的基数是指将x当作几进制的数 

# 将字符串'10'当成1个二进制的数,来转化成十进制,结果是2
print(int('10', 2))

其他类型转换为浮点型

# str -> float,str中必须为纯数字,并且有无小数点均可
print(float("123.456"))
# int可直接转为float,bool也一样
print(float(77))
print(float(True))  # True转为1.0,False转为0.0

其他类型转换为布尔类型

# str -> bool,str不为空就是True
print(bool("asd"))
# int -> bool,int不为0就是True,float与int是类似的
print(bool(1))
print(bool(0.0))

其他类型转换为字符串类型

# int和float直接转
print(str(123))
# bool -> str是'True'、'False'
print(str(True))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值