代码改变世界

Python自动化开发-变量、数据类型和运算

2017-02-15 16:20  fkk  阅读(206)  评论(0编辑  收藏  举报

一、变量

变量定义:Variables are used to store infomation to referrenced and manipulated in a computer program.

用于存储程序运行的中间运算结果

  • 标识
  • 存储

变量在程序中用一个变量名表示

  • 变量名必须是大小写英文、数字和_的组合,且不能用数字开头
  • 对大小写敏感
  • 推荐小驼峰命名法,如myFirstName, myLastName
  • 关键字不能声明为变量

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

myFisrtName = "Jonathan"

myLastName = "Ni"

 

 

 

请不要把赋值语句的等号等同于数学的等号。比如下面的代码:

x = 8

x = x + 2

 

 

 

从数学上理解 x = x + 2 是不成立的。在程序中,赋值语句先计算右侧的表达式x + 2,得到结果10,再赋给变量x。

由于x之前的值是8,重新赋值后,x的值变成10。

 

理解变量在计算机内存中的表示非常重要,如以下声明变量并赋值。

a = "ABC"

 

 

Python解释器干了两件事情:

  1. 在内存中创建了一个"ABC"的字符串;
  2. 在内存中创建了一个名为a的变量,并把它指向"ABC"。

常量就是不能变的量,通常用全部大写的变量名表示。  

PI = 3.14159265359

 

 

总结:

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

 

二、数据类型

计算机就是可以做数学计算的机器。计算机程序理所当然要处理各种数值。除了数值,计算机还可以处理文本、图形、音频、视频、网页等

各种数据。不同的数据,需要定义不同的数据类型。

 

1、数字

整数:表示方法和数学上的写法一样,如1, -100, 0, 1000等。或16进制表示,0xffffff, 0xabcd等

浮点数:也就是小数,如0.99, -1.25, 88.88等。或者科学计数法表示1.23e8, 1.2e-8等

复数:由实数部分和虚数部分组成,一般形式为 x + yj,如(-5+4j)等

数字没有大小限制,超出一定范围就直接表示为inf(无限大)

 

2、字符串

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

例如 'abc'只有a,b,c 这3个字符。

如果 ' 本身也是一个字符,那就可以用 "" 括起来,比如 "I'm OK" 包含的字符是I, ', m, 空格, O, K这6个字符。

字符串内部既包含 ' 又包含 " 可以用转义字符 \ 来标识。如'I\'m \"OK\"!',表示I'm "OK"!

转义字符可以转义很多字符,比如\n表示换行,\t表示制表符,\\表示字符\

如果字符串内部有很多换行,可用'''.......'''的格式表示多行内容。

 

字符串常用功能

  • string.strip([chars]) 方法用于移除字符串头尾指定的字符(默认为空格)

"  Jonathan     ".strip()     >>>  "Jonathan"

";Jonathan;;".strip(";")    >>>  "Jonathan"

 

 

 

参数:   chars -- 移除字符串头尾指定的字符

返回值:返回移除字符串头尾指定的字符生成的新字符串。原字符串保持不变。

  • len(string)方法返回字符串长度。
len("Jonathan")   >>>  8

 

参数:   str -- 字符串

返回值:字符串长度

  • string.index(str, beg=0, end=len(str))方法检测字符串中是否包含子字符串 str

"Jonathan".index("J")      >>>  0

"Jonathan".index("J",1)  >>>  substring not found

"Jonathan".index("an")   >>> 6

 

 

 

 

  • 字符串拼接

"Jon" + "nathan"   >>>  "Joanthan"    # 遇 + ,解释器需重新申请内存

 

 

  • 格式化输出

name = "Jonathan"

print("My name is %s."%(name)   >>> "My name is Jonathan."

 

 

 

3、布尔型

布尔值和布尔代数的表示完全一致,一个布尔值只有True,False两种值(注意大小写),布尔值可以用 and、or、not运算

and运算是与运算,只有所有都为True,and运算结果才是True

or运算是或运算,只要其中有一个为True,or运算结果就是True:

not运算是非运算,它是一个单目运算符,把True变成False,False变成True

 

布尔值经常用在条件判断中

if age >= 18:

    print("adult")

else:

    print("teenager")

 

 

 

 

 

4、空值

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

 

三、运算

1、算术运算

比较运算

赋值运算

逻辑运算

5、成员运算

6、身份运算

7、位运算