和C/C++、Java一样,Python也有数据类型和变量两个概念。

数据类型

Python中的几个基本数据类型为整数(integer/int)、浮点数(float/float)、布尔值(boolean/bool)和字符串(string/str)。

整数

整数(integer)是最基本的基本类型。Python中用int表示整数。像0、1、103、-4这些数就是做整数。

整数还可以用二进制(以0b或0B开头)和十六进制(以0x或0X开头)表示。例如0b10为2,0x10为16。

Python的整数没有大小限制。

浮点数

浮点数(float)不同于整数,它们有小数点。Python中用float表示浮点数。像0.5、1.23、-7.4、2.0这些数就是浮点数。注意2.0在数学上是整数,但因为其有小数点,所以是浮点数。

浮点数还可以用E表示法进行表示。例如7.2e9表示7.2乘10的9次方(7200000000),-4E-7表示-4乘10的-7次方(-0.0000004)。

Python的浮点数的大小范围约为-1.79e308~1.79e308。

布尔值

布尔值(boolean)这个名字来自于数学家George Boole。Python中用bool表示布尔值。一个布尔值只可能是True或False。这个以后再讲。

字符串

字符串(string)就是用引号(单引号、双引号皆可)括起的文本。Python中用str表示字符串。例如'abc'、"str"、'Hello, world!'和"a"都是字符串。注意"a"虽然只有一个字符,但也是字符串。在本教程中,统一使用单引号括起字符串。

变量

变量是用于存储数字的内存。虽然Python和C/C++、Java这些语言一样,都有变量,但细节上还是有不同。

在Python中,变量无需声明,需要使用时直接赋值(assign)即可。例如,要使用一个变量保存人的年龄:

>>> age = 17

这里会直接创建一个变量age,并拥有int值17。赋值就是设置一个变量的值。

变量的初始类型取决于创建时给它赋的值的类型。这里17是整数,age的类型就是int。

现在输入age,得到的是17:

>>> age
17

Python变量的类型是可变的。下面的赋值使得age的类型变成float:

>>> age = 17.1

输入age,得到17.1:

>>> age
17.1

甚至可以变成布尔值(bool)或字符串(str),当然这就脱离本意了:

>>> age = True
>>> age
True
>>> age = 'age'
>>> age
'age'

使用赋值语句时,=右边不仅可以有常量,也可以有变量。例如,下面的语句把变量a的值加1:

>>> a = a + 1

从数学的角度来看,这个式子是不成立的。但是注意,这里的=是赋值号,不是等于号。这个式子的含义是:获取a的值,将其加1,再赋值给a。如果a一开始等于10,那么a+1等于11,把11赋给a,现在a等于11。

当然,右边的式子还可以更加复杂。例如:

>>> a = 10
>>> a
10
>>> a = a + 1
>>> a
11
>>> a = (a - 1) / 2
>>> a
5.0
>>> a = a * 2 - 4 * 2
>>> a
2.0

但是无论如何,赋值语句的格式如下:

variable = expression

常量

与其它编程语言不同,Python不能定义常量(constant)。在Python中,自己定义的变量都是可修改的。

然而有些时候我们也希望用一个符号表示一个常数,即使它是可以修改的。常量一般大写。例如:

PI = 3.141592653589793

再议print()

前面已经说过了,print()可以打印字符串:

>>> print('This is a string.')
This is a string.

也可以打印表达式/变量,等等(实际上,这种说法不严谨):

>>> print(142857 * 2)
285714
>>> a = 10
>>> print(a)
10

但print()也可以有多个参数:

>>> apples = 10
>>> print('I have', apples, 'apples.')
I have 10 apples.

使用print()打印时,如果有多个参数,print()每打印完一个(不包括最后一个),会打印一个空格(叫做分隔符);打印完最后一个,会打印一个换行符。例如这里,打印完"I have"后,会打印一个空格,然后打印apples的值,打印一个空格,最后打印"apples.",打印一个换行符。

那怎么改变print()的分隔符呢?后面你就会了解到,print()函数有一个叫做sep的默认参数,默认值为' '。可以通过显式地指定sep来改变分隔符:

>>> print('java', 'util', 'logging', 'Logger', sep='.')
java.util.logging.Logger

小结

1. Python的基本类型包括int、float、bool和str。

2. Python中的变量的类型是可变的。

3. Python中不能定义常量。

Python教程(2.2)——数据类型与变量的更多相关文章

  1. python笔记二(数据类型和变量、编码方式、字符串的编码、字符串的格式化)

    一.数据类型 python可以直接处理的数据类型有:整数.浮点数.字符串.布尔值.空值. 整数 浮点数 字符串:双引号内嵌套单引号,可以输出 i'm ok. 也可以用\来实现,\n 换行 \t tab ...

  2. Learning Python 004 基础的数据类型和变量

    Python 基础的数据类型和变量 数据类型 整数 Python可以处理任意大小的整数,当然包括负整数. Python表示十六进制也用0x前缀. 浮点数 1.23x10^9和12.3x10^8是完全相 ...

  3. python语言学习7——数据类型和变量

    整数 python可以处理任意大小的整数,包括负整数,在程序中的表示方法和数学上的写法一样 计算机由于使用二进制,有时候采用十六进制表示整数比较方便,十六进制数用0x前缀 浮点数 简单的小数就直接用小 ...

  4. Python第二天 (数据类型,变量 )

    1. 把任意数据类型赋值给变量 在Python中,等号=是赋值语句,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量,例如: 例子:a = 123 # a是整数 prin ...

  5. Python之路----------基础 一(数据类型、变量、基本语法、流程控制)

    一. 数据类型与变量 1.数据类型 整数   #Python在程序中的表示方法和数学上的写法一模一样,-1,0,1都是整数. 浮点数  1 #浮点数就是小数. 字符串 1 #在Python中字符串是以 ...

  6. [Python] 文科生零基础学编程系列二——数据类型、变量、常量的基础概念

    上一篇:[Python] 文科生零基础学编程系列--对象.集合.属性.方法的基本定义 下一篇: (仍先以最简单的Excel的VBA为例,语法与Python不同,但概念和逻辑需要理解透彻) p.p1 { ...

  7. python入门(8)数据类型和变量

    python入门(8)数据类型和变量 数据类型 在Python中,能够直接处理的数据类型有以下几种: 整数 Python可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学上的写法一模一样 ...

  8. python/数据类型和变量

    数据类型和变量 数据类型 计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值.但是, 计算机能处理的远不止数值,还可以处理文本.图形.音频.视频.网页等各种各样的数据, ...

  9. 【STM32H7教程】第9章 STM32H7重要知识点数据类型,变量和堆栈

    完整教程下载地址:http://forum.armfly.com/forum.php?mod=viewthread&tid=86980 第9章   STM32H7重要知识点数据类型,变量和堆栈 ...

随机推荐

  1. metools,不花一分钱就能拥有自己的工具站点?

    需要[加密/解密][编码/解码][生成二维码]的时候不用再进百度点广告~ 也不需要去收藏夹找网址~ 我的目的大概就是如此. 项目地址:https://github.com/yimogit/metool ...

  2. Java 原始数据类型的计算:运算符重载(Operator Overload)和类型转换(Type Conversion)

    原文阅读:<算法(第四版)>第一章 第一节:基础编程模型 有没有在面试的时候被问到:下面这几行代码的执行结果是什么?依据是什么? System.out.println (5/3); Sys ...

  3. kafka入门

    1.Kafka独特设计在什么地方?2.Kafka如何搭建及创建topic.发送消息.消费消息?3.如何书写Kafka程序?4.数据传输的事务定义有哪三种?5.Kafka判断一个节点是否活着有哪两个条件 ...

  4. 树莓派的GPIO编程

    作者:Vamei 出处:http://www.cnblogs.com/vamei 严禁转载. 树莓派除了提供常见的网口和USB接口 ,还提供了一组GPIO(General Purpose Input/ ...

  5. java运算符 与(&)、非(~)、或(|)、异或(^)

    最近看HashMap源码,遇到了这样一段代码: static final int hash(Object key) { int h; return (key == null) ? 0 : (h = k ...

  6. linux下删除乱码文件、目录

    由于编码原因,在linux服务器上上传.创建中文文件或目录时,会产生乱码,如果想删除它,发现用rm命令是删除不了的 这种情况下,用find命令可以删除乱码的文件或目录. 首先进入乱码文件或目录所在的目 ...

  7. ASP.NET Core实现强类型Configuration读取配置数据

    前言 实现读取JSON文件几种方式,在项目中采取老办法简单粗暴,结果老大过来一看,恩,这样不太可取,行吧那我就用.NET Core中最新的方式诺,切记,适合的才是最好的,切勿懒. .NET Core读 ...

  8. 手把手教做单点登录(SSO)系列之一:概述与示例

    本系列将由浅入深的结合示例.源码以及演示视频,手把手的带大家深入最新的单点登录SSO方案选型与架构开发实战.文末附5个满足不同单点登录场景的gif动画演示(如果看不清请在图片上右键用新窗口打开),本系 ...

  9. 【2017-05-03】winform打印控件、事件对象和事件数据、MDI窗体容器

    一.打印控件 第一步先把打印对象搞出来. - printDocument    打印对象(将要打印的内容放到该对象里,从该对象里取内容打印) 设置他的PrintPage事件(对于要打印的每一页触发一次 ...

  10. javascript 表达式和运算符 (二)

    表达式是一种JS短语,可使JS解释器用来产生一个值. 一.表达式 表达式分类 1.原始表达式 常量.直接量 (3.14,"test"); 关键字 (null,this,true): ...