一.什么是变量?
在我的理解,程序中的变量就是在内存中开辟出一块空间,也可以把变量看作是一种容器,
程序的运行本质是一系列状态的变化,而变量这种容器就是通过内存来保存程序运行的状态,变量值的变化就构成了程序运行的不同结果。
二.变量有哪些赋值方式?
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)
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常见的数据类型的简单介绍,好多都是个人理解,有些的不太对的地方欢迎指正~~