Python基础
控制台输入
print()函数可以接受多个字符串,用逗号“,”隔开。print()会依次打印每个字符串,遇到逗号“,”会输出一个空格,这样就可以连成一串输出:
>>> print('The quick brown fox', 'jumps over', 'the lazy dog') The quick brown fox jumps over the lazy dog
python使用”%”作为替代符,与C类似:
>>> print('str: %s \nint: %d' % ('string', 100)) str: string int: 100
数据类型和运算
转义
使用”\”作为转义字符
# iamok.py print('I\'m \"OK\"!') $ python iamok.py I'm "OK"
可以使用r’ ‘包含字符串进行整段文字的转义:
>>> print('abc\nde') abc de >>> print(r'abc\nde') abc\nde >>> print('abc\\nde') abc\nde
布尔值
布尔值包括True和False,需要区分大小写:
>>> True True >>> true Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'true' is not defined
空值
Python中的空值用None表示,不是Null
>>> None >>> Null Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'Null' is not defined
除法
Python提供了“/”、“//”、“%”三种除法,三种除法结果如下:
>>> 10/3 3.3333333333333335 >>> 10//3 3 >>> 10%3 1
第一个结果结尾是5而不是3的原因可能和计算机二进制有关,没有深究。
编码
字符串编码规则十分复杂,这里不作深究。只需记住,通常在文件开头写上这两行:
#!/usr/bin/env python3 # -*- coding: utf-8 -*-
第一行注释是为了告诉Linux/OS X系统,这是一个Python可执行程序,Windows系统会忽略这个注释;
第二行注释是为了告诉Python解释器,按照UTF-8编码读取源代码,否则,你在源代码中写的中文输出可能会有乱码。
申明了UTF-8编码并不意味着你的.py文件就是UTF-8编码的,必须并且要确保文本编辑器正在使用UTF-8 without BOM编码。
list
list是一个有序集合(有序集合不就是数组么,为啥还要叫集合?),基本用法如下:
>>> list = ['str1', 'str2', 'str3'] >>> list ['str1', 'str2', 'str3'] >>> len(list) 3 >>> list[0] 'str1' >>> list[-1] 'str3'
确实就是集合嘛,可以用-1取最后的值,-n以此类推。
下面有一些对list的基本操作:
>>> list.append('str4') # 在末尾加入元素 >>> list.insert(0,'str0') # 在指定位置插入元素 >>> list ['str0', 'str1', 'str2', 'str3', 'str4'] >>> list.pop(3) # pop出指定位置元素 'str3' >>> list[2] = ['int0','int1'] >>> list ['str0', 'str1', ['int0', 'int1'], 'str4'] # 可以存在二维list >>> list[2][1] 'int1'
tuple
和list唯一不同的地方在鱼tuple定义后不能修改。定义时使用”( )”而不是list的”[ ]”
需要注意的地方是只有一个元素时需要在结尾加上逗号
>>> t = (1) # 错误,定义的是t=1,括号被解释成了数学上的小括号 >>> t = (1,) # 正确
dict
字典,其实就是以Key-Value的方式存储的数据对:
>>> d = {'Michael': 95, 'Bob': 75, 'Tracy': 85} >>> d['Michael'] 95
要避免key不存在的错误,有两种办法,一是通过in判断key是否存在:
>>> 'Thomas' in d False
二是通过dict提供的get方法,如果key不存在,可以返回None,或者自己指定的value:
>> d.get('Thomas') >>> d.get('Thomas', -1) -1
注意:返回None的时候Python的交互式命令行不显示结果。
要删除一个key,用pop(key)方法,对应的value也会从dict中删除:
>> d.pop('Bob') 75 >>> d {'Michael': 95, 'Tracy': 85}
请务必注意,dict内部存放的顺序和key放入的顺序是没有关系的。
在Python中,字符串、整数等都是不可变的,因此,可以放心地作为key。而list是可变的,就不能作为key
set
set是数学意义上的集合,无序不重复,以list作为输入
>>> s = set([1, 1, 2, 2, 3, 3]) >>> s {1, 2, 3}
使用add和remove方法增减元素
>>> s.add(4) >>> s {1, 2, 3, 4}
两个set可以做数学意义上的交集、并集等操作:
>>> s1 = set([1, 2, 3]) >>> s2 = set([2, 3, 4]) >>> s1 & s2 {2, 3} >>> s1 | s2 {1, 2, 3, 4}
代码逻辑
判断逻辑
使用if、elif、else三个保留字
age = 3 if age >= 18: print('adult') elif age >= 6: print('teenager') else: print('kid')
循环逻辑
使用for关键字
names = ['Michael', 'Bob', 'Tracy'] for name in names: print(name)
range(101)就可以生成0-100的整数序列,计算如下:
sum = 0 for x in range(101): sum = sum + x print(sum)