Python基础
Python以#
开头的语句为注释,当语句以:
为结尾的时候,缩进的代码会被视为一个代码块.
数据类型
Python的数据类型有整数,浮点数,字符串,布尔值.Python允许用'''...'''
的格式表示多行内容.
空值:用None
表示.None
不能理解为0
,因为0
是有意义的,而None
是一个特殊的空值.
变量:在Python中=
是赋值作用,可以把任何数据类型赋值给变量,同一个变量可以反复赋值,类型也可以不同.
例如
a = 123;
print a; #a是整数
a = true;
print a; #a是布尔类型
关于字符编码,因为Python早期开发出来只支持ASCII编码,后来添加了对Unicode的支持,以Unicode表示的字符串用u’…’表示.
输出格式化的字符串:像C语言那样输出如何做到呢.
int a = 100;
printf("%d",a);
在Python中,采用的格式化方式和C语言是一致的,用%实现:
print 'Hi,%s' %'guy';
- 常见的有:
- %d 整数
%f 浮点数
%s 字符串
%x 十六进制整数
字符串输出有时候需要用到转义字符.
如果不知道输出什么类型,%s
永远起效.
- %d 整数
list
Python的一种数据类型:list,一种有序的集合,可以随时添加和删除数据.
string = ['I','Love','You'];
print string; #['I', 'Love', 'You']
可以用len()
来获取list元素的个数.
print string(0);#I
print len(string); #3
可以用索引来访问list中的每一个元素,Python的索引是从0开始.当超出了索引范围,Python会返回一个IndexError的错误.要确保索引不要越界,记得最后一个元素的索引是len(classmates) - 1
.还可以直接用-1
直接获取最后的元素.
print string[len(classmates)-1]; #You
print string[-1]; #You
print string[3]; #IndexError: list index out of range
以此类推,可以获取倒数的第二或第三个.
print string[-2];#Love
list是可变的有序表,可以添加,插入,删除元素.
在末尾添加元素:
string.append('xx');# append()会在末尾添加一个元素
print string;#['I', 'Love', 'You', 'xx']
删除元素:
pop()有两种用法
- 默认删除末尾的元素
string.pop();#pop()默认会删除掉最后的元素.
print string;#['I', 'Love', 'You']
- 删除指定位置的元素
string.pop(1);
print string;#['I']
把元素插入到指定的位置:
string.insert(1,'don\'t');#这里要用到转义字符.在索引为1的地方插入'don't'
print string; #['I', 'don't']
list里存放的数据类型也可以不同,例如:
string = ['a','b',['c','d']];
print string;#['a', 'b', ['c', 'd']]
细心的朋友会发现list里面存放着list,这时候可以用s[2][x]
来访问.有些大兄弟就说”这不是数组吗?”,确实可以把它看成一个二维,三维…数组.
tuple
tuple叫元素,和list一样都是有序列表,但一旦初始化就不能修改,也没有append(),insert(),pop()函数.
当定义只有一个元素的tuple时,需要用到逗号,否则定义的不是tuple,而是一个整型变量.
string1 = (1);
string2 = (1,);
print string1,string2;#1 (1,)
其他则和list一样.
dict
dict全程dictionary,在其他语言中叫做map,用key-value存储,一一对应,查询速度很快(hash算法).
dictionary = {'xiaoming':95,'daming':80};
print dictionary['xiaoming'];95
如果key不存在,dict就会报错.
print dictionary['zhongming'];
#Traceback (most recent call last):
# File "py.py", line 2, in <module>
# print dictionary['zhongming'];
#KeyError: 'zhongming'
为了防止这种错误,可以用get或in来判断key是不是存在.
print 'zhongming' in dictionary; #false
print d.get('zhongming');#None 不显示
print d.get('zhongming',-1);#可以返回自己设定的值 -1
dict可以通过pop(key)来删除key和value.
dictionary.pop('xiaoming');
print dictionary;#{'daming': 80}
关于list和dict区别,我个人觉得dict是用空间换取了时间,list是时间换取空间.
set
set和dict类似,不能存储value,key不能重复,.创建一个set,需要用到一个list.
s = set([1, 2, 3]);
print s;#set([1, 2, 3])
通过add(key)添加元素
s.add(4);
print s;#set([1,2,3,4])
通过remove(key)删除元素
s.remove(4);
print s;#set([1, 2, 3])
set和dict的唯一区别仅在于没有存储对应的value.
条件判断和循环
判断
age = 6
if age >= 18:
print 'your age is',age;
print 'adult';
elif age >= 6:
print 'your age is',age;
print 'teenager';
else:
print 'your age is',age;
print 'kid';
else
是 else if
的缩写.
当一个判断语句为true的时候,就运行:
后的代码块,然后就结束整个判断语句.
循环
Python的循环有两种,一种是for..in..,一种是while.
for..in…
names = ['xiaoming','daming','zhongming'];
for name in names:
print name;
执行这段代码,会依次打印names的每一个元素.
xiaoming
daming
zhongming
while
n = 99
while n > 0:
print sum
n = n - 2
输出n的值不断自减直到n<0
小结
dict在Python中挺重要的!!.
じゃね