这里跟着廖雪峰老师的教程进行学习Python,教程链接
数据类型
Python中可以处理的数据类型有以下几种:
整数
Python可以处理任意大小的整数,包括负数,在程序中的表示方法和数学上一致,例如,1,100,388,-777,0,等等。
浮点数
浮点数也就是小数,之所以称为浮点数,因为按照科学计数法表示时,一个浮点数的小数点位置是可变的,比如,
1.23×109和12.3×108是相等的.浮点数可以用数学写法,如1.23,3.14,-8.98等等.但对于很大或很小的浮点数必须用科学计数法表示,把10用e替代,1.23×109就是1.23e9,0.000012写成1.2e-5,等等.
整数和浮点数在计算机内部存储的方式是不同的,整数运算永远是精确的(包括除法也是精确的),而浮点数运算则可能会有四舍五入的误差.
字符串
字符串是以单引号’或者双引号”括起来的任意文本.而引号只是一种表示方法,不是字符串的一部分.如果’本身也是一个字符,那就可以用””括起来.比如”I’m OK”.
如果字符串内既有’也有”,可以用转义字符\来标识.
'I\'m \"OK\"!'
表示的内容是:
I'm "OK"!
常用的转义字符还有:
\n 表示换行
\t 表示一个制表符
\\ 表示 \ 字符本身
如果字符串里面有很多字符都需要转义,就需要加很多\,为了简化,Python还允许用r”表示”内部的字符串默认不转义.
如果字符串内部有很多换行,用\n写在一行里不好阅读,为了简化,Python允许用”’…”’的格式表示多行内容.
多行字符串”’…”’还可以在前面加上r使用.
布尔值
布尔值和布尔代数的表示完全一致,一个布尔值只有True、False两种值,要么是True,要么是False,在Python中,可以直接用True、False表示布尔值(请注意大小写),也可以通过布尔运算计算出来.
布尔值可以用and(与)、or(或)和not(非)运算。
空值
空值是Python里一个特殊的值,用None表示。None不能理解为0,因为0是有意义的,而None是一个特殊的空值。在交互命令行中空值没有显示.
基本数据类型转换
方法 | 说明 |
---|---|
int(x [,base ]) | 将x转换为一个整数 |
long(x [,base ]) | 将x转换为一个长整数 |
float(x ) | 将x转换到一个浮点数 |
complex(real [,imag ]) | 创建一个复数 |
str(x ) | 将对象 x 转换为字符串 |
repr(x ) | 将对象 x 转换为表达式字符串 |
eval(str ) | 用来计算在字符串中的有效 Python 表达式,并返回一个对象 |
tuple(s ) | 将序列 s 转换为一个元组 |
list(s ) | 将序列 s 转换为一个列表 |
chr(x ) | 将一个整数转换为一个字符 |
unichr(x ) | 将一个整数转换为 Unicode 字符 |
ord(x ) | 将一个字符转换为它的整数值 |
hex(x ) | 将一个整数转换为一个十六进制字符串 |
oct(x ) | 将一个整数转换为一个八进制字符串 |
Python 中的变量
1、变量的创建和赋值
在 Python 程序中,变量是用一个变量名表示,可以是任意数据类型,变量名必须是大小写英文、数字和下划线(_)的组合,且不能用数字开头,比如:
a=88
这里的 a 就是一个变量,代表一个整数,注意一点是 Python 是不用声明数据类型的。在 Python 中 = 是赋值语句,跟其他的编程语言也是一样的,因为 Python 定义变量时不需要声明数据类型,因此可以把任意的数据类型赋值给变量,且同一个变量可以反复赋值,而且可以是不同的数据类型。
这种变量本身类型不固定的语言称之为动态语言,与之对应的是静态语言。静态语言在定义变量时必须指定变量类型,如果赋值的时候类型不匹配,就会报错。例如 Java 是静态语言。
2、变量的指向问题
我们来看下这段代码,发现最后打印出来的变量 b 是 Hello Python 。
a = 'Hello World'
b = a
a = 123
print(b)
这主要是变量 a 一开始是指向了字符串 Hello Python ,b=a 创建了变量 b ,变量 b 也指向了a 指向的字符串 Hello Python,最后 a=123,把 变量 a 重新指向了 123,所以最后输出变量 b 是 Hello Python
3、多个变量赋值
Python 允许同时为多个变量赋值。例如:
a = b = c = 1
以上实例,创建一个整型对象,值为 1,三个变量被分配到相同的内存空间上。
当然也可以为多个对象指定多个变量。例如:
a, b, c = 1, 2, "Hello"
以上实例,两个整型对象 1 和 2 的分配给变量 a 和 b,字符串对象 “Hello” 分配给变量 c。