python 数字运算及格式化_Python基础教程(3)Python数据类型、运算与格式化
一、Python的数据类型
主要分为了数字型和非数字型两个大类,其中数字型又包含整形(int)、浮点型(float)、布尔型(bool),而非数字分为字符串(str)、列表(list)、元组(tuple)、字典(dictionary)。非数字类型里除了字符串,其他类型又都属于数据集合,可以存放多个数据
二、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:存放了一组有序、可变的数据集合,用中括号表示列表,每个元素用逗号分割,列表支持多种数据与多层嵌套。列表
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。元素不能重复,如果有重复元素会被删掉。可以用他来快速将列表进行去重
s1=set() #定义空集合只能使用set()
s2={1,3,7} #创建集合
s2.add('9') #为集合添加数据
s2.update(t1) #为集合添加数据,数据从t1这个列表获取,并且会自动拆包,如果用add的话少了拆的步骤
6、使用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
python 数字运算及格式化_Python基础教程(3)Python数据类型、运算与格式化相关推荐
- python中的正则表达式语法_Python基础教程之正则表达式基本语法以及re模块
什么是正则: 正则表达式是可以匹配文本片段的模式. 正则表达式'Python'可以匹配'python' 正则是个很牛逼的东西,python中当然也不会缺少. 所以今天的Python就跟大家一起讨论一下 ...
- python自定义函数详解_python基础教程之自定义函数介绍
函数最重要的目的是方便我们重复使用相同的一段程序. 将一些操作隶属于一个函数,以后你想实现相同的操作的时候,只用调用函数名就可以,而不需要重复敲所有的语句. 函数的定义 首先,我们要定义一个函数, 以 ...
- python可以这样学读后感_Python基础教程的读后感10篇
<Python基础教程>是一本由Magnus Lie Hetland著作,人民邮电出版社出版的平装图书,本书定价:69.00元,页数:471,文章吧小编精心整理的一些读者的读后感,希望对大 ...
- python dict下标_Python基础教程:python的数据类型
python基础之五大标准数据类型 学习一门语言,往往都是从Hello World开始. 但是笔者认为,在一个黑框框中输出一个"你好,世界"并没有什么了不起,要看透事物的本质,熟悉 ...
- python雷达图详解_Python基础教程 - matplotlib实现雷达图和柱状图
原标题:Python基础教程 - matplotlib实现雷达图和柱状图 Python基础教程记录 - 使用matplotlib实现雷达图和柱状图. 注:主要是设置add_subplot(133),分 ...
- python变量定义的规则_Python基础教程(2)Python变量与注释
一.Python变量定义规则 在Python中定义变量的方式和Shell很像,有以下规则: 1.变量名只能是字母.数字或者下划线的组合,不能有空格或者其他特殊字符,且第一个字符不能是数字 2.使用变量 ...
- python中的real函数_RealPython 基础教程:Python 字符串用法详解
字符串是一个由字符数据组成的序列.字符串处理是编程必备的技能,很少有应用程序不需要操作字符串的. Python 提供了丰富的运算符.函数和类方法来操作字符串. 通过本文,你将了解如何访问字符串以及提取 ...
- python中的real函数_RealPython基础教程:Python 基本数据类型介绍
数据是业务的核心,任何编程语言都要支持各种数据类型.我们一起来学习一下 Python 支持的数据类型. Python 内置了 numeric.string 和 Boolean 等基本数据类型,同时也提 ...
- python入门之字符串处理_python基础教程之python字符串处理方法|python基础教程|python入门|python教程...
https://www.xin3721.com/eschool/pythonxin3721/ 字符和字符串可以用来相加来组合成一个字符串输出: 字符或字符串复制输出. 二.Extract &S ...
最新文章
- harmonyos开发者邀请码,HarmonyOS 2.0鸿蒙第二期开发者Beta公测申请指南
- QUIC 是如何解决TCP 性能瓶颈的?
- 福特打造自动驾驶汽车,你的专属安全智能护卫
- SAP Spartacus UI Duplicated keys has been found in the config of i18n chunks
- Constructor sap.ui.core.ComponentContainer has been called without new operator
- #if defined(__cplusplus)
- 消息称蚂蚁集团提前至11月5日挂牌,估值达3.6万亿港元
- java 情况浏览器缓存_JavaWeb禁止浏览器缓存当前Web页面的方法
- The Linux Storage Stack Diagram
- 教学设计的理念与方法【2】
- 2022G3锅炉水处理上岗证题库及答案
- 做web网站开发的流程、步骤
- [cf] Codeforces Round #595 (Div. 3) B12 Books Exchange
- 关于 移动端隐藏scroll滚动条::-webkit-scrollbar
- html5 input搜索框样式修改,修改input搜索框默认叉号的样式为自定义图片
- Excel中IF函数的使用
- 封装bootstrap-treegrid组件
- 机器学习笔试面试系列算法集锦
- 2017年11月历史文章汇总
- Ubuntu安装samb服务
热门文章
- uni-app实战之社区交友APP(4)首页开发
- lyle的第一篇博客
- 田野调查手记·浮山摩崖石刻(十三)
- 中南大学计算机学硕毕业要求,中南大学研究生发表学术论文的规定
- 全美航班停飞原因曝光/ 米哈游辟谣年终奖108薪/ 苹果正开发触摸屏Mac…今日更多新鲜事在此...
- iframe之嵌套方案总结
- 基于c扩展框架php,深入Php底层,用c为php编写拓展
- 达人实测:天玑1000和骁龙765g哪个好-天玑1000和骁龙765g对比跑分
- 110配线架打法图解_「干货」图文并茂教会你110语音配线架线缆打法
- modis遥感影像数据批量下载(不限制网速的办法)