网络爬虫及面试中必须掌握的python基础知识(一)
一、python编程模式
python编程模式分为两种:python交互模式和命令行模式。
1、python交互模式:①windows运行窗口输入python(已安装好python2.x或python3.x)。②进入python交互式环境。
2、命令行模式:①代码保存成.py文件。②运行窗口输入cmd。③命令行窗口切换到.py文件所在目录并运行 python xx.py。
二、基础语法
1、变量:顾名思义就是变化的量,python里创建一个变量的方法很简单,给它起一个名字,然后给它一个值。
例子:name="Alice" age=18 sex='F' lovely=True 其中name,age,sex,lovely都是定义的变量。
2、python保留字:保留字即关键字,我们不能把它们用作任何变量名。python的标准库提供了一个keyword模块,可以输出当前版本的所有关键字:import keyword(导入keyword库) print(keyword.kwlist)
3、注释:python中单行注释以#开头,例如:#第一个注释
#第二个注释
多行注释可以用两个'''包含起来:
'''
第一行注释
第二行注释
'''
4、行与缩进:python最具特色的就是使用缩进来表示代码块,不需要使用大括号{ }。缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数,缩进不一致会导致运行错误。
例子: if True: if True:
print("True") print("True")
else print("Yes")
print("False") else
正确 print("False")
错误
5、多行语句:python通常是一行写完一条语句,但是如果语句很长,可以使用反斜杠(\)来实现多行语句。
例如: weekdays=monday+\
tuesday+\
wednesday+\
thursday+\
friday
6、等待用户输入:input()。
例如: print("who are you?")
you=input()
print(you)
三、python基本数据类型
python的基本数据类型有:Number(数字)、String(字符串)、List(列表)、Tuple(元组)、Sets(集合)、Dictionary(字典)。python3支持4种类型的数字:int,float,bool,complex(复数)。python内置的type()函数可以用来查询变量所指的对象类型。如 a=256 print(type(a)) 结果为<class 'int'>。
1、数值运算:
>>>3+9 #加法 >>>4*5 #乘法 >>>3//12 #整除,得到一个整数 >>>7.5-4 #减法
12 20 1 3.5
>>>1/8 #除法 >>>15%4 #取余 >>>4**3 #乘方
0.125 3 64
2、字符串:字符串是由零个或多个字符组成的有限序列,它是编程语言中表示文本的数据类型。如“Hello world!”
表达方式:①使用单引号''②使用双引号""③使用三引号('''或""")利用三引号,可以指示一个多行的字符串,可以在三引号中自由的使用单引号和双引号。例如:
"""This is the first line.
This is the second line.
"what's your name?"I asked.
He said "Edward."
"""
转义符:如果要在单引号字符串中使用单引号本身,或在双引号字符串中使用双引号本身,需要借助于转义符\,例如'What\'s your name?'。另外,你可以用转义符\\来指示反斜杠本身,\n表示换行符。值得注意的是,在一个字符串中,行末的单独一个反斜杠表示字符串在下一行继续。
原始字符串:如果你想要指示某些不需要如转义符那样特别处理的字符串,那么你需要指定一个原始字符串。原始字符串通过给字符串加上前缀r或R来指定,例如 r"New lines are indicated by \n"。
字符串的截取:格式->字符串变量[start_index:end_index+1]索引值从零开始,-1为末尾最后一位。
例如 str: F a i r y l a n d
Index: 0 1 2 3 4 5 6 7 8
str[0]="F" str[1:4]="air" str[5:]="land" str[2:-1]="irylan"
str*2="FairylandFairyland" "I love"+str="I love Fairyland"
字符串不可以原位修改。
3、列表:python 列表是任意对象的有序集合,列表写在括号[ ]里,元素之间用逗号隔开。通过索引访问列表指定元素,第一个索引是零,第二个索引是1,以此类推,-1为末尾最后一位。
例如 List->["python",65563,[1,2,3],3.14159,False]
index-> 0 1 2 3 4
列表的切片:列表的切片语法格式->列表变量[start_index:end_index+1]
例如: list1=['hello',99,3.75,'python',32]
list2=[123,'fun']
print(list1)#输出完整列表 ['hello',99,3.75,'python',32]
print(list1[-1])#输出列表倒数第一个元素 32
print(list1[1:4])#从第二个开始输出到第四个元素 [99,3.75,'python']
print(list1[2:])#输出从第二个元素开始的所有元素 [3.75,'python',32]
print(list2*2)#输出两次列表 [123,'fun',123,'fun']
print(list1+list2)#连接两个列表 ['hello',99,3.75,'python',32,123,'fun']
4、元组:元组与列表相似,不同之处在于元组的元素不能修改,元组写在小括号( )里,元素之间用逗号隔开。
例如: >>>tuple1=('abc',123,'xyz',5.2,30)
>>>tuple2=(7.5,False)
>>>print(tuple1[1:3]) (123,'xyz')
>>>print(tuple2[-1]) False
>>>print(tuple2*2) (7.5,False,7.5,False)
>>>print(tuple1+tuple2) ('abc',123,'xyz',5.2,30,7.5,False)
>>>tuple1[2]='xyz' Typeerror
5、集合:集合(set)是一个无序不重复的元素的序列。基本功能是进行成员关系测试和删除重复元素,可以使用大括号{ }或者set()函数创建集合,注意:创建一个空集合必须用set()而不是{ },因为{ }用来创建一个空字典。
集合的去重和成员关系测试:animals={'dog','cat','lion','pig','dog','bird'} print(animals) #输出集合,重复的元素被自动去掉。
#成员测试 if('Tiger' in animals):
print('Tiger 在集合中')
else
print('Tiger不在集合中')
集合的运算: set1=set('abcxyzcba')
set2=set('idea')
print(set1) #set1 {'b','y','c','z','x','a'}
print(set1-set2) #set1和set2的差集 {'b','y','c','z','x'}
print(set1|set2) #set1和set2的并集 {'i','b','y','e','d','c','z','x','a'}
print(set1&set2) #set1和set2的交集 {'a'}
print(set1^set2) #set1和set2中不同时存在的元素 {'i','b','e','y','d','c','z','x'}
6、字典:字典是一种映射类型,字典用{ }标识,它是一个无序的键(key):值(value)对集合。键(key)必须使用不可变类型。在同一个字典中,键(key)必须是唯一的。
例如: {
"name":"Alex",
"sex":"Male",
"age":25,
"hobby":"coding"
}
字典的用法举例: >>>item={}
>>>item['name']='dress'
>>>item['price']=275
>>>client={'name':'Fiona','age':26,'sex':'female'}
>>>print(item['name']) dress
>>>print(item['price']) 275
>>>print(client) {'name':'Fiona','age':26,'sex':'female'}
>>>print(client.keys()) dict_keys(['name','age','sex'])
>>>print(client.values()) dict_values(['Fiona',26,'female'])
第一部分总结:六大数据类型:数字,字符串,列表,元组,集合,字典。
python3支持4种类型的数字:int,float,bool,complex(复数)。
字符串,列表,元组是有序的,可以通过索引来截取。
集合,字典是无序的,不可以通过索引来访问。
字典可以通过键值来访问,同一个字典中键必须是唯一的。
字符串,元组中的元素不可以原位修改。
字符串,列表,元组中可以有重复元素。
集合中没有重复元素。