安装配置python环境
配置成功后打印hello world!
>>> print ('hello world!')
hello world!
一.标识符
一般是变量名称、方法名、类名等,由数字、下划线、字母组成,第一个字符必须是数字或者下划线,区别大小写。
二.关键字
不能用于标识符名称,如果不清楚有哪些关键字,可以查询,如下
>>> import keyword
>>> keyword.kwlist['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']三.多行语句
Python 通常是一行写完一条语句,但如果语句很长,我们可以使用反斜杠(\)来实现多行语句,例如:
>>> total=item_one+\
item_two在 [], {}, 或 () 中的多行语句,不需要使用反斜杠(\),例如:
>>> total=['item_one','item_two'
,'item_three',]注:需要换行时字符输入按顺序,后面括号最后输入
四.数据类型
1.整数:如1
2.长整数:比较大的整数
3.浮点数:如1.2、3E-1
4.复数:1+1j、2+2.2j
五.字符串
字符串是 Python 中最常用的数据类型。我们可以使用引号('或")来创建字符串。
创建字符串很简单,只要为变量分配一个值即可。例如:
>>> var1='hello world!'
>>> var2='lilei'Python 不支持单字符类型,单字符也在Python也是作为一个字符串使用。
Python 访问字符串,可以使用方括号来截取字符串,如下实例:
>>> var1='hello world!'
>>> var2='lilei'>>> print('var1[0]:',var1[0])var1[0]: h>>> print('var2[1:3]:',var2[1:3])var2[1:3]: ilPython对已存在的字符串进行修改,并赋值给另一个变量,如图
>>> var1='hello world'
>>> print('update:',var1[:6]+'dada!')update: hello dada!注:Python可以在同一行中使用多条语句,语句之间使用分号(;)分割,如
>>> str1='fenglei'
>>> str2='xiaohai'>>> print(str1+'已经不是');print(str2)fenglei已经不是xiaohaiprint 默认输出是换行的,如果要实现不换行需要在变量末尾加上 end=""
>>> str1='fenglei'
>>> str2='xiaohai'>>> print(str1+"已经不是",end="");print(str2)fenglei已经不是xiaohaiPython允许你同时为多个变量赋值。例如:
>>> a=b=c=d=0
>>> print(a);print(b);print(c);print(d)0000>>> a=b=c=d=0,1,2,3
>>> print(a);print(b);print(c);print(d)(0, 1, 2, 3)(0, 1, 2, 3)(0, 1, 2, 3)(0, 1, 2, 3)也支持为多个对象指定多个变量。例如:
>>> a,b,c,d=0,1,2,3
>>> print(a);print(b);print(c);print(d)0123注:四个变量必须赋给四个值
加号 (+) 是字符串的连接符, 星号 (*) 表示复制当前字符串,紧跟的数字为复制的次数。如
>>> a='good'
>>> print(a * 2)goodgoodPython中的字符串有两种索引方式,从左往右以0开始,从右往左以-1开始。如
>>> a='world'
>>> print(a[0],a[4])w d>>> a='world'
>>> print(a[-1],a[-4])d o六.列表list
List(列表) 是 Python 中使用最频繁的数据类型。
列表可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套)。
列表是写在方括号[]之间、用逗号分隔开的元素列表。
和字符串一样,列表同样可以被索引和截取,列表被截取后返回一个包含所需元素的新列表。
列表截取的语法格式如下:
变量[头下标:尾下标]
list = [ 'abcd', 786 , 2.23, 'lilei', 70.2 ] tinylist = [123, 'lilei'] print (list) # 输出完整列表 print (list[0]) # 输出列表第一个元素 print (list[1:3]) # 从第二个开始输出到第三个元素 print (list[2:]) # 输出从第三个元素开始的所有元素 print (tinylist * 2) # 输出两次列表 print (list + tinylist) # 连接列表 以上实例输出结果:
['abcd', 786, 2.23, 'lilei', 70.2] abcd [786, 2.23] [2.23, 'lilei', 70.2] [123, 'lilei', 123, 'lilei'] ['abcd', 786, 2.23, 'lilei', 70.2, 123, 'lilei']
与Python字符串不一样的是,列表中的元素是可以改变的:
>>> a=[1,2,3,4,5,6]
>>> a[0]=9>>> a[2:5]=[13,14,15]>>> print(a)[9, 2, 13, 14, 15, 6]或
>>> a=[1,2,3,4,5,6]
>>> a[0]=9>>> a[2:5]=[13,14,15]>>> a[2:5]=[] #删除>>> a[9, 2, 6]嵌套列表的使用,即在列表里创建其他列表,如:
>>> a = ['a', 'b', 'c'] >>> n = [1, 2, 3] >>> x = [a, n] >>> x [['a', 'b', 'c'], [1, 2, 3]] >>> x[0] ['a', 'b', 'c'] >>> x[0][1] 'b'
七.Tuple元组
元组(tuple)与列表类似,不同之处在于元组的元素不能修改。元组写在小括号()里,元素之间用逗号隔开。其实,可以把字符串看作一种特殊的元组。
元组中的元素类型也可以不相同:
tuple = ( 'abcd', 786 , 2.23, 'lilei', 70.2 ) tinytuple = (123, 'lilei') print (tuple) # 输出完整元组 print (tuple[0]) # 输出元组的第一个元素 print (tuple[1:3]) # 输出从第二个元素开始到第三个元素 print (tuple[2:]) # 输出从第三个元素开始的所有元素 print (tinytuple * 2) # 输出两次元组 print (tuple + tinytuple) # 连接元组 以上实例输出结果:
('abcd', 786, 2.23, 'lilei', 70.2) abcd (786, 2.23) (2.23, 'lilei', 70.2) (123, 'lilei', 123, 'lilei') ('abcd', 786, 2.23, 'lilei', 70.2, 123, 'lilei')
虽然tuple的元素不可改变,但它可以包含可变的对象,比如list列表。
构造包含 0 个或 1 个元素的元组比较特殊,所以有一些额外的语法规则:
tup1 = () # 空元组 tup2 = (20,) # 一个元素,需要在元素后添加逗号 string、list和tuple都属于sequence(序列)。
注意:
- 1、与字符串一样,元组的元素不能修改。
- 2、注意构造包含0或1个元素的元组的特殊语法规则。
元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组,如下实例:
>>> a=(12,34.56);
>>> b=('abc','xyz')>>> c=a+b>>> c(12, 34.56, 'abc', 'xyz')>>> del a>>> aTraceback (most recent call last): File "<pyshell#8>", line 1, in <module> aNameError: name 'a' is not defined #删除成功八.Set 集合
集合(set)是一个无序不重复元素的序列。
基本功能是进行成员关系测试和删除重复元素。
可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
>>> a = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'}
>>> a{'Tom', 'Mary', 'Jack', 'Jim', 'Rose'} #输出集合,重复的元素被去掉>>> a = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'}
>>> if('Rose' in a): print("Rose在集合中")else: print('Rose不在集合中')Rose在集合中
# set可以进行集合运算a = set('abracadabra') b = set('alacazam') print(a) print(a - b) # a和b的差集 print(a | b) # a和b的并集 print(a & b) # a和b的交集 print(a ^ b) # a和b中不同时存在的元素 输出结果为:
{ 'b', 'a', 'c', 'r', 'd'} { 'b', 'd', 'r'} { 'l', 'r', 'a', 'c', 'z', 'm', 'b', 'd'} { 'a', 'c'} { 'l', 'r', 'z', 'm', 'b', 'd'}
九.字典(dictionary)
字典是Python语言中唯一的映射类型。
映射类型对象里哈希值(键,key)和指向的对象(值,value)是一对多的的关系,通常被认为是可变的哈希表。
字典对象是可变的,它是一个容器类型,能存储任意个数的Python对象,其中也可包括其他容器类型。
字典类型与序列类型的区别:
1.存取和访问数据的方式不同。
2.序列类型只用数字类型的键(从序列的开始按数值顺序索引)。
3.映射类型可以用其他对象类型作键(如:数字、字符串、元祖,一般用字符串作键),和序列类型的键不同,映射类型的键直。
4.接或间接地和存储数据值相关联。
5.映射类型中的数据是无序排列的。这和序列类型是不一样的,序列类型是以数值序排列的。
6.映射类型用键直接“映射”到值。
字典是Python中最强大的数据类型之一。
一般形式:
adict = {}
adict = {key1:value2, key2:value2,key3:value3, …}
特点:
- 键与值用冒号“:”分开;
- 项与项用逗号“,”分开;
- 字典中的键必须是唯一的,而值可以不唯一。
- 不允许同一个键出现两次。创建时如果同一个键被赋值两次,取后一个键的值。
- 键必须不可变,所以可以用数字,字符串或元组充当,但不可以使用列表。
*访问字典里的值:adict[key] 形式返回键key对应的值value,如果key不在字典中会引发一个KeyError。如:
>>> a={'abc':123,98.6:37};
>>> a['abc']123*a、添加一个数据项(新元素)或键值对
adict[new_key] = value 形式添加一个项*b、更新一个数据项(元素)或键值对adict[old_key] = new_value*c、删除一个数据项(元素)或键值对del adict[key] 删除键key的项 / del adict 删除整个字典adict.pop(key) 删除键key的项并返回key对应的 value值
如:
>>> a={'abc':123,98.6:37};
>>> a['abc']123>>> a['c']='lilei'>>> a{'abc': 123, 98.6: 37, 'c': 'lilei'}>>> a['abc']=0>>> a{'abc': 0, 98.6: 37, 'c': 'lilei'}>>> del a[98.6]>>> a{'abc': 0, 'c': 'lilei'}