乐之之

知而行乐,乐而行之,天道酬勤,学无止境。
数据类型转化

一、输出

  • 作用:将所写程序里的内容输出给用户

实例

1 name = "张三"
2 print(name)

(一)格式化输出

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

(二)格式化符号

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

1、整数的输出

  • %d 输出 整数
1 age = 18
2 print("整数为:%d"%age)
  • 丢进去一个整数,那么整数正常输出
  • 丢进去一个小数,那么他会输出整数位
weigth = 75.7
print("体重为:%d"%weigth)

 

小结:将丢进去的变量当作整数输出,不过%d 不能丢进去字符串变量名,会产生报错。

2、浮点数的输出

  • %f    输出浮点数(%f会自动显示数值的小数点后6位)
weigth = 75.7
print("体重为:%f"%weigth)

-------------
体重为:75.700000
  • 想要不显示后六位可在%f中间加上.1,即%.1f
weigth = 75.7
print("体重为:%.1f"%weigth)

--------------------
体重为:75.7
  • 丢进去一个小数,那么小数正常输出
  • 丢进去一个整数,那么他会输出浮点数
weigth = 75
print("体重为:%f"%weigth)


------------------------
体重为:75.000000

3、字符串的输出

  • %s 输出 字符串
name = "张三"
print("我的名字是:%s"%name)

----------------------------
我的名字是:张三
  • 将丢进去的变量当作字符串输出

4、format的用法

  • 根据位置传递进字符串内相应位置所想要表示的值
name = "张三"
age = 18
love = "打游戏"
print("大家好,我叫小明,今年18岁了,我喜欢打游戏")
# 根据位置传递
print("大家好,我叫{},今年{}岁了,我喜欢{}".format(name,age,love))

--------------------------
大家好,我叫张三,今年18岁了,我喜欢打游戏 大家好,我叫张三,今年18岁了,我喜欢打游戏
  • 不能打乱format里的顺序。不然就会像下面所示一样乱糟糟。
name = "张三"
age = 18
love = "打游戏"
print("大家好,我叫{},今年{}岁了,我喜欢{}".format(age,love,name))

--------------------------
大家好,我叫18,今年打游戏岁了,我喜欢张三
  • 若想要打乱顺序进行输出,有以下三种方法。

(1)索引值传递的方法,在大括号里输入索引值。

name = "张三"
age = 18
love = "打游戏"
print("大家好,我叫{2},今年{0}岁了,我喜欢{1}".format(age,love,name))

-------------------------------
大家好,我叫张三,今年18岁了,我喜欢打游戏

(2)根据关键字传递。

name = "张三"
age = 18
love = "打游戏"
print("大家好,我叫{a},今年{b}岁了,我喜欢{c}".format(b=age,c=love,a=name))

---------------------------------
大家好,我叫张三,今年18岁了,我喜欢打游戏

(3)f"xxx{}xxx"

  • 在字符串前面加上f以达到格式化的目的,在{}里加入对象。
name = "张三"
age = 18
love = "打游戏"
print(f"大家好,我是{name},今年{age}岁了,喜欢{love}")

-----------------------------------------------

大家好,我叫张三,今年18岁了,我喜欢打游戏

(三)转义字符

1、\n : 换行。

print("大家好,\n我是张三,\n我爱打游戏")

----------------------
大家好,
我是张三,
我爱打游戏

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

print("大家好,\t我是张三,\t我爱打游戏")

----------------------------
大家好,    我是张三,    我爱打游戏

3、\   : 续航符。

a = "大家好我是张三"\
    "我喜欢打游戏,没对象"
print(a)

------------------------------
大家好我是张三我喜欢打游戏,没对象

4、\'  : 单引号。

print("大家好我是\'张三\'我喜欢打游戏,没对象")

------------------------------------
大家好我是'张三'我喜欢打游戏,没对象

5、\"  : 双引号。

print("大家好我是\"张三\"我喜欢打游戏,没对象")

-------------------------------------
大家好我是"张三"我喜欢打游戏,没对象

 

二、输入

  • 在Python中,程序接收用户输入数据的功能即是输入

(一)输入的语法

  • 注意,input接收的内容是字符串
input("请输入密码”)

 

(二)输入的特点

  • 当程序执行到input,等待用户输入,输入完成之后才继续向下执行。
  • 在Python中,input接收用户输入后,一般存储到变量,方便使用。
  • 在Python中,input会把接收到的任意用户输入的数据都当做字符串处理。
a = input("请输入您的ID:")
print(f"{a}欢迎来到英雄联盟!")

print(type(a))

-------------------------
# <class 'str'>

三、数据类型的转化

(一)转化数据类型的作用

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

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

1 a = input("请输入一个数字:")
2 b = eval(a)
3 print("整数为:%d"%b)

------------------
整数为: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、float(x)          转化为浮点数

a = 1
print(type(a))
print(float(a))
print(type(float(a)))

--------------------
<class 'int'>
1.0
<class 'float'>

2、str(x)           转化为字符串

b = 10
print(b)
print(str(b))
print(type(str(b)))

-------------------------
10
10
<class 'str'>

3、tuple(x)       将一个列表转化为一个元组

list1 = [10,20,30]
print(type(list1))
print(tuple(list1))
print(type(tuple(list1)))

--------------------------
<class 'list'>
(10, 20, 30)
<class 'tuple'>

4、list(x)          将一个元组转化为一个列表

t1 = (100,200,300)
print(type(t1))
print(list(t1))
print(type(list(t1)))

--------------------------
<class 'tuple'>
[100, 200, 300]
<class 'list'>
  • 列表和元组可以相互转化,字典不能转化。且列表和元组不能只有一个。

5、eval(str)        将字符串中的数据转化成Python表达式原本类型

str1 = '10'
str2 = '[1,2,3]'
str3 = '(1000,2000,3000)'
print(eval(str1))
print(type(eval(str1)))

print(eval(str2))
print(type(eval(str2)))

print(eval(str3))
print(type(eval(str3)))

----------------------------
10
<class 'int'>
[1, 2, 3]
<class 'list'>
(1000, 2000, 3000)
<class 'tuple'>

 

posted on 2022-09-25 15:19  乐之之  阅读(49)  评论(0编辑  收藏  举报