适用于有其他语言基础的Python初学者。
相比于C++,java 来说,Python是真的智能。让严谨风的我一度不适应……
a = 1
rint('a = ', a, ' is ', type(a))
b = 1.5
print('b = ', b, ' is ', type(b))
c = '666'
print('c = ', c, ' is ', type(c))
运行结果:
a = 1 is <class 'int'>
b = 1.5 is <class 'float'>
c = 666 is <class 'str'>
这可比auto啥的方便多!
1、切片
'''
字符串的切片:
1、索引下标从0开始
语法:a[start:end:step]
start:开始下标
end:结束下标+1
step:步长值(默认为1)
'''
s = '123456789'
print(s[1])
# >>2
print(s[1:3])
# >>23
print(s[1:7:3])
# >>25
2、加转义字符
s1 = '王\n振华'
# 王
# 振华
s2 = r'王\n振华'
# 王\n振华
3、加变量
num1 = 955
num2 = 996
s3 = '我要%d,不要%d!' % (num1, num2)
print(s3)
# >>我要955,不要996!
嗯,字符串这么多就够用了…
1、判断:
d = -3
print(type(d))
if d > 5:
d += 1
print(d)
elif d > 0:
d *= 2
print(d)
else:
d /= 2
print(d)
print(type(d))
'''
输出:
-1.5
'''
可以看到,变量a之前还是个int,走完就成float了,渣*,啧啧。
另外:
不要忘了冒号!不要忘了冒号!!不要忘了冒号!!!
2、循环
e = [1, 2, 3, 4, 5, 6, 7]
# 两种方式
for one in e:
print(one)
# 使用range函数生成迭代列表
for i in range(0, len(e), 2):
print(e[i])
range(start, stop[, step])
参数说明:
start: 计数从 start 开始。默认是从 0开始。例如range(5)等价于range(0, 5);
stop: 计数到 stop 结束,但不包括 stop。例如:range(0,> 5) 是[0, 1, 2, 3, 4]没有5
step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)
3、for…else…
for还可以和else一起,产生奇妙的作用……(:雾
高深的什么匿名函数啊就不说了,会最基本的就够用了。
def func(name, age, sex='男'):
if sex == '男':
print('我叫', name, ',年芳', age, '请多指教啊哈哈!')
else:
print('我叫%s,年芳%d,请来打我啊哈哈!'%(name,age))
func('王振华', 18)
func('王振华', 18, '女')
def func(name, age, sex='男'):
if sex == '男':
print('我叫', name, ',年芳', age, '请多指教啊哈哈!')
else:
print('我叫%s,年芳%d,请来打我啊哈哈!'%(name,age))
func('王振华', 18)
func('王振华', 18, '女')
'''
输出:
我叫 王振华 ,年芳 18 请多指教啊哈哈!
我叫王振华,年芳18,请来打我啊哈哈!
'''
突然发现,print中逗号拼接会有空格……
常见容器有四种:
1、list列表
2、dict字典
3、tuple元组
4、set集合
l = [4, 5, 6]
print(type(l))
d = {'a': 1, 'b': 2, 'c': 3}
print(type(d))
t = (1, 3, 5)
print(type(t))
s = {1, 1, 2, 4, 6}
print(type(s))
print(s)
'''
运行结果
{1, 2, 4, 6}
'''
这四种中我们主要用到了list和dict
list:
l = [4, 5, 1]
print(l)
l.append(6) # 在列表尾添加元素
print(l)
del l[2] # 删除指定位置元素
print(l)
l.pop(2) # 删除指定位置元素,默认最后一个
print(l)
l.remove(4) # 删除匹配元素
print(l)
'''
运行结果:
[4, 5, 1]
[4, 5, 1, 6]
[4, 5, 6]
[4, 5]
[5]
'''
list中的可以是str,int,甚至是list。
l = ['aa', 2, 'd', [2, 3]]
print(l)
'''
输出
['aa', 2, 'd', [2, 3]]
'''
dict:
d = {'a': 1, 'b': 2, 'c': 3}
print(d['a']) # 访问元素
d['d'] = 4 # 增添元素
print(d['d'])
d['b'] = 5 # 修改元素
print(d['b'])
del d['c'] # 删除键 'c'
print(d)
d.clear() # 清空字典
print(d)
'''
输出
1
4
5
{'a': 1, 'b': 5, 'd': 4}
{}
'''
dict跟c++的map差不多,注意键值不能重复。
list1 = ['a', 'b', 'c']
with open(r'D:\test.txt', 'w', encoding='utf-8') as f:
for one in list1:
f.write(one + '\n')
'''
其中open
第一个参数:文件地址
第二个参数:方式:
a:追加写入
w:覆盖写入
r:只读打开
wb:一般用于未文本,比如写图片
'''
简单爬虫所需要的基础语法知识差不多就这些了。接下来就可以开始真正的爬虫。