本站所有文章均为原创,如对您有帮助,恳请帮忙点击任何一处广告
  • 首页
  • Python
  • Python基础教程(3)Python数据类型、运算与格式化

Python基础教程(3)Python数据类型、运算与格式化

发布:TangLu2019-12-12 14:36分类: Python 标签: python python3

一、Python的数据类型

主要分为了数字型和非数字型两个大类,其中数字型又包含整形(int)、浮点型(float)、布尔型(bool),而非数字分为字符串(str)、列表(list)、元组(tuple)、字典(dictionary)。非数字类型里除了字符串,其他类型又都属于数据集合,可以存放多个数据

数据类型.png


二、Python数字型数据介绍

1、整型(int):正整数和负整数,不带小数点。比如100、-1,整型数据可参与运算。只有一个bit_length()方法。

num1 = 100
print ((type)num1)
num2 = -15
print ((type)num2)


2、浮点型(float):有小数点的数据,如3.1415

num1 = 3.14
print ((type)num2)   #显示为float类型


3、布尔型(bool):特殊的整型,True为1,False为0,通常在程序中用来做判断。没有内置函数


三、Python非数字型数据介绍

1、字符串型(str):用引号括起来的都属于字符串,单引号双引号都可以,如"你好"、"linuxe"、'3'。数字可以是字符串类型,但不可参与运算;通过注释的方式可以将文本格式化输出,类似Shell中的EOF;如果想打印引号本身使用反斜线\进行转义;字符串支持+和*进行运算,只不过+的作用是连接2个字符串,而*是字符串的次数。字符串常用方法可以参考Python常用方法——字符串常用方法

print(19+"1")  #会报错
name = """wo shi tanglu
                wo shi tanglu
woshi tanglu
"""


2、列表list:存放了一组有序、可变的数据集合,用中括号表示列表,每个元素用逗号分割,列表支持多种数据与多层嵌套。列表的常用方法可以参考Python常用方法——列表常用方法

list01 = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
# 下标     0   1   2   3   4   5   6   7   8    9
# 反序    -10 -9  -8  -7  -6  -5  -4  -3  -2   -1

print(list01[0])  # 访问第一个元素
print(list01[-1])  # 访问最后一个元素
print(list01[3:])
print(list01[:3])  # 从第一个元素到下标为3-1的元素
print(list01[3:8])  # 从第3个元素开始到下标为8-1的元素结束
print(list01[-3:])  # 每次递增1个
print(list01[:-3])  # 从第一个元素开始到-3-1的元素结束
print(list01[-3:-8]) # 每次递增1个
print(list01[-3:-8:-1]) #从-3开始到-8-(-1)=-8+1=-7

name = ["tanglu","tom","jerry"]
print (name[0])  #输出结果是tanglu
print (name[-1])  #-1代表最后一个元素,输出jerry

name[0] = 'Tanglu'  #修改列表中第一个元素
del name[1]  #删除列表中索引为1的元素

#列表嵌套与元素获取,如果使用下标并带有冒号,那么获取的数据依然是列表的形式,否则为字符串
test_list = ["周润发", "周星驰", "周笔畅", "周公瑾", ["九品芝麻官", ["吴孟达", "alex", "林雪"],"算死草", "赌侠", "赌圣", "整蛊专家"]]
print (test_list[4][1][0])  #结果是吴孟达


3、元组tuple:一种有序的集合,但是无法对其中的元素做修改可以看作是只读的列表。用小括号表示元组,如果只有一个元素的话需要加逗号来表示。如果已经明确数据不会发生变化的话,推荐使用元组类型的数据。

tuple = (1,2,3,'linuxe')
tuple2 = (1,)  #只有一个元素的元组结尾需要加逗号
tuple3=tuple(list1)  #使用tuple()将列表转为元组


4、字典dict/哈希表:无序,大量的关系型数据存放在字典中,查找速度快于列表,字典以键值形式存储数据,查找或者添加元素时使用的是key,而不是下标,这有点像Redis中的Hash数据

info = {'name':'tanglu','age':'18'}  #如果键已存在会更新,不存在则创建
info["id"] = "1"  #添加或者修改一个元素
print (info['name'])  #输出tanglu
print (info.keys())  #使用key函数获取字典中所有的key
print (info.values())  #values函数获取所有值
print (info.items())  #items函数获取所有键值
#示例,结合items()遍历字典中并传送给2个变量
for key,value in dict1.items():
  if value >90:
    print (key)

5、集合和字典定义方式一样使用花括号,但是不用写value。元素不能重复,如果有重复元素会被删掉。


使用type()函数查看数据类型:

a = 3
print (type(a))


四、Python的数学运算与逻辑运算。需要留意各种运算符的优先级,算数运算符>比较运算符>等于运算符>逻辑运算符

#算术运算符:加减乘除取余取模
print (3+5)
print (5-1)
print (3*4)
print (12/4)
print (10//3)  #商数取整,这里就是3
print (13%4)  #取余数.这里就是1

#赋值运算符:+=、-=等,会把结果赋值给变量
b=2
a=3
b+=a  #结果为5,等值于b=b+a

#比较运算符:==、!=、>、<、>=、<=,返回结果为布尔值

#逻辑运算符:and、or、not,运算顺序优先级是( ) > not > and > or
print (2>3 and 4<6)  #and需要所有条件为真,所以这里输出为False
print (10<6 or 9>7 or 5>9)  #有一个条件为真即为真,所以这里输出True

#成员运算符:in、not in,判断一个元素是否在一组列表中,返回结果为布尔值
a=1
a in [1,2,3,4,5]

#身份运算符:is、is not,和==不同,它比较的是内存空间中的地址是否相等


五、int数据类型的常用方法

1、整型数据常用方法:max、min、abs

print(max(2,4,6,8,10))
print(min(2,4,6,8,10))


2、浮点型数据常用方法:round、math.modf(分别显示小数位和整数位)

num = 3.1415926 
print(round(num,2))  #四舍五入保留小数点后2位


六、数据类型的转换

在引用变量时经常会因为数据类型不同出现各种错误,如字符串变量无法做运算、数字类型变量无法直接输出。所以在明确是需要做什么操作之后,可以将变量的数据类型进行转换

print (10+int("20"))  #将字符串转换为整型
print (float("123.456")+11.22)  #将字符串转换为浮点数
print (str(10)+"20")  #将数字转换为字符串

num1 = 10 num2 = '20' 
print(num1+int(num2))

name = 'tanglu' age = 18 
print('hello:'+name+',you are:'+str(age))


七、基本格式化输出

1、使用占位符进行格式化输出

使用占位符%加上特定字母可以进行简单格式化输出,常用于在字符串中引用变量:

%s:字符串

%d:数字

name = 'tanglu'
age = 18
print ("我叫%s,我今年%d" %(name,age))


%10s:字符串右对齐,占位符10位

%-10s:字符串左对齐,占位符10位

%.2s:截取2位字符串

%f:浮点数,默认保留小数点后6位数字,可以使用%.3f这样的形式来保留3位小数

num1 = 100
num2 = 200
print("十进制输出:%d,%d" %(num1,num2))

num3 = 3.1415926
print("浮点数输出:%.2f" %(num3))

str1 = "www.linuxe.cn"
print("s的标准输出:%s" %str1)
print("取出前三位:%.3s" %str1)


如果要输出百分号本身的话需要用2个%,而不能用反斜线。看例子更容易明白

name = input("请输入你的名字:")
age = input("请输入你的年龄:")
height = input("请输入你的身高:")
msg = "你的姓名是:%s,年龄:%s,身高:%s,学习进度:5%%" %(name,age,height)
print(msg)


2、使用format()格式化输出

相对基本格式化输出采用%的方法,format()功能更强大,也是以后主要使用的方法。该函数把字符串当成一个模板,通过传入的参数进行格式化,并且使用大括号'{}'作为特殊字符代替'%' ,大括号中可以使用索引的编号或者关键字实现类似后项引用的功能

print ('{} {}'.format('hello','world'))
print ('{0} {1}'.format('hello','world'))
print ('{0} {1} {0}'.format('hello','world'))
print ('{1} {1} {0}'.format('hello','world'))
print ('{a} {tom} {a}'.format(tom='hello',a='world'))

#输出结果依次是
#hello world
#hello world
#hello world hello
#world world hello
#world hello world


温馨提示如有转载或引用以上内容之必要,敬请将本文链接作为出处标注,谢谢合作!
et_highlighter51
版权所有:《Linux运维技术学习站点
文章标题:《Python基础教程(3)Python数据类型、运算与格式化
除非注明,文章均为 《Linux运维技术学习站点》 原创
转载请注明本文短网址:http://www.linuxe.cn/post-474.html  [生成短网址]

已有 0/1387 人参与

发表评论:

欢迎分享Linux运维技术学习站点

欢迎使用手机扫描访问本站,还可以关注微信哦~