python格式化输出类型_python的数据类型及格式化输出

dd = float("inf") # dd表示正无穷 ff = float('-inf') # ff表示负无穷

一、数据类型

python3中,有六个标准的数据类型:

number 数字

string 字符串

list 列表

tuple 元组

sets 集合

dictionary 字典

此外还有 布尔值类型、时间类型。

关系测试: 关键字 in 判断某个字符是否在字符串中;也可以判断某个元素(或key)是否在列表、元组、集合、字典等中。

1、 数字number

Python3 支持 int、float、bool、complex(复数)。

在Python 3里,整数类型只有 int,即 不区分长整型和整型;

可以用type来查看类型,或者用isinstance来判断数字类型:

>>>a=111

>>>isinstance(a,int)

True

数字类型转换:

int(x [,base]) 将x转换为一个整数

float(x ) 将x转换到一个浮点数

complex(real [,imag]) 创建一个复数

str(x) 将对象x转换为字符串

repr(x) 将对象x转换为表达式字符串

eval(str) 用来计算在字符串中的有效Python表达式,并返回一个对象

tuple(s) 将序列s转换为一个元组

list(s) 将序列s转换为一个列表

chr(x) 将一个整数转换为一个字符(ASCII码的十进制数字转换为字符)

unichr(x) 将一个整数转换为Unicode字符

ord(x) 将一个字符转换为它的整数值(字符转换为ASCII的十进制数字)

hex(x) 将一个整数转换为一个十六进制字符串

oct(x) 将一个整数转换为一个八进制字符串

数学函数:

下面的math是math模块;

abs(x) 返回数字的绝对值,如abs(-10) 返回 10

ceil(x) 返回数字的上入整数,如math.ceil(4.1) 返回 5

cmp(x, y) 如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1

exp(x) 返回e的x次幂(ex),如math.exp(1) 返回2.718281828459045。e是一个常数为2.71828

fabs(x) 返回数字的绝对值,如math.fabs(-10) 返回10.0

floor(x) 返回数字的下舍整数,如math.floor(4.9)返回 4

log(x) 如math.log(math.e)返回1.0,math.log(100,10)返回2.0

log10(x) 返回以10为基数的x的对数,如math.log10(100)返回 2.0

max(x1, x2,...) 返回给定参数的最大值,参数可以为序列。

min(x1, x2,...) 返回给定参数的最小值,参数可以为序列。

modf(x) 返回x的整数部分与小数部分,两部分的数值符号与x相同,整数部分以浮点型表示。

pow(x, y) x**y 运算后的值。

round(x [,n]) 返回浮点数x的四舍五入值,如给出n值,则代表舍入到小数点后的位数。

sqrt(x) 返回数字x的平方根,数字可以为负数,返回类型为实数,如math.sqrt(4)返回 2+0j

2、 字符串 string

Python中的字符串用单引号(')或双引号(")或三引号(''')括起来,同时使用反斜杠()转义特殊字符。

字符串的截取的语法格式如下:

变量[头下标:尾下标]    要头不要尾

如:

a="wjzwz"

print(a[2:4]) #结果为 zw

print(a[2:]) #从第三个到最后

print(a[0]) #打印第一个

print(a[2:-1]) #打印第三个到倒数第二个字符

print(a[2::-1]) # 从第三个开始,-1表示从右往左取值,一个一个取。如果是-2表示从右往左,每隔一个取一个

print(a + "wjk") # 拼接字符串,以后拼接字符串更多的用字符串的join方法

注意:字符串的编码问题。见python的编码问题章节;

3、 列表list

List(列表) 是 Python 中使用最频繁的数据类型。

列表可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套)。列表是写在方括号([])之间、用逗号分隔开的元素列表。和字符串一样,列表同样可以被索引和截取,列表被截取后返回一个包含所需元素的新列表。

列表截取的语法格式如下:

变量[头下标:尾下标]    索引值以 0 为开始值,-1 为从末尾的开始位置。

加号(+)是列表连接运算符,星号(*)是重复操作。

此外,List内置了有很多方法: 见列表的内置函数章节。

4、 元组tuple

元组(tuple)与列表类似,不同之处在于元组的元素不能修改。元组写在小括号()里,元素之间用逗号隔开。元组中元素类型可以不相同。

元组可以看做是不可修改的列表(list)。元组也可以进行切片和索引。虽然元组不可变,但是它可以包含可变的对象,如列表。

string、list和tuple都属于sequence(序列)。当元组中只有一个元素时,也要有逗号,如: tuple=(20,)

数学函数:

cmp(tuple1, tuple2) #比较两个元组元素。这个函数是python2的函数。python3中没有

len(tuple) #计算元组元素个数。

max(tuple) #返回元组中元素最大值。

min(tuple) #返回元组中元素最小值。

tuple(seq) #将列表转换为元组。

注:这里元组也可以是列表。

5、 集合set

集合(set)是一个无序不重复元素的序列。基本功能是进行成员关系测试和删除重复元素。

可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

创建格式:

parame = {value01,value02,...} 或者 set(value)

举例:

#!/usr/bin/env python3

student = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'}

print(student) # 输出集合,重复的元素被自动去掉

# 成员测试

if('Rose' in student) :

print('Rose 在集合中')

else :

print('Rose 不在集合中')

# set可以进行集合运算

a = set('abracadabra')

b = set('alacazam')

print(a) # 打印 set(['a', 'r', 'b', 'c', 'd'])

print(a - b) # a和b的差集,打印 set(['r', 'b', 'd'])

print(a | b) # a和b的并集,打印 set(['a', 'c', 'b', 'd', 'm', 'l', 'r', 'z'])

print(a & b) # a和b的交集,打印 set(['a', 'c'])

print(a ^ b) # a和b中不同时存在的元素,打印 set(['b', 'd', 'm', 'l', 'r', 'z'])

6、 字典dictionary

字典(dictionary)是Python中另一个非常有用的内置数据类型。

列表是有序的对象结合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

字典是一种映射类型,字典用"{ }"标识,它是一个无序的键(key) : 值(value)对集合。

键(key)必须使用不可变类型。在同一个字典中,键(key)必须是唯一的。

另外,字典类型也有一些内置的函数,例如clear()、keys()、values()等。

注意:

1、字典是一种映射类型,它的元素是键值对。

2、字典的关键字必须为不可变类型,且不能重复。

3、创建空字典使用 { }。

字典的增删改查:

dict = {'name': 'Zara', 'age': 7, 'class': 'First'};

dict["age"]=27; #修改已有键的值

dict["school"]="wutong"; #增加新的键/值对

del dict['name']; # 删除键是'name'的条目

dict.clear(); # 清空词典所有条目

del dict ; # 删除词典,del也可以删除任何变量,如列表、元组、字符串等等对象;

函数对字典的操作:

len(dict) 计算字典元素个数,即键的总数。

str(dict) 输出字典可打印的字符串表示。

type(dict) 返回输入的变量类型,如果变量是字典就返回字典类型。

字典的内置函数(python3):见字典内置函数章节。 补充一个python2的内置方法:

radiansdict.has_key(key) 如果键在字典dict里返回true,否则返回false

字典可以嵌套,即字典中key对应的value可以是一个字典等任意对象。

7、布尔值

任何非零数字或非空对象都为真;

数字零、空对象以及特殊对象None都被认作是假;

比较和相等测试会递归地应用在数据结构中;

比较和相等测试会返回True或False(1和0的特殊版本);

布尔and和or运算符会返回真或假的操作对象;

逻辑运算遵循短路原则,见运算符章节的逻辑运算部分。

二、格式化输出

在python中,字符串的格式化输出,一般都是使用占位符实现。

如下:

name = input("input your name:")

age = input("input your age:")

if age.isdigit():

age = int(age)

else:

print("must input digit")

exit() #这两句可以合并为 exit("must input digit")

msg='''------------ info of %s ---------

Name: %s

age: %s

''' %(name,name,age) # 这里的%s为占位符

print(msg)

格式化占位符:

%s 打印字符串 print ("His name is %s"%("wj"))

%d 打印整数 print ("He is %d years old"%(25))

%f 打印浮点数,默认精度为保留6位小数 print ("His height is %f m"%(1.71))

%.2f 打印浮点数(指定保留小数点位数) print ("His height is %.2f m"%(1.71))

%8d 指定占位符宽度,前面加空格补充 print ("Name:%10s Age:%8d Height:%8.2f"%("wj",25,1.71))

%-10s指定占位符宽度(左对齐) print ("Name:%-10s Age:%-8d Height:%-8.2f"%("wj",25,1.71))

%08d 指定占位符(用0当占位符补充;8前面的0,如果没有,默认是空格) print ("Name:%-10s Age:%08d Height:%08.2f"%("wj",25,1.71))

另外,格式化输出,可以使用字符串的内置方法format方法。见字符串内置方法章节format方法。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值