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

Python基础教程(3)Python数据类型与运算

发布:TangLu2019-3-18 16:24分类: Python 标签: python python3


一、Python的数据类型

数据类型.png

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

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


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

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


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

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

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


列表(list):有序,可以储存大量的数据,用方括号表示列表,用逗号分隔每个元素,如 [123,'hellow',321,'linuxe'],列表支持多层嵌套。

列表的常用方法可以参考Python常用方法——列表常用方法

name = ["tanglu","tom","jerry"]
print (name[0])  #输出结果是tanglu

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

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


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

tuple = (1,2,3,'linuxe')
tuple2 = (1,)  #只有一个元素的元组


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

info = {'name':'tanglu','age':'18'}  #如果键已存在会更新,不存在则创建
info["id"] = "1"  #添加一个ID元素
print (info['name'])  #输出tanglu
print (info.keys())  #使用key函数获取字典中所有的key
print (info.values())  #values函数获取所有值
print (info.items())  #items函数获取所有键值


集合:平时用得很少,书写形式也是花括号,{1,2,3,'linuxe'}


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

a = 3
print (type(a))


二、Python的数学运算与逻辑运算

#算术运算符:加减乘除取余取模
print (3+5)
print (5-1)
print (3*4)
print (12/4)
print (10//3)  #取商数
print (11%4)  #取余数

#赋值运算符:+=、-=等,会把结果赋值给变量
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))


五、基本格式化输出

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

%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)


六、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/912 人参与

发表评论:

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

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