Python 03_变量和数据类型

01 数据类型

在 Python 中,能够直接处理的数据类型有以下几种:

整数

Python 可以直接处理任意大小的整数,包含负整数。 十进制表示整数和数学上一样;十六进制表示整数需要在前面加 0x , 后面用十六进制表示。

浮点数

浮点数即小数,之所以叫浮点数,是因为按照科学计数法表示时,一个浮点数的小数点位置是可变的。 整数和浮点数在计算机内部的储存方式是不同的,整数运算永远是精确的( 除法也是精确的!) ,而浮点数可能会有四舍五入的误差。

字符串

字符串是以 ' ' ," " , 括起来的任意文本。

布尔值

布尔值和布尔代数的表示完全一致,一个布尔值只有 True、False 两种值;Python 中可以直接使用 True、False 表示布尔值(注意大小写),也可以通过布尔运算计算出来,布尔值可以用 and (与) 、or (或)、not(非)运算 。

空值

空值是 Python 里一个特殊的值,用 None 表示。 None 不能理解为 0 ,因为 0 是有意义的,而 None 是一个特殊的空值。

此外, Python 还提供了列表、字典、等多种数据类型; 还允许创建自己定义的数据类型, 后面继续学习。

练习:
1.计算十进制整数和十六进制整数之和, 自己随便相加。 (Python 可以直接进行操作!)
2.用字符串表示一串字符。 例如: Learn Python in 2017.6
3.计算表达式的布尔值。例如: 99>100, 0xff == 255 。
使用 print 命令打印

02 print 语句

print语句可以向屏幕上输出指定的文字。比如输出'hello, world',用代码实现如下:

>>> print 'Hello,World'
  • 在 Python 交互式环境下编写代码时, >>> 是 Python 解释器的提示符,而不是代码。
  • 在自己写的时候不要加 >>> 。

print 语句也可以跟多个字符串, 用逗号隔开,就可以连成一串输出:

>>> print  'one', 'two', 'three'

print 会一次打印每个字符串,遇到逗号 '','' 会输出一个空格。 从而输出:

one two three

03 Python 的注释

Python 中使用 # 来注释代码。

04 Python 中什么是变量

Python 程序中的变量, 是用一个变量名表示,变量名必须是 大小写英文、数字和下划线(_)的组合,且不能用数字开头
在 Python 中 = 号是赋值语句,可以把任意数据类型赋值给变量,同一个变量可以反复赋值, 而且可以是不同类型的变量。例如:

x = 100      # x 是整数
print x
x = 'learn python'    # x 为字符串
print x

这种变量本身类型不固定的语言称为动态语言,与之对应的是静态语言;静态语言在定义变量时必须指定变量类型,否则在赋值的时候就会出错、像Java、C/C++ 这样的静态语言在赋值前都要指定变量类型。

练习:
等差数列可以定义为每一项与它的前一项的差等于一个常数,可以用变量 a1 表示等差数列的第一项, 用 d 表示公差,请计算数列 1 4 7 10 13 16 19 ...
前 100 项的和。

a1 = 1
d = 3
n = 100
an = a1 + (n-1) * d
s = n * a1 + n * (n-1) * d/2
print  s

05 Python 中定义字符串

当然字符串都知道是怎么定义的了。 这里主要提及到 ' ' 和 '' '' 在某些时候互相包含,或者同时存在的情况。如果同时存在, 那么就要用转义字符 \ 来表示一个普通的字符,不代表字符串的起始。

'Jane said \" I\' m OK\"!'

其他转义字符:

\n 表示换行
\t  表示一个制表符
\\  表示 \ 字符本身
等等......

06 Python 中 raw 字符串与多行字符串

为了避免一个字符串里包含了很多需要转义的字符, 对每一个都进行转义那么就很麻烦, Python 中, 可以在前面加一个 r , 表示这是一个 raw 字符串,里面需要转义的字符就不用转义了; 但是 r'...' 表示法不能表示多行字符串, 也不能表示包含 ' 和 '' 的字符串 !
如果要表示多行, 就用 '''......''' 来表示。( 也可以在多行字符串前面加 r , 把这个多行变成一个 raw 字符串。 )

07 Python 中的 Unicode 字符串

当然字符串还会涉及一个编码的问题。 一些关于 Unicode 的历史,这里就不说了。
在 Python 中后来添加了对 Unicode 的支持, 以 Unicode 表示的字符串用 u'...' 表示, 例如 :

print u'我的世界'

注意: 不加 u 中文就不能正常显示。 所以 Unicode 字符串除了多了一个 u 之外,与普通的字符串没什么区别。 转义字符和多行字符串表示法,raw + 多行 仍然有效。

如果中文字符串在 Python 环境下遇到 UnicodeDecodeError, 这是因为 .py 文件保存的格式有问题。可以在第一行添加注释。

# -*- coding: utf-8 -*-

这样的作用就是告诉 Python 解释器,用 UTF-8 编码读取的源代码,然后用 Notepad++ 或者其他 另存为...并选择 UTF-8 格式保存。

07 Python 中整数和浮点数

Python 中对整数和浮点数的运算跟数学中的四则运算规则完全一致, 但和数学运算不同的地方是, Python 的整数运算结果仍然是整数, 浮点数运算结果仍然是浮点数。但整数和浮点数的运算结果就变成了浮点数。
为什么要区分整数和浮点数?

计算机的无法表示无限循环小数。

小练习:
请计算 2.5 + 10 / 4 ,并解释计算结果为什么不是期望的 5.0 ?
请修复上述运算,使得计算结果是 5.0

print 2.5 + 10.0 / 4

08 Python 中的布尔类型

布尔值只有 2 种: True & False 。但是在布尔类型运算有以下几种:
与运算:
两个布尔值都为 True 时, 计算结果才为 True。

True and True   # ==> True
True and False   # ==> False
False and True   # ==> False
False and False   # ==> False

或运算:
一个布尔值为 True 时, 计算结果才为 True。

True or True      # ==> True
True or False     # ==> True
False or True     # ==> True
False or False   # ==> False

非运算:
把 True 变为 False, 或者把 False 变为 True。

not True   # ==> False
not False   # ==> True

在 Python 中把 0空字符串''None看成是 False,其他数值和非空字符串都看成是 True。
Python解释器在做布尔运算时,只要能提前确定计算结果,它就不会往后算了,直接返回结果; 这涉及到 Python 中 and 和 or 运算的一条重要法则短路计算

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,560评论 4 361
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,104评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,297评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,869评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,275评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,563评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,833评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,543评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,245评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,512评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,011评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,359评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,006评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,062评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,825评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,590评论 2 273
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,501评论 2 268

推荐阅读更多精彩内容