在python中,变量用一个变量名表示。变量名必须是大小写英文、数字和下划线(_)的组合,不能以数字开头。
如:a=1 t_007=‘t_007’ ,其中a、t_007都是变量。
在python中,“=”是赋值语句,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量。
如:a=123 #a是整数
a=‘hello’ #a是字符串
这种变量本身类型不固定的语言成为动态语言,与之对应的是静态语言。
定义字符串
①本身包含单引号(’),则用 双引号(")
字符串:I’m fine
python中输入 : print " I’m fine "
②本身包含双引号("),则用单引号(’)
字符串:Learning “Python”
python中输入: print 'Learning " Python " ’
③既有单引号( ’ )也有双引号("),需要对字符串的某些特殊字符进行“转义”,用 \ 进行转义。由于’ '和 " " 引起歧义,因此在它面前插入一个\,表示这是一个普通字符,不代表字符串的起始。
如:Bob said " I’m fine “.
可以表示为: print ’ Bob said " I 'm fine” .’
转义字符不计入字符串的内容中。
常用的转义字符有:
\n 表示换行
\t 表示制表符
\ \ 表示字符\本身
raw字符串与多行字符串
如果一个字符串包含很多需要转义的字符,对每个字符串都转义会很麻烦。为了避免这种情况,可以在字符串前加一个前缀 r 。表示这是一个raw字符串,里面的字符就不需要转义。
例如:r '(~ _ ~)/ \ (~ _ ~)/ ’
但是 r ’ …’ 不能表示多行字符串,也不能表示包含 ’ 和 " 的字符串。若要表示多行字符串,用 ‘’’ …’’'表示。
如:
"’ line1
line2
line3 "’
等同于: ’ line1 \n line2 \n line3’
也可以在多行字符串前添加r,变成一个raw字符串。
Unicode字符串
Unicode通常用两个字节表示一个字符,原有的英文编码从单字节变双字节,高字节全部填0即可。
在python,以Unicode表示的字符串用 u ‘…’ 表示,例如:print u ‘中文’ ,不加u的话中文就不能正常表示。
转义字符和多行表示法仍有效:
①转义: u’中文\n英文\n韩文’
②多行:
u’’‘第一行
第二行’’’
③raw+多行: ur ‘’’ Python支持 “中文” 等多种语言 ‘’’
可以在保存Notepad++文件时在文件的第一行添加注释:#- * -coding:utf-8 - * - 。目的是告诉python解释器,用utf-8编码读取代码。
整数和浮点数
python支持整数和浮点数直接进行四则运算。python中整数的运算仍是整数,浮点数的运算仍是浮点数,整数和浮点数的混合运算结果是浮点数。
print 1+2 #结果是整数3
print 1.0+2.0 #结果是浮点数3.0
print 1+2.0 #结果是浮点数3.0
整数的除法遇到除不尽的数时,将其中一个变为浮点数再运算,例如 :11/4 将11变成浮点数11.0,结果是2.75
布尔类型
布尔类型有三种运算:
①与运算:只有布尔值都为True时,计算结果才为True;
②或运算:只要有一个布尔值为True时,计算结果就是True;
③非运算:把True变成False,把False变True;
在python中,布尔类型还可以与其他数据类型做and、or或者not运算。python中把0、空字符串’ '、和None看成False,其他数值或费控字符串都看成True。