Python教程 第3章:基础数据类型——认识Python的五种“原材料“
一、之所以要先学习数据类型, 是因为这背后有着很重要的原因和逻辑。程序的核心作用, 在于处理数据。而数据, 存在着多种不同的类别分类。比如数字、文字、还有真假这样的布尔值。每一个具体的数据实例, 都有着明确的所属类型。这个类型, 直接决定了该数据具备什么能力, 以及它不能做什么操作。二、这五个基本类型, 也就是那几种基本样子。所谓的整数这个类型, 它指的就是那些不包含有小数部分在内的数值。age 18count -5# 浮点数 float —— 带小数点的数数值π等于3.14159。这个价格是19.99。就是文本, 而且一定要用引号把它括起来。变量名对应的值是空的字符串。设置一个变量, 它的值用单引号括起来是你好这个世界。布尔值 bool 这种类型的取值其实是非常有限的, 它总共也就只有两种选择, 一种情况代表的是真也就是 True, 另一种情况则代表的是假也就是 False。状态是OK, 也就是is_ok等于True。 False空值这个东西, 它主要是用来表示什么都没有这个意思的, 也就是说在当前的状态下面, 它是啥也没有。 None三、通过调用 type() 这个功能来查看对象所属的类型。print(type(18)) #print(type(3.14)) #执行类型查询函数, 并且传入字符串常量“hello”, 然后获取它的结果。显示布尔值的类型结果, 也就是真值所对应的类型。print(type(None)) #四、布尔值这个东西啊, 它的由来一共有两个路子。# 直接定义变量a被设定为真。b False通过执行比较运算, 最终所得到的是布尔值。执行打印语句输出表达式5大于3的判断结果, 也就是显示布尔值真。执行打印操作, 将5等于3这个表达式的布尔值输出出去, 得到的结果是False。输出5不等于3这个表达式的计算结果, 也就是True。# 逻辑运算print(True and False) # Falseprint(True or False) # True打印出括号里面的内容的否, 括号里的内容是真, 所以打印出来的结果是假。五、真值判断重要概念这里面面的每个值, 都是可以被拿去当作布尔值来进行判断的:# 以下值在 if 判断中等价于 False这个结果是布尔类型的零, 也就是说它是假的。bool(0.0) # False调用布尔值函数并传入一个空的字符串对象, 将会返回出代表假的逻辑非真状态, 这是因为该字符串内容没有任何实际字符。执行bool()函数来处理一个空列表, 结果会返回False。对 None 这个值使用 bool 函数进行测试, 其得出的结果是 False。其他的数值大凡都是处于真实的。布尔值是1, 这表示它代表的就是真。把字符“hello”当作真值来检验, 得出的结果是成立。使用bool函数来获取结果, 其得出的值是True。六、隐式类型转换运算时的自动升级在进行数学运算的过程中, 如果参与计算的几个数字它们的类型不一样, 那么系统会主动把那一种规模比较小的类型的数据, 转换成规模比较大的类型的一个数据, 这种现象就被称作隐性转换, 这个操作过程不需要你再去编写任何用来完成数据格式转换的源代码程序代码。当整数和浮点数进行合并操作的时候, 结果会自动转换为浮点数。 10 0.5输出函数括号里写上数字十点五。print(type()) ## 当布尔类型参与到计算之中时, 其规则是使代表真意的True等于数值1, 而让代表假意的False等于数值0。执行打印操作, 内容是逻辑真值加上整数1, 得到的结果为2。输出结果的时候, 把False这个值加上1, 得到的结果是1。当执行整数类型的除法运算时, 其结果会自动发生类型转换, 变成浮点型数据。执行打印操作并将十除以四的结果输出, 这个结果等于二点五, 需要特别注意这里得到的数值是两个点五, 而不是整数二。将数据类型按照从小到大的顺序进行升级, 具体是指把bool先转成int, 再把int转成float。牢记这一条规则, 许多此前让人觉得莫名其妙的问题, 例如让10除以4的结果变成2.5这样的情况, 现在也就能够解释得通了。七、大家经常犯的一个非常常见的错误这部分内容需要你一定要仔细查看是, 第一类错误表现就是, 会把数字这个类型当作字符串这个类型去使用。num 123执行“print(num * 2)”这个操作, 得到的结果会是, 这表示的是字符串重复。而把int(num)去进行乘法的操作, 再去乘以2的这个结果数值, 它才等于的是246。执行打印操作, 将变量 num 乘以二的结果显示出来。可能不是你需要的将变量num转换为整数类型后, 乘以2的结果会被打印出来, 即输出值为246。错误2字符串拼接数字打印出这个结果字符串, 该字符串内容是数字四十二。print(结果是 str(42)) #输出的结果是42, 这是一个需要被推荐的例子。第3个错误, 就是忘记了None这个值它并不是一个空的字符串。x None# len(x) # : of type has no len()将变量与一个空字符串进行比对操作的结果是False, 这个说法成立的原因是None和空字符串并不属于同一个概念并且不相等。当变量x的值是空的时候, 也就是说, 判断一个值是不是空的, 要用是等于None这样的写法来写。print(x 是空的)在第四个错误里面, 关于那个表示对或者错的布尔类型的数值, 人们总是会忘掉把它的大写字母给写上。把参数 x 设置为 true 这个标识, 但是系统提示说名称为 true 的这个项不存在, 也就是没有找到它。变量x的值被设置为True, 其含义是布尔状态中的真, 这里需要特别注意的首字母大写要求。八、小结五种基本类型int / float / str / bool /可以使用 type() 这个函数来查看对象的类型。比较运算以及逻辑运算在进行操作之后, 是会生成布尔值结果的。空值判断用 is None不要用 True/False 首字母大写所谓的隐式转换, 其实指的是布尔类型转换成整数类型, 然后整数类型再转换成浮点数类型这样一个过程, 在进行计算的时候会自动进行升级。九、作业我们要去定义出三个变量, 这三中变量里面包含了一个是整数这种类型的小数也是一个类型, 然后还有一个就是字符串这样一个类型。# 用 type() 打印各自的类型年龄设定为二十五。得分为88.5。 print(type(age)) #输出得分的类型, 这里显示的是整数。print(type()) #思考题1. 我们来猜一猜, 当执行 print(3 2.0) 这条语句的时候最终打印出来的结果究竟会是什么? 接着再去思考一下, 如果是执行 print(True True) 这样的代码段, 又将会得到什么样的输出?再之后还要去搞明白在执行 print(10 / 2) 的过程中会显现出什么值来? 并且对于这些现象出现的原因进行解释说明2. 可以利用 bool 函数来执行判断操作, 具体来说, 需要搞清楚 bool(0)、bool()、bool() 以及 bool(None) 的结果分别是什么? 此外, 还要尝试去寻找一个具体的变量类型, 确保这个变量的值具备 False 的特性。3. 请问执行 print(1 True) 这一段代码以后, 屏幕上会显示出什么样的一个结果呢? 同时请认真思考一下, 在当前的这个具体语境下面, 符号 和 is 这两者之间到底存在哪些方面的差异与不同表现。
上一篇/下一篇内容由系统自动关联
返回资讯列表 →