安装配置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]: il
Python对已存在的字符串进行修改,并赋值给另一个变量,如图
>>> var1='hello world'
>>> print('update:',var1[:6]+'dada!')
update: hello dada!
注:Python可以在同一行中使用多条语句,语句之间使用分号(;)分割,如
>>> str1='fenglei'
>>> str2='xiaohai'
>>> print(str1+'已经不是');print(str2)
fenglei已经不是
xiaohai
print 默认输出是换行的,如果要实现不换行需要在变量末尾加上 end=""
>>> str1='fenglei'
>>> str2='xiaohai'
>>> print(str1+"已经不是",end="");print(str2)
fenglei已经不是xiaohai
Python允许你同时为多个变量赋值。例如:
>>> a=b=c=d=0
>>> print(a);print(b);print(c);print(d)
0
0
0
0
>>> 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)
0
1
2
3
注:四个变量必须赋给四个值
加号 (+) 是字符串的连接符, 星号 (*) 表示复制当前字符串,紧跟的数字为复制的次数。如
>>> a='good'
>>> print(a * 2)
goodgood
Python中的字符串有两种索引方式,从左往右以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
>>> a
Traceback (most recent call last):
File "", line 1, in
a
NameError: 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'}