今天学习了一些简单的语法规则,话不多说,开始了:
二、数据类型
常用数据类型中的整形和浮点型就不多说了。
1、字符串
字符串是用 ‘’ 或者“” 括起来的任意文本,比如’dfjksj’,”tijdkf”。
如果字符串中有’或者"都需要使用转译,比如,Lily said "I’m OK”
书写方式为:’Lily said ”I’m OK"'
也可以使用raw字符串,如果一个字符串中包含很多需要转义的字符,对每个需要转义的字符都做操作很复杂,这时候就需要使用raw字符串,r’...'表示不能包含’和”的字符串,r’’’…...’'’表示多行,可以包含’和”的字符串。’’’...’'’表示多行。例子:
在使用print 打印字符串时,可以使用,来分隔字符串来输出,使用 + 号来连接字符串,区别看下面的例子:
这时可能会出先错误,是因为不支持汉字,可以在第一行加上“# _*_ coding: utf-8 _*_”或者“# encoding=utf8”,再运行,OK了。如果是数字用 + 号连接输出的结果就是返回的新数值。
2、布尔型
Python中的布尔型只有True、False两种,布尔值可以使用and、or和not来运算,就相当于C中的 && 、||、!。
看一个例子:
这个例子中还有一个重要的规则:短路计算。
a and b , 如果a是false,则整个结果都是false,不需要继续计算;如果a是true,则结果取决于b,最终返回b。
a or b,如果a是false,则结果取决于b,返回b;如果a是ture,则直接返回a,不需要看b的结果。
Python中0,空字符串’’和None都是False。其他的都是True。所以在上面的例子中判断过and之后就直接返回了结果。abc改为False,结果就是abc is false 了。
3、空值
None,相当于C中的NULL,OC的nil。
4、数组(List)
一种有序的队列,使用[],每个元素之间使用,号分割。
array = [‘abc’,’haha’,100,True] 这样就初始化了一个数组,代码真的很简洁。而且从这个例子中可以看出来,Python中的数组里是可以添加不同的数据的,OC也可以。
array.append(‘123’) #结果[‘abc’,’haha’,100,True,’123']
array.insert(1,’456’) #结果[‘abc’,’456',’haha’,100,True,’123']
array.pop() #结果[‘abc’,’456',’haha’,100,True]
array.pop(1) #结果[‘abc’,’haha’,100,True]
append是默认加到最后一个位置,insert是可以选择插入的位置,pop是删除一个元素,默认删除最后一个,可以通过括号内的数值来控制删除元素的位置,同下面对下标的介绍一个,也可以使用负数表示倒序。
获取元素通过下标就可以拿到,如array[2],当然要注意数组越界的问题,值得一提的是,python中提供使用负数下标倒序获取元素,如array[-1] 取最后一个,array[-2]取倒数第二个,同样需要注意数组越界的问题。
获取元素个数的函数使用的内建函数,len(s) 返回对象的长度(元素个数)。参考可以是序列(如字符串,字节,元组,列表或者范围)或者集合(如字典、集合或者固定集合)。
最后数组也可以是空的,array = []这就是一个空的list.
5、元组(tuple)
也是一种有序的队列,和数组很类似,元组一旦创建就不能修改了。
t = (‘abc’,’haha’,100,True) 创建之后就不可变了,但是有一个情况需要特别提一下,如果元组中包括数组(list),包含的数组里面的数据是可以改变的。元组的获取也是通过下标的。
单元素的元组创建时,t = (2,) t = (‘abc’,) 需要加一个, 如果只使用() 编译器无法确定括号是用来提高运算优先级的还是创建元组的。
(未完 待续)