今天开始理解Python能够直接处理的数据类型:
1、整数
这里的整数和数学理解的整数意义和写法一样,包括正整数、0、负整数,如:-100,0,100;计算机使用二进制,表示整数有时用十六进制更加方便,十六进制用0x前缀和0-9,a-f表示。这里解释一下:计算机使用二进制,转换为十六进制有效的缩短二进制数,同时保留了二进制数的特征(16是2的幂值),8个二进制数为一个字节,而4个二进制可以用1个十六进制数表示,所以1个字节可以用2个十六进制表示。当然我们平常使用自然数字十进制就ok了。
我们做一个进制转换的小程序,如下:
# -*- coding: UTF-8 -*- # Filename : 进制转换.py # author by : www.woodmanzhang.com # 让用户输入任意十进制数组 dec=int(input("请输入数字:")) print("十进制数为:",dec) print("二进制数为:",bin(dec)) print("八进制数为:",oct(dec)) print("十六进制数为:",hex(dec))
2、浮点数
浮点数就是小数,称之为浮点数是因为按照科学计数法,一个浮点的小数点位置是可变的,如20.2×108和2.02×109是完全相同的。浮点数可以用数学写法,但对于一些极大或者极小的浮点数,就需要借助科学计数法表示,用e代替10 ,如20.2×108就是20.2e8,0.000202就是2.02e-4。
3、字符串
字符串是以单引号或双引号括起来的任意文本。引号本身只是表示方式,并不是字符串的组成部分,即:字符串‘a,b,c’中只包含了a,b,c,三个字符。如果单引号也是一个字符,可以用双引号括起来,如“I’m ok”包含了字符I,‘,m, ,o,k这6个字符(包含空格)
如果字符串中既有单引号,又要有双引号,就需要转义字符\来标示,如:
'I\'m \"OK\"!'
表示的字符串内容其实是
I'm "OK"!
转义字符可以转义很多字符,
\n 表示换行 \t 表示制表符 \\ 表示\本身
可以在Python交互模式用print()打印字符串测试练习
>>> print('I\'m ok!') I'm ok! >>> print('I\'m learning Python \nnow!') I'm learning Python now! >>> print('\\n\\') \n\ >>> print('\\\n\\') \ \
需要转义哪个字符就在哪个字符前加\,Python可以使用r”表示”内部字符串不转义
>>> print('\\\n\\\t\\') \ \ \ >>> print(r'\\\n\\\t\\') \\\n\\\t\\
如果字符串需要换行,\n太多影响自己阅读,可以使用”””表示多行内容
>>> print('''第一行 第二行 第三行 第四行''') 第一行 第二行 第三行 第四行 >>>
多行字符串一样可以使用不转义r,如下
>>> print(r'''\\\n\\\t \\ \\\n \t\\''') \\\n\\\t \\ \\\n \t\\
可以思考下,如果没有r,打印出来是什么?
布尔值
布尔值和布尔代数表达的完全一致,就是是与非,布尔值只有True和False两种值,Python中直接用True和False表示布尔值,这里注意有大小写区别,布尔值可以做基本的判断运算:
>>> True True >>> False False >>> 2020>2019 True >>> 2020<2019 False
布尔值可以用and、or和not运算,就是经典的与、或、非三大逻辑关系,先看下面一组运算:
>>> True True >>> False False >>> 2020>2019 True >>> 2020<2019 False >>> True and True True >>> True and False False >>> False and False False >>> 5>3 and 1<2 True >>> True or True True >>> True or False True >>> False or False False >>> 5>3 or 1>3 True >>> not True False >>> not False True >>> not 5>3 False
and为与运算,前后都是才为是;前后都非才是非
or为或运算,前后有一是,即为是;前后都非才是非
not为非运算,负责是非反转,把True变为False,False变为True
布尔值经常用于条件判断,如:
name = input('请输入姓名:') age = int(input('请输入年龄:')) if age >= 18: print(name,'已成年,可以进入') else: print(name,'毛没长全,禁止进入')
运行结果如下
请输入姓名:木人张 请输入年龄:35 木人张 已成年,可以进入
空值
空值用None表示,空值不能理解为0,0是有意义的一个数,而None就是空。
除了以上常见的数据类型之外,Python还提供了列表、字典等多种数据类型,甚至包括自定义数据类型。