首页 > 代码库 > 1.python变量与基础数据类型

1.python变量与基础数据类型

一.什么是变量?

在我的理解,程序中的变量就是在内存中开辟出一块空间,也可以把变量看作是一种容器,

程序的运行本质是一系列状态的变化,而变量这种容器就是通过内存来保存程序运行的状态,变量值的变化就构成了程序运行的不同结果。

二.变量有哪些赋值方式?

1.最基本的赋值方式,变量名 = 变量值 ,name = “suhaozhi”。

2.链式赋值,a = b = c = "suhaozhi" (变量a,b,c同时对应了一个变量值“suhaozhi”,地址空间都是一模一样的)

3.同时给多个变量名赋值 name,age = “suhaozhi”,“22” (变量名,变量名 = 变量值,变量值)

4.变量交换 a,b = b,a (变量名a和变量名为b的变量值会交换)

5.变量值自增 n += 1 (每次n的值自增1,也就是n = n + 1) 


三.标准数据类型。

1.数字:数字分为整数,长整数,布尔值,浮点数,复数。

int整数:a = 1


long长整数:a = 1300000000000000

print type(a)

<type ‘long‘>


bool布尔值:Ture和False 1和0,这个没啥好说的了。


float浮点数:浮点数就是数学中的小数,在python中,整数如果和浮点数相加最后还是等于浮点数。

print 5 + 1.5


2.和数字相关的常用函数。

int() 将其他数字类型转换为整数,例如 int(3.14) 这个小数3.14就会被转换为3。


round()四舍五入,例如round(3.58)四舍五入就为4.0


math.floor() 离原小数最近,但小于原小数的整数,例如 math.floor(3.4) 最后这个3.4就被转换为3.0

(需要import math模块)


math.ceil() 和floor相反,离原小数最近,但大于原小数的整数,例如math.ceil(3.4)最后这个3.4就被转换为4.0


float()将数字转换为浮点数。


bool ()布尔值函数,只要传给这个函数的值不是空,不是None,不是0,就为True,否则就返回False。


abs()获取绝对值,例如abs(-1) 就能求出-1的绝对值。

coerce()可以接收两个参数,可以把两个不同类型的数字转换为相同类型,并且返回一个元祖。


divmod()返回一个包涵商和余数的元祖,例如divmod(101,10) 也就是101除以10,最后得到的结果就是(10,1)10余1。

#divmod这个函数非常适合用来做分页!


pow() 用来算一个数的n次方,例如pow(2,10),这个就是求2的10次方,也就等于1024。


hex()将一个10进制的数字转换为16进制


oct()将一个10进制的数字转换为8进制


ord()根据ascii表将字符转换为10进制数


chr()根据ascii表将10进制数转换为字符


3.关于字符串。

单引号‘   ‘    双引号 “ ”  三引号‘‘‘ ‘‘‘  在这三个符号中间的字符,都属于字符串类型,字符串是有序的。


关于字符串,在这需要补充两点!

字符串的单引号和双引号,都无法取消特殊字符的含义,如果想取消特殊字符的含义,需要在字符串前面加上r!

如果是unicode字符串,u必须加在r的前面。

下面是关于特殊字符的示例:

print ‘‘‘45\4545‘‘
45,5

print r‘‘‘45\4545‘‘‘
45\4545

判断字符串类型的一些常用方法。

isdigit() 检测一个字符串中是否全部都是数字,如果是返回True,否则返回false。(突然发现这个方法还可以检测罗马数字。。。。但是对汉字的数字不支持)

isdecimal()检测一个字符串中是否只包涵十进制字符,注意哦!是只包涵十进制字符串。(不支持罗马数字和中文)


isnumeric()检测字符串是否只由数字组成(经过测试发现unicode数字,罗马数字,汉子数字都可以检测)


4.列表(list)

列表和其他编程语言的数组很类似,在[]中括号中定义,每个元素都一(,)逗号为分隔符,可以按照索引来存放各种各样的数据类型。

一个列表中可以存放n个值,每个值都被称为一个元素,列表中的每个元素都是可以修改的,如果想从列表中取元素的话,索引(下标)是从0开始。

例如:

首先定义一个列表,并且,在这个列表中定义了两个元素。

l1 = ["suhaozhi","hamasaki"]

如果想取出第一个元素,就要从第0个索引还是取,第二个元素,从第一个索引开始取,以此类推。

print l1[0]

suhaozhi

print l1[1]

hamasaki


列表都可以做些什么呢?

通过索引查找元素,增加元素,删除元素,在尾部追加元素,计算列表长度,循环,包涵 等。

上面说的这些是比较常用的。

关于具体操作的方法,请看后面专门关于列表,,元祖,字典的文章~


5.元组(tuple)

和列表特别相似的一种数据类型,把列表的[]中括号换成了()小括号,它和列表最大的区别就是,元组里面的元素是只读不可修改的!!除了修改,删除之类的功能,列表能做的元组也可以。


6.字典(dict)

当数字索引不好用的时候,字典这种数据类型就派上用场了。

首先,先来说说字典的特性,字典中存放的都是键值对(key-value),key必须可hash,在字典中必须唯一,每个key对应的value都是可修改的,字典中的key是无序的。

如何创建字典?

第一种方法

d1 = {‘name‘:‘suhaozhi‘,‘age‘:22}

第二种方法

d1 = dict(name=‘suhaozhi‘,age=22)

第三种

d1 = dict({"name":"suhaozhi","age":22})

第四种

d1 = dict(([‘name‘,‘suhaozhi‘],[‘age‘,22]))

这四种方法效果都是一样的。


字典的常用操作有,索引,增加,删除,修改,循环,查找所有key,查找所有value,长度判断。

关于具体操作的方法,请看后面专门关于列表,,元祖,字典的文章~


7.集合(set)

集合中每个元素在这个集合中都是可hash唯一的值,并且没有顺序,就像字典中的key一样,集合存在的目的,就是把不同的值存放到一起,和不同的集合进行关系运算,比如说,取交集,差集之类的。

集合中的每个成员,都是用逗号来分隔的。

创建一个集合

s1 = {1,2,3,4}

补充下,还有一种不可变集合,frozenset()函数。

关于集合的常用方法后面有专门的文章会介绍~~这里就不多说啦~


8.bytes字节类型

数据通过网络传输,或者内存变量存储到硬盘的时候,都需要转换成字节类型,字符串前面如果有b,就说明这是字节类型。


上面这些就是python常见的数据类型的简单介绍,好多都是个人理解,有些的不太对的地方欢迎指正~~


本文出自 “reBiRTH” 博客,请务必保留此出处http://suhaozhi.blog.51cto.com/7272298/1905372

1.python变量与基础数据类型