在学习Python前需安装Python,建议3.0版本以上以及IDE,IDE可选择PyCharm(专业版收费,社区版免费)或者Anaconda。
1 Python基础语法简介
1.1 每行的最后一个字符
C/C++/Java中每行的最后都需要加上分号
Python中每行的最后都不需要加上分号
1.2 数据类型
C语言中的数据类型:
short、int、long、float、double、char、*、[ ]、struct、union
Java中的数据类型:
byte、short、int、long、float、double、char、boolean、class、[ ] (引用类型)
Python中的数据类型:
数值number(整型int、浮点型float、布尔型bool、复数complex)、字符串str、列表list、元组tuple、集合set、字典dict
Python中会通过type()函数查看变量的类型
a = 2
print(a)
print(type(a)) # <class 'int'>
a = 3.14
print(a)
print(type(a)) # <class 'float'>
c = True # False
print(c)
print(type(c)) # <class 'bool'>
d = 3-2j # 4+3j
print(d)
print(type(d)) # <class 'complex'>
e = 'hello' # "world"
print(e)
print(type(e)) # <class 'str'>
f = ['zhangsan','lisi','wangwu','zhaoliu']
print(f)
print(type(f)) # <class 'list'>
g = ('zhangsan','lisi','wangwu','zhaoliu')
print(g)
print(type(g)) # <class 'tuple'>
h = {'zhangsan','lisi','wangwu','zhaoliu'}
print(h)
print(type(h)) # <class 'set'>
i = {
'name':'zhangsan',
'age':23,
'height':172.3,
'married':False
}
print(i)
print(type(i)) # <class 'dict'>
1.3 条件判断
if ... elif ... else
a = 5
if a > 2:
print('a is big')
else:
print('a is small')
b = 0
if b > 0:
print('b is positive')
elif b == 0:
print('b is zero')
else:
print('b is negative')
1.4 循环
循环语句包括:while、for
a = 3
while a < 8:
print(a,end=' ') # end= ' '表示不换行
a += 1 # Python中没有a++
print() # 换行
# for(i=0;i<10;i++)
for i in range(10):
print(i, end = ' ')
print()
# for(i=3;i<10;i++)
for i in range(3, 10):
print(i, end = ' ')
print()
# 3 4 5 6 7 8 9
# for(i=3;i<10;i+=2)
for i in range(3, 10, 2):
print(i, end = ' ')
print()
# 3 5 7 9
list1 = ['zhangsan','lisi', 'wangwu', 'zhaoliu']
for value in list1:
print(value)
for index, value in enumerate(list1):
print(index, value)
# 0 zhangsan
# 1 lisi
# 2 wangwu
# 3 zhaoliu
1.5 四则运算
a = 7
b = 3
print(a+b) # 10
print(a-b) # 4
print(a*b) # 21
print(a**b) # 343 幂
print(a/b) # 2.3333333333333335
print(a//b) # 2
print(a%b) # 1
1.6 注释
单行注释
C/C++/Java: // ... 注释,Python:# ... 注释
多行注释
C/C++/Java:
/*
注释第1行
注释第2行
*/
Python:
'''
注释第1行
注释第2行
'''
1.7 函数
Python中通过 def 定义函数
def 函数名(函数参数):
函数体
函数返回值
def add(a=4, b=7):
result = a + b
return result
ret = add(3, 8) # a=3,b=8
print(ret) # 11
ret = add(3) # a=3,b=7
print(ret) # 10
ret = add() # a=4,b=7
print(ret) # 11
ret = add(b=8) # a=4,b=8
print(ret) # 12
# 注意python中的函数可以返回多个值
def divide(a,b):
result1 = a // b
result2 = a % b
return result1, result2
ret1, ret2 = divide(18, 4)
print(ret1)
print(ret2)
1.8 列表
list1 = [1,2,3,5,8,13,21]
print(list1)
print(type(list1))
# 通过索引访问列表中的元素
print(list1[2]) # 3
print(list1[0]) # 1
print(list1[-1]) # 21
print(list1[-3]) # 8
# 可以设置范围
print(list1[1:3]) # [2, 3] 从第1个开始到第3个结束 包含第1个 不包含第3个
print(list1[1:-1]) # [2, 3, 5, 8, 13] 从第1个开始到最后1个结束 包含第1个 不包含最后1个
print(list1[1:]) # [2, 3, 5, 8, 13, 21] 从第1个开始到最后 包含第1个
print(list1[:3]) # [1, 2, 3] 从头开始到第3个结束 不包含第3个
# 还可以设置间隔
print(list1[1:6:2]) # [2, 5, 13] 从第1个开始到第6个结束 包含第1个 不包含第6个 每隔2个元素蔬菜1个
print(list1[::2]) # [1, 3, 8, 21] 从头开始到最后 每隔2个元素蔬菜1个
print(list1[::-1]) # [21, 13, 8, 5, 3, 2, 1] 从后往钱
列表中可以添加、删除、修改其中的元素
添加元素
# 增加元素
list1 = [1,2,3,5,8,13,21]
list1.append(34)
print(list1) # [1, 2, 3, 5, 8, 13, 21, 34]
# 使用append()添加多个元素
list1 = [1,2,3,5,8,13,21]
#list1.append(34,55) # append()只能接收一个参数
list1.append([34,55]) # 把34和55放到一个列表中 但结果只认为是1个元素
print(list1) # [1, 2, 3, 5, 8, 13, 21, [34, 55]]
print(len(list1)) # 8
# 使用extend()函数解决如上问题
list1 = [1,2,3,5,8,13,21]
list1.extend([34,55])
print(list1) # [1, 2, 3, 5, 8, 13, 21, 34, 55]
print(len(list1)) # 9
# 使用insert()函数可以在任意地方插入元素
list1 = [1,2,3,5,8,13,21]
list1.insert(0, 9527)
print(list1) # [9527, 1, 2, 3, 5, 8, 13, 21]
删除元素
# 使用remove()根据值来删除元素
list1 = [1,2,3,5,8,13,21]
list1.remove(5)
print(list1) # [1, 2, 3, 8, 13, 21]
# 使用pop()函数根据索引来删除元素 有返回值
list1 = [1,2,3,5,8,13,21]
ret = list1.pop(5)
print(ret) # 13
print(list1) # [1, 2, 3, 5, 8, 21]
# 使用del关键字来删除元素 木有返回值
list1 = [1,2,3,5,8,13,21]
del list1[5]
print(list1) # [1, 2, 3, 5, 8, 21]
1.9 元组
元组中,元素的访问方式和列表大同小异的
tuple1 = (1,2,3,5,8,13,21)
print(tuple1)
print(type(tuple1))
# 通过索引访问元组中的元素
print(tuple1[2]) # 3
print(tuple1[0]) # 1
print(tuple1[-1]) # 21
print(tuple1[-3]) # 8
# 可以设置范围
print(tuple1[1:3]) # (2, 3) 从第1个开始到第3个结束 包含第1个 不包含第3个
print(tuple1[1:-1]) # (2, 3, 5, 8, 13) 从第1个开始到最后1个结束 包含第1个 不包含最后1个
print(tuple1[1:]) # (2, 3, 5, 8, 13, 21) 从第1个开始到最后 包含第1个
print(tuple1[:3]) # (1, 2, 3) 从头开始到第3个结束 不包含第3个
# 还可以设置间隔
print(tuple1[1:6:2]) # (2, 5, 13) 从第1个开始到第6个结束 包含第1个 不包含第6个 每隔2个元素蔬菜1个
print(tuple1[::2]) # (1, 3, 8, 21) 从头开始到最后 每隔2个元素蔬菜1个
print(tuple1[::-1]) # (21, 13, 8, 5, 3, 2, 1) 从后往钱
与列表不同,元组中的元素不能增加、不能删除、不能修改
tuple1 = (1,2,3,5,8,13,21)
#tuple1.append(35) # 不能通过append()添加元素
#tuple1.remove(5) # 不能通过remove()删除元素
tuple1[3] = 9999 # 不能修改其中的元素
1.10 文件读写
通过open()函数打开文件,并返回file对象
通过file对象的read()和write()方法读写文件
通过file对象close()关闭文件
掌握以上基础后基本就可以开始简单的爬虫实践了!