Python版本:3.6.2  操作系统:Windows  作者:SmallWZQ

  无论是Python 3.x版本还是2.x版本,Python均支持多种数据类型,能够直接处理的数据类型包括Int类型、Float类型、String类型、布尔值、变量、常量……

  在计算机内部,Python可以把任何数据都看成一个“对象”,而变量就是在程序中用来指向这些数据对象的,对变量赋值就是把数据和变量给关联起来。

Int整数类型

  令人惊喜的是,Python可以处理任意位数的整数,同时包括负整数。因此,Python处理整数非常方便,几乎与数学表示整数的方式一模一样。

  Python也同时支持十六进制和八进制。十六进制数表示形式如下:

 #十六进制表示形式
>>>0xAD
173
>>>0xad
173
>>>0XAD
173

  对于八进制,Python 3.x版本必须以“0o”前缀(数字0 + 字母o),八进制表示形式如下:

 #八进制表示形式
>>>0o20
16
#字母o大写也编译通过,最好小写,避免造成歧义
>>>0O20
16

  注:计算机由于使用二进制,所以,有时候用十六进制表示整数比较方便,十六进制用0x前缀和0-9,a-f表示,例如:0xff000xa5b4c3d2等等。

Float浮点型

  我们都知道,数学中除了整数外,还有小数。而数学中的小数,Python中称之为浮点数。比如1.23,0.03,10.12……这些都是基本的浮点数。

  浮点数的表现形式主要有三种:

  一、直接显示

    1.23,0.98,0.0000000008……对于小数位有很多零的情况,这样书写很不友好。

  二、xx.xx * 10xx

    1.23 * 109和12.3 * 108是完全相等的。如果是负数,0.000123则写成1.23 * 10-4

  三、xx.xxexx(字母e,e后直接输入xx,并非上标)

    1.23x109就是1.23e9。如果是负数,0.0000123可以写成1.23e-5。

  特别地,整数和浮点数在计算机内部存储的方式是不同的,整数运算永远是精确的(除法难道也是精确的?是的!),而浮点数运算则可能会有四舍五入的误差。

String字符串

  Python数据类型中,字符串是最常见的又是最难的。关于字符串,我稍后会专门写一篇文章来详细总结字符串的各种知识点。这里就简单介绍一下字符串的用法。

  字符串是以单引号'或双引号"括起来的任意文本,比如'abc',"xyz"等等。请注意,''""本身只是一种表示方式,不是字符串的一部分。那么,问题来啦。

  1.如果字符串本身包含单引号,怎么办?

   可以用双引号“”括起来。用单引号会出错,因为括起来的引号必须成对出现。

#字符串本身含有单引号,请用双引号括起来
>>>"I'am fine!"
"I'am fine!"

  2.如果字符串本身含有双引号,怎么办?

   很简单,用单引号括起来呗!

  3.如果字符串本身既包括双引号又包括单引号呢?

   这里就涉及到转义字符啦。可以用转义字符 \ 来标识。

 #字符串使用转义字符\
#直接输出字符串与print()差异
>>>'I\'m \"fine\"!'
'I\'m "fine"!'
>>>a = 'I\'m \"fine\"!'
>>>a
'I\'am "fine"!'
>>>print(a)
I'am "fine"!

  注:\n表示换行,\t表示制表符,\\表示\等等。

  代码示例如下:

 #特殊字符表现形式
>>>print('I\'am learning\nPython')
I'am learning
Python
>>>print('\\\n\\')
\
\

  4.转义字符 \ 并非万能钥匙

  其实,使用转义字符 \ 并不是万能的,有时会比较麻烦。当然啦,Python已经为您想在前面,可以使用r' '(‘ ’内部的字符串不转义)。

 #r' '不转义
>>>print('\\\n\\')
\
\
>>>print(r'\\\n\\')
\\\n\\

  5.多行

  如果字符串内部有很多换行,用\n写在一行里不好阅读,为了简化,Python允许用'''...'''的格式表示多行内容。

 #字符串内部很多行,可以使用‘‘‘...’’’
>>> print('''apple
... banana
... orange''')
apple
banana
orange

  注意:上面是在交互式命令行内输入,注意在输入多行内容时,提示符由>>>变为...,提示你可以接着上一行输入,注意...是提示符,不是代码的一部分。当输入完结束符``` 和括号)后,执行该语句并最终打印结果。

布尔值

  布尔值与布尔表达式的表示完全一致。一个布尔值只有True、False两种值,要么是True,要么是False,在Python中,可以直接用True、False表示布尔值(请注意大小写),也可以通过布尔运算计算出来:

  布尔值何时为假,何时又为真?

  下面的值作为布尔表达式的时候,会被解释器看做False:

  False、None、0、0.0、“”、()、[]、{}

 #标准值False和None、所有类型的数字0、
#空序列(空字符串、元组、列表)以及空字典都为假
#其他一切都被解释为真!!!
#代码展示布尔值为False的情况
>>>bool(False)
False
#整数
>>>bool(0)
False
#浮点数
>>>bool(0.0)
False
#字符串(单引号和双引号)
>>>bool('')
False
>>>bool("")
False
#空列表
>>>bool([])
False
#空元组
>>>bool(())
False
#空字典
>>>bool({})
False

Bool值为False情况汇总

  布尔值可以用and、ornot运算。

  and运算是与运算,or运算是或运算,not运算是非运算。

  特别地,请读者想想为什么???最好在评论区展示想法,谢谢!

 #Why???
>>>3 and 6
6
>>>3 and 1
1
>>>7 or 4
7
>>>4 or 7
4

None(空值)

  空值是Python里一个特殊的值,用None表示。None不能理解为0,因为0是有意义的,而None是一个特殊的空值。此外,Python还提供了列表、字典等多种数据类型,还允许创建自定义数据类型。

变量

  变量的命名规则与其它编程语言类似,但在python中定义变量时无须声明类型。

  这种变量本身类型不固定的语言称之为动态语言,与之对应的是静态语言。静态语言在定义变量时必须指定变量类型,如果赋值的时候类型不匹配,就会报错。例如Java,c,c++等等。

  在Python中,等号=是赋值语句,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量。

  对变量赋值x = y是把变量x指向真正的对象,该对象是变量y所指向的。随后对变量y的赋值不影响变量x的指向。

  示例代码如下:

 #Python变量赋值
>>>a = 12 #变量a为Int型
>>>pring(a)
12
>>>a = 'ABC' #变量a为字符串
>>>print(a)
ABC

  Python中,变量时时刻刻会被用到。因此,必须牢记Python是一种动态语言!!!

常量

  说到常量,您最先想到什么?我想应该是π吧,山巅一寺一壶酒……哈哈~~~

  所谓常量就是不能变的变量,比如常用的数学常数π就是一个常量。在Python中,通常用全部大写的变量名表示常量。

 #常量之约定俗成
>>>PI = 3.1415926

  但事实上PI仍然是一个变量,Python根本没有任何机制保证PI不会被改变,所以,用全部大写的变量名表示常量只是一个习惯上的用法,如果你一定要改变变量PI的值,也没人能拦住你。

  因此,约定俗成的东西,大家一定要遵守,不能坏了规矩。

基本运算【主要为除法】

  在Python中,基本运算包括加减乘除、Bool运算等。那为什么主要讲除法呢?因为它比较复杂呗。

  除法有三种,一种除法为 / ;另外一种为 //,还有一种为取余% 。

  一、除法为 /

   计算结果是浮点数,即使是两个整数恰好整除,结果也是浮点数。

#除法为 /
>>>2 / 3
0.6666666666666666
>>>10 / 3
3.3333333333333335
>>>10 / 5
2.0

  二、除法为 //

  // 称之为地板除,两个整数的除法仍然是整数。

 #//为地板除
>>>10 // 3
3

  注:在python中//除等同于c语言中的/除。

  你没有看错,整数的地板除//永远是整数,即使除不尽。要做精确的除法,使用/就可以。

  三、取余%

  取余% 得到两个整数相除的余数。

#取余%
>>>10 % 3
1

  终上所述,无论整数做//除法还是取余数,结果永远是整数,所以,整数运算结果永远是精确的。

  至于其它基本运算,它们没有什么特殊之处,与数学中的内容几乎相同。

  在Python中,整数和浮点数均没有大小限制。

  然而,某些语言的整数根据其存储长度是有大小限制的,例如Java对32位整数的范围限制在-2147483648-2147483647

  Python的浮点数也没有大小限制,但是超出一定范围就直接表示为inf(无限大)。

Python基础——数据类型与基本运算【主要为除法】的更多相关文章

  1. Python 入门之Python基础数据类型及其方法

    Python 入门之Python基础数据类型 1. 整型:int 用于计算,用于比较 (在赋值的时候先执行等号右边的内容) 1.1 整数的加 a = 10 b = 20 print(a + b) 结果 ...

  2. Python基础数据类型-列表(list)和元组(tuple)和集合(set)

    Python基础数据类型-列表(list)和元组(tuple)和集合(set) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客使用的是Python3.6版本,以及以后分享的 ...

  3. Python基础数据类型-字符串(string)

    Python基础数据类型-字符串(string) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客使用的是Python3.6版本,以及以后分享的每一篇都是Python3.x版 ...

  4. python基础数据类型考试题

    Python基础数据类型考试题 考试时间:两个半小时                      满分100分(80分以上包含80分及格) 一,基础题. 1,简述变量命名规范(3分) 2,字节和位的关系 ...

  5. 1--Python 入门--Python基础数据类型

    一.Python基础语法 初次使用Python,首先要明确三点: Python的标识符(例如变量名.函数名等),可用字母.数字和下划线构成,不能以数字开头,且区分大小写. Python对于缩进敏感.在 ...

  6. python 基础数据类型之list

    python 基础数据类型之list: 1.列表的创建 list1 = ['hello', 'world', 1997, 2000] list2 = [1, 2, 3, 4, 5 ] list3 = ...

  7. Python基础数据类型-字典(dict)

    Python基础数据类型-字典(dict) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客使用的是Python3.6版本,以及以后分享的每一篇都是Python3.x版本的哟 ...

  8. Python基础数据类型题

    Python基础数据类型 题考试时间:三个小时 满分100分(80分以上包含80分及格)1,简述变量命名规范(3分) 1.必须是字母,数字,下划线的任意组合. 2.不能是数字开头 3.不能是pytho ...

  9. Python基础数据类型之字符串

    Python基础数据类型之字符串 一.Python如何创建字符串 在python中用引号将一些文本包起来就构成了字符串(引号可以是单引号.双引号.单三引号,双三引号,它们是完全相同的) >> ...

随机推荐

  1. 《并行程序设计导论》——MPI(Microsoft MPI)(6):并行排序算法

    =================================版权声明================================= 版权声明:原创文章 禁止转载  请通过右侧公告中的“联系邮 ...

  2. 信号处理引发的cpu高

    背景知识: 1.tty 终端是一种字符型设备,它有多种类型,通常使用tty来简称各种类型的终端设备. tty指的是七个alt+crtl+F1~F7.tty1-tty6表示文字界面,可以用Ctrl+Al ...

  3. IOS 使用 ZbarSDK 二维码扫描

    1. 下载SDK   https://github.com/bmorton/ZBarSDK 2. 引用到项目中 3. 添加引用 4. AppDelegate中添加下面代码 5. 在需要使用扫描的con ...

  4. 配置python+mod_wsgi+apache 时 在浏览器中访问服务器时报错:Invalid HTTP_HOST header: 'XXXXX'. You may need to add u'XXXXX' to ALLOWED_HOSTS,在setting.py中添加‘*”无效的原因

    配置python+mod_wsgi+apache 时 在浏览器中访问服务器时报错:Invalid HTTP_HOST header: 'XXXXX'. You may need to add u'XX ...

  5. java面向对象基础(一)

    */ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...

  6. golang变量作用域问题-避免使用全局变量

    最近遇到了一个变量作用域的问题,一个比较低级的问题,可能作为一个熟手不应该犯这样的低级错误,但是golang的语法特点可能让你稍微不注意就踩坑,嘿嘿. 变量作用域 全局变量的作用域是整个包,局部变量的 ...

  7. CentOS 下开启PHP错误提示

    我也是傻逼,一直在找图片无法上传的原因,这么久了才意识到自己没有在Linux系统的服务器下开启错误提示. 正文 默认模式下的apache是没有开启错误语法提示的,修改php.ini文件.不同的安装,p ...

  8. error_reporting

    有关error_reporting()函数: error_reporting() 设置 PHP 的报错级别并返回当前级别. ; 错误报告是按位的,或者将数字加起来得到想要的错误报告等级. ; E_AL ...

  9. 学会用git真的很重要

    一.首先,作为一名开发人员,目前个人菜鸟一个,觉得有个仓库来管理好自己的项目是真的很重要,而目前个人认为在git上面管理自己的项目是真的很不错的推荐,接下来给大家介绍一下如何使用git上传.管理自己的 ...

  10. Linux下查找大文件以及目录

    转自:http://www.cnblogs.com/kerrycode/p/4391859.html 在Windows系统中,我们可以使用TreeSize工具查找一些大文件或文件夹,非常的方便高效,在 ...