Python变量和数据类型
变量本身类型不固定的语言称之为动态语言,与之对应的是静态语言。静态语言在定义变
量时必须指定变量类型。
如果字符串本身包含怎么办?比如我们要表示字符串IOK,这时,可以用括起
来表示:ImOK
类似的,如果字符串包含,我们就可以用括起来表示:LearnPythoninimooc
如果字符串既包含又包含怎么办?
这个时候,就需要对字符串的某些特殊字符进行转义,Python字符串用\进行转义:Bob
said\I\mOK\.
字符串前面加个前缀r,表示这是一个raw字符串,里面的字符就不需要转义了。例
如:r\(~_~)/\(~_~)/
表示多行字符串,可以用...表示:
Line1
Line2
Line3
还可以在多行字符串前面添加r,把这个多行字符串也变成一个raw字符串:
Python在后来添加了对Unicode的支持,以Unicode表示的字符串用u...表示,
比如:printu中文
Python中布尔类型
and和or运算的一条重要法则:短路计算。
1.在计算aandb时,如果a是False,则根据与运算法则,整个结果必定为False,
因此返回a;如果a是True,则整个计算结果必定取决与b,因此返回b。
2.在计算aorb时,如果a是True,则根据或运算法则,整个计算结果必定为True,
因此返回a;如果a是False,则整个计算结果必定取决于b,因此返回b。
List和Tuple类型
list
用[]把list的所有元素都括起来,就是一个list对象。通常,我们会把list赋值给一个
变量。由于Python是动态语言,所以list中包含的元素并不要求都必须是同一种数据类型,
我们完全可以在list中包含各种数据
用-1这个索引来表示list最后一个元素,倒数第二个元素用-2,以此类推,注意不要越
界。
用list的append()方法,把元素追加到list的末尾;用list的insert()方法,它接受
两个参数,第一个参数是索引号,第二个参数是待添加的新元素。
用list的pop()方法总是删掉list的最后一个元素,并且它还返回这个元素。如果要删除
的元素a不在末尾,先定位的a的索引,例如a的索引是2,则用pop(2)把a删除。
对list中的某一个索引赋值,就可以直接用新的元素替换掉原来的元素,list包含的元
素个数保持不变。
tuple是另一种有序的列表,中文翻译为“元组”。tuple和list非常类似,但是,tuple
旦创建完毕,就不能修改了。
tuple
创建tuple和创建list唯一不同之处是用()替代了[]。
Python规定,单元素tuple要多加一个逗号“,”,这样就避免了歧义。例:
t=(1,)
条件判断和循环
Python代码的缩进规则。具有相同缩进的代码被视为代码块。缩进请严格按照Python的
习惯写法:4个空格,不要使用Tab,更不要混合Tab和空格,否则很容易造成因为缩进
引起的语法错误。在Python交互环境下敲代码,还要特别留意缩进,并且退出缩进需要
多敲一行回车
if语句后接表达式,然后用:表示代码块开始。
根据条件表达式的值为True或者False,分别执行if代码块或者else代码块。else
后面有个“:”
避免嵌套结构的if...else...,我们可以用if...多个elif...else...的结
构,一次写完所有的规则。elif意思就是elseif。
for循环可以依次把list或tuple的每个元素迭代出来:
fornameinL:代码块#依次取出listL中的每个元素并将元素赋值给name。
while循环不会迭代list或tuple的元素,而是根据表达式判断循环是否结束。
while表达式:
Dict和Set类型
Dict
花括号{}表示这是一个dict,然后按照key:value,写出来即可。最后一个key:value的
逗号可以省略。
Dict的特点:
dict的第一个特点是查找速度快,第二个特点是存储的key-val