python小白——进阶之路——day2天-———数据类型和Number类型和str字符串

时间:2023-12-17 10:29:02

### -python的六大标准数据类型
(1)Number 数字类型(int float bool complex)
(2)String 字符串类型
(3)List 列表类型
(4)Tuple 元组类型
(5)Set 集合类型
(6)Dict 字典类型

->(1)Number 数字类型分类
int : 整数类型 (正整数[各种进制] 负整数 0)
float: 浮点数类型 (1普通小数 2科学计数法表示的小数 例:a = 3e-5 #3e-05 )
bool: 布尔值类型 (真True和假False)
complex: 复数类型 (声明复数的2种方法) (复数用作于科学计算中,表示高精度的数据,科学家会使用)

### -自动类型转换

```
当2个不同类型的数据进行运算的时候,默认向更高精度转换
数据类型精度从低到高:bool int float complex
```
### -强制类型转换

```
-->Number 部分
int : 整型 浮点型 布尔类型 纯数字字符串
float: 整型 浮点型 布尔类型 纯数字字符串
complex: 整型 浮点型 布尔类型 纯数字字符串 (复数)
bool: ( 容器类型数据 / Number类型数据 都可以 )
```
```
-->容器类型部分
str: ( 容器类型数据 / Number类型数据 都可以 )
list: 字符串 列表 元组 集合 字典
tuple: 字符串 列表 元组 集合 字典
set: 字符串 列表 元组 集合 字典 (注意:相同的值,只会保留一份)
dict: 使用 二级列表 或 二级元组 (二级集合语法上不错,但是无序,不建议使用)

# ###Number (int)
# 整型 :(正整数 0 负整数)

# 二进制用0b表示
intvar = 0b1010
print(intvar)
print(type(intvar))
print(id(intvar))

# type 可以获取到变量的类型
# id 可以获取该变量所指向的那个值得地址

# 八进制用0o来表示
intvar = 0o127
print(intvar)
print(type(intvar))
print(id(intvar))

# 十六进制用0x来表示
intvar = 0xff
print(intvar)
print(type(intvar))
print(id(intvar))

intvar = 0
print(intvar,type(intvar))

intvar = -99
print(intvar,type(intvar))

# float 浮点型(小数类型)
# 表示方法一
floatvar = 3.14
print(floatvar,type(floatvar),id(floatvar))
# 表示方法二 (科学计数法)
floatvar = 5.88e-2
floatvar = 4.11e3
print(floatvar,type(floatvar),id(floatvar))

# bool 布尔类型 (True False)
boolvar = True
boolvar = False
print(boolvar,type(boolvar),id(boolvar))

a = 4.15
b = -4.15
print(id(a),id(b))

# complex 复数类型
'''
复数: 实数 + 虚数 组成的
j : 如果有一个数,他的平方等于-1,那么这个数就是j
科学家认为有。属于高精度的类型
'''
# 表示方法一
complexvar = 4+3j
complexvar = 4j
print(complexvar,type(complexvar),id(complexvar))

# 表示方法二
# complex(实数,虚数)
complexvar = complex(8,-3)
print(complexvar,type(complexvar),id(complexvar))

# ###字符串类型

# 用引号引起来的就是字符串 '' "" ''' '''

转义字符:

(1)将有意义的字符变得无意义

(2)将无意义的字符变得有意义

语法: \ + 某个字符

\n,\r\n: 代表换行

\t: 代表一个缩进 水平制表符

\r: 将\r后面的字符串拉倒当前行首

'''

# (1)单引号引起来的字符串

strvar = '今天天气有雾霾'

print(strvar,type(strvar),id(strvar))

# (2)双引号引起来的字符串

strvar = "小楼昨夜又东风"

strvar = "小楼昨'夜'又东风" # 外面是双引号,里面需要单引号,与注释的嵌套注意点相同

strvar = "故国不堪回首\n月明中"

strvar = "故国不堪回首\r\n月明中"

strvar = "故国不堪回首\t月明中"

strvar = "故国不堪\n回首\r月明中"

strvar = "故国不堪回\"首\"月明中"  # 将有意义的双引号变得无意义

print(strvar,type(strvar),id(strvar))

# (3)三引号引起来的字符串 (三引号字符串,支持跨行操作)

strvar = """

本来无一'物',

何处惹尘"埃"。

"""

# strvar = '''

# 床前明月光,

# 地上鞋两双

# '''

print(strvar)

# (4)元字符串 r + "字符串"  (让字符串里面的转义字符失效)

strvar = r"今天拉肚\r子\t了\n么?"

print(strvar)

# (5)字符串的格式化

"""

%d : 整型占位符

%f :浮点型占位符

%s :字符串占位符

语法: 字符串  %  (值1,值2,。。。。。)

"""

# %d

strvar = "xx昨天买了%d个娃娃"    %   (5)

print(strvar)

# %2d 站两个位置,默认居右

strvar = "xx昨天买了%2d个娃娃"   %   (5)

print(strvar)

# %-4d 站两个位置,默认居左

strvar = "xx昨天买了%-4d个娃娃"   %   (5)

print(strvar)

%f

小数点后默认精度保留6位

strvar = "华为出了一款折叠手机,价格为%f" % (9.99)

# %f 精确位数的时候,存在四舍五入

strvar = "华为出了一款折叠手机,价格为%.1f" % (9.99)

print(strvar)

%s

aa = "xxx是一个大帅锅"

strvar = "%s" % (aa)

print(strvar)

# 综合案例

strvar = "xx开工资了,一共%.2f ,看好了一辆车,价格%d元,心情在%s" % (9.99,10,"崩溃的边缘")

print(strvar)