20230403-Python数据类型转换-day2

发布时间 2023-04-03 23:45:42作者: xiao智

数据类型转换

4月3日-->

输出

作用:程序员输出给用户

# 输出 print
print("hello word")
格式输出

所谓的格式输出就是按照一定的格式是输出内容

格式化符号
格式符号 转换
%s 字符串
%d 整数
%f 浮点数
%u 无符号十进制整数
%o 八进制整数
%x 十六进制整数(小写OX)
%e 小数点后面六位有效数字,以指数形式输出实数
%g 根据大小自动选f格式或e格式,且不输出无意义的零
输出整数
number = 133144

# 打印整数 %d
print("打印整数: %d" % number)

# %o —— oct 八进制  了解
print("打印输出133144的八进制:%o"%number)

# %d —— dec 十进制
print("打印输出133144的十进制:%d"%number)

# %x —— hex 十六进制 了解
print("打印输出133144的十六进制:%x"%number)
输出字符串
number = 133144

# 字符串 %s
print("打印字符串: %s" % number)

# 字符输出格式化占位符 %10s和%+10s右对齐,占位符10位
print("向右对齐:%10s" % number1)

print("向右对齐:%+10s" % number1)

# 字符输出格式化占位符 %-10s和%+10s 左对齐,占位符10位
print("向左对齐:%-10s" % number1)

# 截取变量前3位字符串 %.3s 
print("截取3位字符:%10.3s" % number1)
输出浮点数
number1 = 175.8

#打印浮点数 %f
print("打印浮点数:%f" % number1)

# 打印浮点数保留2位小数
print("打印浮点数保留2为小数:%.2f" % number1)

# 科学计数法
print("打印科学计数法:%e" % number1)

# 保证3位小数
print("保证三位小数:%.3g" % number1)

练习

%06d,%.6d表示输出的整数显示位数,不⾜以0补全,超出当前位数则原样输出

%.2f,表示⼩数点后显示的⼩数位数。

age = 20
name = "yuwen"
weight = 65.6
heighet = 175
stu_id = 1

#输出字符串
print("我的名字叫:%s" % name)

#输出补0
print("我的学号为:%.3d" % stu_id)

#输出两位浮点小数
print("我的体重:%.2f公斤" % weight)

#联合输出
print("我叫%s,学号为%03d,身高%d,体重%.2f" % (name, stu_id, heighet, weight))

#整数可以添加运算符
print("我叫%s,学号为%.3d,身高%d,体重%.2f" % (name, stu_id, heighet + 2, weight))
format的用法

相对基本格式化输出采用‘%’的方法,format()功能更强大,该函数把字符串当成一个模板,通过传入的参数进行格式化,并且使用大括号‘{}’作为特殊字符代替‘%’ (Python2.6以后才支持)

age = 20
name = "yuwen"
weight = 65.6
heighet = 175
stu_id = 1

#使用fromat做索引
print("我叫{},学号为{},身高{},体重{}".format(name, stu_id, heighet, weight))

#索引从 0 开始数
print("我叫{0},今年{4},学号为{1},身高{2},体重{3}".format(name, stu_id, heighet, weight, age))

#附带关键字
print("大家好,我叫{name},今年{age},学号为{stu_id},身高{heighet},体重{weight}".format(name, stu_id, heighet, weight, age))

format的缩写

age = 20
name = "yuwen"
weight = 65.6
heighet = 175
stu_id = 1

#fromat 缩写 (f"{变量1},{变量2},{变量3}")
print(f"大家好,我叫{name},今年{age},学号为{stu_id},身高{heighet},体重{weight}"))
转义字符

\n :换⾏。

\t :制表符,⼀个tab键(4个空格)的距离。

\ : 续行符

\' : 单引号

\" : 双引号

# 换行 \n
print(f"大家好,我叫{name},\n今年{age},学号为{stu_id},\m身高{heighet},体重{weight}")

# tab 空四个字符
print(f"大家好,我叫{name},\t今年{age},\t学号为{stu_id},\t身高{heighet},\t体重{weight}")

# 续行 \
print(f"大家好,我叫{name},今年{age},学号为{stu_id},\
身高{heighet},体重{weight}")

# 转义 \"
print(f"大家好,我叫\"{name}\",今年{age},学号为{stu_id},身高{heighet},体重{weight}")

# 转义 \'
print("大家好我叫\'yuwen\'")
输入

在Python中,程序接收⽤户输⼊数据的功能即是输⼊

image

输入的语法
# input接收的内容是字符串
input("请输入密码")
输入的特点
  • 当程序执⾏到 input ,等待⽤户输⼊,输⼊完成之后才继续向下执⾏。
  • 在Python中, input 接收⽤户输⼊后,⼀般存储到变量,⽅便使⽤。
  • 在Python中, input 会把接收到的任意⽤户输⼊的数据都当做字符串处理
My_Name = input("输入你的名字:")

print("我的名字叫:", My_Name)

print(type(My_Name))
# <class 'str'>
数据类型的转化
  • 数据类型转换的必要性
  • 数据类型转换常⽤⽅法

image

奥特曼在打怪兽的时候,经常切换形态

  • 天上飞的:换蓝色
  • 地上跑的:换红色
  • 能飞能跑的:两个颜色都要有
转化数据类型的作用

问:input()接收⽤户输⼊的数据都是字符串类型,如果⽤户输⼊1,想得到整型该如何操作?

答:转换数据类型即可,即将字符串类型转换成整型。

函数 说明
int(x) 将x转化为整数
float(x) 将x转化为浮点数
str(x) 将x转化为字符串
eval(str) 将字符串中的数据转换成Python表达式原本类型
tuple(s ) 将序列 s 转换为⼀个元组
list(s ) 将序列 s 转换为⼀个列表
chr(x ) 将⼀个整数转换为⼀个Unicode字符
ord(x ) 将⼀个字符转换为它的ASCII整数值
hex(x ) 将⼀个整数转换为⼀个⼗六进制字符串
oct(x ) 将⼀个整数转换为⼀个⼋进制字符串
bin(x ) 将⼀个整数转换为⼀个⼆进制字符串

快速体验

# 1. 接收⽤户输⼊
num = input('请输⼊您的幸运数字:')

# 2. 打印结果
print(f"您的幸运数字是{num}")

# 3. 检测接收到的⽤户输⼊的数据类型 -- str类型
print(type(num))
# 4. 转换数据类型为整型 -- int类型
print(type(int(num)))

实例

# 转浮点型
num1 = 1
test1 = float(num1)
print(type(test1), "\t", test1)

# 转字符串类型
num2 = 2
test2 = str(num2)
print(type(test2), "\t", test2)

# 列表转元组
list1 = [1, 2, 3, 4, 5, 6]
list3="[1, 2, 3, 4, 5, 6]"
tuple1 = tuple(list1)
print(type(list1), "\t", tuple1)

# 列表转为字典
list2= set(list1)
print(type(list2),"\t",list2)

#扒去上衣
list_str=eval(list3)
print(type(list_str),list_str)

#实现一个字符串转,整数,输出保留两位小数的结果
Text_Float = input("请输入一个小数")
Text_int = int(float(Text_Float))
print("我输入的数字是:%.2f" % Text_int, type(Text_int))