一、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数据类型、运算与格式化相关推荐

  1. python中的正则表达式语法_Python基础教程之正则表达式基本语法以及re模块

    什么是正则: 正则表达式是可以匹配文本片段的模式. 正则表达式'Python'可以匹配'python' 正则是个很牛逼的东西,python中当然也不会缺少. 所以今天的Python就跟大家一起讨论一下 ...

  2. python自定义函数详解_python基础教程之自定义函数介绍

    函数最重要的目的是方便我们重复使用相同的一段程序. 将一些操作隶属于一个函数,以后你想实现相同的操作的时候,只用调用函数名就可以,而不需要重复敲所有的语句. 函数的定义 首先,我们要定义一个函数, 以 ...

  3. python可以这样学读后感_Python基础教程的读后感10篇

    <Python基础教程>是一本由Magnus Lie Hetland著作,人民邮电出版社出版的平装图书,本书定价:69.00元,页数:471,文章吧小编精心整理的一些读者的读后感,希望对大 ...

  4. python dict下标_Python基础教程:python的数据类型

    python基础之五大标准数据类型 学习一门语言,往往都是从Hello World开始. 但是笔者认为,在一个黑框框中输出一个"你好,世界"并没有什么了不起,要看透事物的本质,熟悉 ...

  5. python雷达图详解_Python基础教程 - matplotlib实现雷达图和柱状图

    原标题:Python基础教程 - matplotlib实现雷达图和柱状图 Python基础教程记录 - 使用matplotlib实现雷达图和柱状图. 注:主要是设置add_subplot(133),分 ...

  6. python变量定义的规则_Python基础教程(2)Python变量与注释

    一.Python变量定义规则 在Python中定义变量的方式和Shell很像,有以下规则: 1.变量名只能是字母.数字或者下划线的组合,不能有空格或者其他特殊字符,且第一个字符不能是数字 2.使用变量 ...

  7. python中的real函数_RealPython 基础教程:Python 字符串用法详解

    字符串是一个由字符数据组成的序列.字符串处理是编程必备的技能,很少有应用程序不需要操作字符串的. Python 提供了丰富的运算符.函数和类方法来操作字符串. 通过本文,你将了解如何访问字符串以及提取 ...

  8. python中的real函数_RealPython基础教程:Python 基本数据类型介绍

    数据是业务的核心,任何编程语言都要支持各种数据类型.我们一起来学习一下 Python 支持的数据类型. Python 内置了 numeric.string 和 Boolean 等基本数据类型,同时也提 ...

  9. python入门之字符串处理_python基础教程之python字符串处理方法|python基础教程|python入门|python教程...

    https://www.xin3721.com/eschool/pythonxin3721/ 字符和字符串可以用来相加来组合成一个字符串输出: 字符或字符串复制输出. 二.Extract &S ...

最新文章

  1. harmonyos开发者邀请码,HarmonyOS 2.0鸿蒙第二期开发者Beta公测申请指南
  2. QUIC 是如何解决TCP 性能瓶颈的?
  3. 福特打造自动驾驶汽车,你的专属安全智能护卫
  4. SAP Spartacus UI Duplicated keys has been found in the config of i18n chunks
  5. Constructor sap.ui.core.ComponentContainer has been called without new operator
  6. #if defined(__cplusplus)
  7. 消息称蚂蚁集团提前至11月5日挂牌,估值达3.6万亿港元
  8. java 情况浏览器缓存_JavaWeb禁止浏览器缓存当前Web页面的方法
  9. The Linux Storage Stack Diagram
  10. 教学设计的理念与方法【2】
  11. 2022G3锅炉水处理上岗证题库及答案
  12. 做web网站开发的流程、步骤
  13. [cf] Codeforces Round #595 (Div. 3) B12 Books Exchange
  14. 关于 移动端隐藏scroll滚动条::-webkit-scrollbar
  15. html5 input搜索框样式修改,修改input搜索框默认叉号的样式为自定义图片
  16. Excel中IF函数的使用
  17. 封装bootstrap-treegrid组件
  18. 机器学习笔试面试系列算法集锦
  19. 2017年11月历史文章汇总
  20. Ubuntu安装samb服务

热门文章

  1. uni-app实战之社区交友APP(4)首页开发
  2. lyle的第一篇博客
  3. 田野调查手记·浮山摩崖石刻(十三)
  4. 中南大学计算机学硕毕业要求,中南大学研究生发表学术论文的规定
  5. 全美航班停飞原因曝光/ 米哈游辟谣年终奖108薪/ 苹果正开发触摸屏Mac…今日更多新鲜事在此...
  6. iframe之嵌套方案总结
  7. 基于c扩展框架php,深入Php底层,用c为php编写拓展
  8. 达人实测:天玑1000和骁龙765g哪个好-天玑1000和骁龙765g对比跑分
  9. 110配线架打法图解_「干货」图文并茂教会你110语音配线架线缆打法
  10. modis遥感影像数据批量下载(不限制网速的办法)