定义变量
Python程序中,变量是用一个变量名表示,变量名必须是大小写英文,数字和下划线(_)的组合,且不能用数字开头。
在Python中,等号“=”是赋值语句,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量。这种变量本身类型不固定的语言称为动态语言,与之对应的是静态语言。
静态语言在定义变量时必须指定变量类型,如果赋值的时候变量不匹配就会报错,例如Java就是静态语言。
例如:int a =123;//a是整数类型变量
a = “mooc”;//错误,不能把字符串赋值给整型变量
定义字符串
字符串可以用“ ”或者' ' 表示
当语句中含有“ ”时可用' '表示,例如:'learn “Python”in mooc'
当语句中含有' '时可用“ ”表示,;例如:”I'm ok . ”
如果语句中既有“ ”又有' ',那么我们需要对字符串的某些特殊字符进行'转义',python字符串用 " \ "转义。
要想表示字符串Bob said“I'm ok”就需要用到\转义
由于“”和''引起歧义,我们在它们前面插入一个\表示这是一个普通字符,不代表字符串的起始,即可表示为
'Bob said \"I\'m ok\".'
转义字符不计入字符串的内容中
常见的转义字符还有:\n 表示换行
\t 表示一个制表符
\\ 表示\字符本身
Python中raw字符串与多行字符串
如果一个字符串中包含很多需要转义的字符,对每个字符进行转义就会很麻烦。为了避免这种情况,我们可以在字符串前面加一个r,表示这是一个raw字符串,里面的字符就不需要转义了。例如:r'\(~_~)/ \(~_~)/'
但是r'...'表示法不能表示多行字符串,也不能表示包含“”和''的字符串。
如果要表示多行字符串可以用'''....'''表示,例如:
'''Line 1
Line 2
Line 3'''
这个字符串和'Line 1\nLine 2\nLine 3'是一个输出结果
也可以在多行字符串前面加r,这样一个多行字符串也就变成了raw字符串。
Python中Unicode字符串
print u' 中文'
多行:print u'''中文
'''
raw加多行:print ur'''
'''
#-*- coding: utf-8 -*-
Python中整数和浮点数
Python支持对整数和浮点数直接进行四则混合运算,运算规则和数学上的四则运算规则完全一致。
使用括号可以提升优先级,这和数学运算完全一致,注意只能使用小括号,但小括号可以嵌套很多层。
和数学运算不同的是,Python的整数运算结果仍是整数,浮点数运算结果仍是浮点数。但是浮点数和整数混合运算结果就变为了浮点数。
整数的除法运算除不尽的时候,结果是整数,余数被直接扔掉。如:11/4 ==2
Python有取余运算。如:11%4 ==3
如果计算11/4的准确结果,按照“整数和浮点数混合运算的结果是浮点数”的法则,把其中一个数变为浮点数再运算就可以了。
11.0/4 ==2.75 或 11/4.0 ==2.75
Python中布尔类型
Python支持布尔类型的数据,布尔类型只有True和False两种输出值,但是布尔类型有以下几种运算:
与运算:只有两个布尔值都为True时,计算结果才是True
True and Ture == True
True and False == False
False and True == False
False and False == False
或运算:只要有一个布尔值为True,计算结果就是True
True or True == True
True or False == True
False or True == True
False or False == False
非运算:把True变为False,或者把False变为True
not True == False
not False == True
布尔运算在计算机中用来做条件判断,根据计算结果为True或False,计算机可以自动执行不同的后续代码。
在Python中,布尔类型还可以与其他类型做and,or,not运算,如:
a == True
print a and 'a = T' or 'a = F'
计算结果不是布尔类型,而是字符串 'a =T’
因为Python把0、空字符' ' 和None看做False,其他数值和非空字符串看做True,所以
True and 'a=T' 计算结果是'a = T'
继续计算 'a = T' or 'a =F' 计算结果还是'a =T'
要解释上述结果,又设计到and和or运算的一条重要法则就是:短路计算。
1.在计算 a and b时,如果a是False,则根据与运算法则,整个结果必定为False,因此返回a;如果a是True,则整个计算结果必定取决于b,因此返回b。
2.在计算a or b时,如果a是True,则根据或运算法则,真个计算结果必定为True,因此返回a;如果a是False,则整个计算结果必定取决于b,因此返回b。