2 python数据类型的转换
一、input( ):输入函数
- input():是内置函数,用来获取用户输入,返回值为字符串
name = input("请输入你的姓名:")
print(name,type(name))
#输出:请输入你的姓名:yaya
#输出:yaya <class 'str'>
从运行来看,input()需要等待用户输入,按Enter键后执行下面的print()语句,并且可以看到name的数据类型为字符串。
2.阻塞或暂停程序
用户未按Enter键时,程序停止不动,一直等待用户操作
二、print( ):输入函数
1.print( )格式
print ( [object,···] [,sep=’ ‘] [,end=’\n’] )
说明:
(1)[ ]中的内容是可选的,可以省略,如省略则取系统的默认值。
(2)object是输出的对象,可以是常量,变量或表达式等。
(3)sep后面的空格(可以指定其他的字符)表示每个输出对象之间的分隔符,如果缺省的话,默认值是一个单个的空格。
(4)end后面的字符串含义为文本尾的一个字符串,默认为**\n换行符**
#换行输出
print("hello")
print("world")
#输出:hello
# world
#不换行输出end参数
print("hello",end=" ")
print("world")
#输出:hello world
#分隔符参数设置
print("hello","world") #输出hello world
print("hello","world",sep="+") #输出hello+world
2.格式化输出:
2.1 %格式化输出:数据库输出
符号 | 描述 |
---|---|
%c | 格式化字符及其ASCII码 |
%s | 格式化字符串 |
%d | 格式化整数 |
%u | 格式化无符号整数 |
%o | 格式化无符号八进制数 |
%x | 格式化无符号十六进制数 |
%X | 格式化无符号十六进制数(大写) |
%f | 格式化浮点数字,可以指定小数点后的精度 |
%e | 用科学计数法格式化浮点数字 |
%E | 作用同%e,用科学计数法格式化浮点数字 |
%g | %f和%e的简写 |
%G | %f和%E的简写 |
%p | 十六进制数格式化变量的地址 |
# %s格式化字符串
# %d格式化整数
# %f格式化浮点数
print("我叫%s 今年%d岁"%('yaya',18))#注意引号和%之间没有任何字符,输出:我叫yaya 今年18岁
numer=178.56
print("我的身高是:%f"%numer) #输出:我的身高是178.560000,%f为六位有效数字
print("我的身高是:%.3f"%numer)#输出:我的身高是178.560
print("我的身高是:%.2f"%numer)#输出:我的身高是178.56
print("我的身高是:%.1f"%numer)#输出:我的身高是178.6,默认四舍五入
2.2 format函数输出:平常使用都可
相对于基本格式化输出采用’%‘的方式,format( ) 功能更强大,该函数把字符串当成一个模板,通过传入的参数进行格式化,并且使用大括号‘{ }’作为特殊字符代替’%'。
name="丫丫"
age=18
hobby="弹琴"
#1.不带编号
print("大家好,我是{},今年{}岁,喜欢{}".format(name,age,hobby))#输出大家好,我是丫丫,今年18岁,喜欢弹琴
#2.带数字编号
print("大家好,我是{2},今年{0}岁,喜欢{1}".format(age,hobby,name))#数字为后面的参数的顺序,输出大家好,我是丫丫,今年18岁,喜欢弹琴
#3.附带关键字
print("大家好,我是{Name},今年{age}岁,喜欢{hobby}".format(age=age,Name=name,hobby=hobby))#输出大家好,我是丫丫,今年18岁,喜欢弹琴
2.3 f 表达式:python3.6后使用最多
在字符串前面加上f表达式以达到格式化的目的,在{ }里加入对象,此为format的另一种形式。
name="丫丫"
age=18
hobby="弹琴"
print("大家好,我是{name},今年{age}岁,喜欢{hobby}")#输出:大家好,我是{name},今年{age}岁,喜欢{hobby}
print(f"大家好,我是{name},今年{age}岁,喜欢{hobby}")#输出:大家好,我是丫丫,今年18岁,喜欢弹琴
三、数据类型之间的转换
函数 | 说明 |
---|---|
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) | 将一个整数转换为一个二进制字符串 |
a=123.123
b=123
print(int(a))#输出:123
print(float(b))#输出:123.0
print(str(a))#输出:123.123
print(type(int(a)),type(float(b)),type(str(a))) #输出:<class 'int'> <class 'float'> <class 'str'>
c="1+2"
print(c,eval(c))#输出1+2 3