学习Python已有一段时间,有了初步的掌握。在这里特从头开始进行学习内容的整理,一为分享,一为复习。以求温故而知新。有所不足之处,欢迎指正。
Python数据类型:
Python可以直接处理的基本数据类型包括整数,浮点数,字符串,布尔值和空值(用None表示)。
Python变量:
Python中表示变量的变量名由大小写英文字母,数字和下划线组成。且数字不能作为变量名的开头。
Python属于动态语言,变量类型不固定。定义变量是不需指定变量的类型,变量的类型依据对变量所赋值的类型而定。可以吧任意数据类型赋值给变量,同一变量可以反复赋值,并且可以赋值给不同类型的数据。在Python中给一个变量赋值实际上就是将该变量指向值该值所在的内存。在Python中变量无类型,对象有类型。当变量指向一个对象时,就拥有了该对象的类型。
Python中字符串:
(1)字符串的定义可以用 ' ' 或者 " " 来表示,如果字符串中包含 ' 可以用 " " 来表示;或者如果包含 " 则可以用 ' ' 来表示。也可以用 \ 来进行字符转义。同大多数编程语言相同在Python中“\n”表示换行,“\t”表示制表符,“\\”表示“\”。此外还可以用 r'……' 来输出特殊字符,其中的任何字符都不会进行转义。
在Python中多行字符串的输出除了可以用“\n”进行转义外,还可以使用 r'''……'''来进行表示,在这个raw中可以直接进行文本的换行。如:
print r'''"To be, or not to be":
that is the question.
Whether it's nobler in the mind to suffer.'''
这个代码块输出的结果为:
(2)Python2的默认编码格式为ASCII,不能识别中文字符需要显式指定字符编码。需要在Python代码中输入中文一定要在第一行加上“# -*- coding:utf-8 -*-”或“#coding=utf-8”Python3的默认编码格式为Unicode,可识别中文字符。
Python中的整数和浮点数:
Python支持对整数和浮点数直接进行四则混合运算,运算规则和数学上的四则混合运算完全一致。并可以使用括号来提高优先级。
#定义整型变量
a1 = 10
a2 = 0x12fd2;
print '整型变量a的值为:',a1,'整型变量b的值为:',a2
print '变量a加b的结果为',a1+a2
#定义浮点型型变量
b = 1.2
print '浮点型变量b的值为:',b
值得注意的是在Python中的四则运算中,整数和整数进行四则运算的得到结果只能是整数。在整数除以整数存在余数的情况下余数会被直接忽略。浮点数和浮点数四则运算的结果为浮点数。浮点数和整数进行四则运算得到的结果为浮点数。
#在整型变量的除法运算中,不能得到浮点型的商。需要加入浮点型值参与除法运算
a3 = 12
a4 = 5
print 'a3/a4=' , a3 / a4 #结果为2
print '(a3+0.0)/a4=' , ( a3 + 0.0 ) / a4 #结果为2.4
Python中布尔类型:
在Python中布尔类型的值为“True”和“False”(注意大小写准确)。另外Python将0、空字符串''和None看成False,把其他值和非空字符串看成True。
Python同样有与运算(and)、或运算(or)、非运算(not)。与运算和或运算有一条重要法则:短路计算。
短路计算:(1)在计算 “a and b”时,如果a为False,则根据运算规则整个结果为False,此时与b的值无关,因此返回a;如果a为True,则整个计算计算结果由b的值决定,因此返回b。(2)在计算“a or b”时,如果a为True,则根据运算规则整个结果为True,此时与b的值无关,因此返回a;如果a为False,则整个计算计算结果由b的值决定,因此返回b。即and是从左到右计算表达式,如果均为真,则返回最后一个真值,若存在假则返回第一个假值;or同样也是从左往右计算表达式,如果存在真,则返回第一个真值。若都为假则返回最后一个假值。
Python中字符串:
字符串是以''
或""
括起来的任意文本,比如'abc',"xyz"等等。请注意,''或""本身只是一种表示方式,不是字符串的一部分,因此,字符串'abc'
只有a,b,c
这3个字符。
Python中的空值:
空值是Python里一个特殊的值,用None
表示。None不能理解为0,因为0是有意义的,而None是一个特殊的空值。