Python基础——数据类型与基本运算【主要为除法】
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表示,例如:0xff00
,0xa5b4c3d2
等等。
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、or
和not
运算。
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基础——数据类型与基本运算【主要为除法】的更多相关文章
- Python 入门之Python基础数据类型及其方法
Python 入门之Python基础数据类型 1. 整型:int 用于计算,用于比较 (在赋值的时候先执行等号右边的内容) 1.1 整数的加 a = 10 b = 20 print(a + b) 结果 ...
- Python基础数据类型-列表(list)和元组(tuple)和集合(set)
Python基础数据类型-列表(list)和元组(tuple)和集合(set) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客使用的是Python3.6版本,以及以后分享的 ...
- Python基础数据类型-字符串(string)
Python基础数据类型-字符串(string) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客使用的是Python3.6版本,以及以后分享的每一篇都是Python3.x版 ...
- python基础数据类型考试题
Python基础数据类型考试题 考试时间:两个半小时 满分100分(80分以上包含80分及格) 一,基础题. 1,简述变量命名规范(3分) 2,字节和位的关系 ...
- 1--Python 入门--Python基础数据类型
一.Python基础语法 初次使用Python,首先要明确三点: Python的标识符(例如变量名.函数名等),可用字母.数字和下划线构成,不能以数字开头,且区分大小写. Python对于缩进敏感.在 ...
- python 基础数据类型之list
python 基础数据类型之list: 1.列表的创建 list1 = ['hello', 'world', 1997, 2000] list2 = [1, 2, 3, 4, 5 ] list3 = ...
- Python基础数据类型-字典(dict)
Python基础数据类型-字典(dict) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客使用的是Python3.6版本,以及以后分享的每一篇都是Python3.x版本的哟 ...
- Python基础数据类型题
Python基础数据类型 题考试时间:三个小时 满分100分(80分以上包含80分及格)1,简述变量命名规范(3分) 1.必须是字母,数字,下划线的任意组合. 2.不能是数字开头 3.不能是pytho ...
- Python基础数据类型之字符串
Python基础数据类型之字符串 一.Python如何创建字符串 在python中用引号将一些文本包起来就构成了字符串(引号可以是单引号.双引号.单三引号,双三引号,它们是完全相同的) >> ...
随机推荐
- 《并行程序设计导论》——MPI(Microsoft MPI)(6):并行排序算法
=================================版权声明================================= 版权声明:原创文章 禁止转载 请通过右侧公告中的“联系邮 ...
- 信号处理引发的cpu高
背景知识: 1.tty 终端是一种字符型设备,它有多种类型,通常使用tty来简称各种类型的终端设备. tty指的是七个alt+crtl+F1~F7.tty1-tty6表示文字界面,可以用Ctrl+Al ...
- IOS 使用 ZbarSDK 二维码扫描
1. 下载SDK https://github.com/bmorton/ZBarSDK 2. 引用到项目中 3. 添加引用 4. AppDelegate中添加下面代码 5. 在需要使用扫描的con ...
- 配置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 ...
- java面向对象基础(一)
*/ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...
- golang变量作用域问题-避免使用全局变量
最近遇到了一个变量作用域的问题,一个比较低级的问题,可能作为一个熟手不应该犯这样的低级错误,但是golang的语法特点可能让你稍微不注意就踩坑,嘿嘿. 变量作用域 全局变量的作用域是整个包,局部变量的 ...
- CentOS 下开启PHP错误提示
我也是傻逼,一直在找图片无法上传的原因,这么久了才意识到自己没有在Linux系统的服务器下开启错误提示. 正文 默认模式下的apache是没有开启错误语法提示的,修改php.ini文件.不同的安装,p ...
- error_reporting
有关error_reporting()函数: error_reporting() 设置 PHP 的报错级别并返回当前级别. ; 错误报告是按位的,或者将数字加起来得到想要的错误报告等级. ; E_AL ...
- 学会用git真的很重要
一.首先,作为一名开发人员,目前个人菜鸟一个,觉得有个仓库来管理好自己的项目是真的很重要,而目前个人认为在git上面管理自己的项目是真的很不错的推荐,接下来给大家介绍一下如何使用git上传.管理自己的 ...
- Linux下查找大文件以及目录
转自:http://www.cnblogs.com/kerrycode/p/4391859.html 在Windows系统中,我们可以使用TreeSize工具查找一些大文件或文件夹,非常的方便高效,在 ...