零基础python爬虫教程笔记(含python基础)

目录

 

一、Python基础与运算

1、数据类型

(1)数字类型

(2)变量

2、布尔型变量

3、基本运算符

(1)加法运算

         (2)减法运算

(3)乘法运算

(4)除法运算

4、算术运算符

(1)取模运算

(2)幂运算

(3)取整除运算

5、赋值运算符

         (1)等号

         (2)加等于

         (3)减等于

         (4)乘等于

         (5)除等于

         (6)幂等于

         (7)模等于

6、进制运算

1、十进制转换成其他进制(1)十进制转二进制

(2)十进制转八进制

(3)十进制转十六进制

2、其他进制转换成十进制

(1)二进制转十进制

(2)八进制转十进制

(3)十六进制转十进制

(4)八进制转十六进制

7、位运算

(1)按位与运算(&)

(2)按位或运算(|)

(3)按位异或运算(^)

(4)按位取反运算(^)

(5)左移运算符(<<)

(6)右移运算符(>>)

8、条件控制

二、python的字符串、组类型与循环

1、声明一个字符串

(1)单引号声明

(2)双引号声明

(3)三引号声明

2、字符串的操作

3、字符串的切片操作

4、字符串的成员运算

(1)包含运算

(2)不包含运算

5、转义字符

         (1)输出一个单引号

         (2)换行符 '\n'

(3)制表符tab '\t'

(4)回车符 '\r'

(5)输出\n

6、字符串的格式化输出

7、字符串的内建函数

(1)查找字符串

         (2)转换为小写字母

(3)返回字符串长度

         (4)判断字符串是否只包含空格

(5)字符串的替换

8、python的组类型

9、访问列表

(1)列表的访问

(2)列表的更新操作

(3)列表的添加操作

(4)列表的删除操作

10、嵌套列表

(1)创建嵌套列表

(2)返回列表元素的个数

(3)移除列表中的元素

(4)对列表中的元素进行排序

(5)查找列表中第一个匹配的元素的索引值

11、list操作练习

12、元组

13、集合


一、Python基础与运算

1、数据类型

python中的标准数据类型有六种:数字、字符串、列表、元组、集合、字典。

(1)数字类型

数字类型分为整数和浮点数

整数:1,2,3,...

浮点数:1.1,3.45,...

(2)变量

变量起名要有意义

book_num=1000

age=34

python中变量起名要合法:只能由字母、数字、下划线组成,首字母不能为数字;

eg

声明整数变量:

#声明一个变量
first_number=1
print first_number #打印first_number
print type(first_number) #查看first_number的数据类型

输出结果:

声明浮点数变量同理。

2、布尔型变量

声明一个布尔型变量

boolean=True
print boolean
print type(boolean)

输出结果:

注意:此处True首字母要大写

3、基本运算符

(1)加法运算

'''
python的基本运算符
+ - * /
'''
num_1=12
num_2=3
result=num_1+num_2
print result

(2)减法运算

'''
python的基本运算符
+ - * /
'''
num_1=12
num_2=3
result=num_1-num_2
print result

(3)乘法运算

'''
python的基本运算符
+ - * /
'''
num_1=12
num_2=3
result=num_1*num_2
print result

(4)除法运算

'''
python的基本运算符
+ - * /
'''
num_1=12
num_2=3
result=num_1/num_2
print result

以上例子为整数,整数和整数、浮点数和浮点数运算结果分别是整数和整数,现在验证一个浮点数和一个整数进行运算结果会是浮点数吗?

可以看出,整数和浮点数在运算后无论是乘除加减结果的数字类型都是浮点数。

4、算术运算符

(1)取模运算

取模运算其实就是取余数

'''
算术运算符
'''

#取模运算
i=10
j=3
z=i%j
print z

运算结果:

(2)幂运算

z=i**j
print z

运算结果:

(3)取整除运算

z=i//j
print z

运算结果:

5、赋值运算符

(1)等号

(2)加等于

i=1
i+=5
print i

输出结果:

i+=5:就是i=i+5,把6这个新的值赋值给等号左边的i

(3)减等于

i=1
i-=5
print i

输出结果:

(4)乘等于

(5)除等于

(6)幂等于

(7)模等于

以上皆类同,就是在等号前加个基本运算符/算术运算符,可自行体会

6、进制运算

进制:十进制、二进制、八进制、十六进制

十进制:1,2,3,4,5,6,7,8,9

二进制:0,1,10,11,100,101,110,111

进制之间的相互转换:

1、十进制转换成其他进制

(1)十进制转二进制

i=16
j=bin(i)
print j

输出结果:

其中,ob代表这个进制是二进制,10000代表这个数字是10000

(2)十进制转八进制

i=16
j=oct(i)
print j

输出结果:

其中,0o代表这个进制是八进制,20代表这个数字是20

(3)十进制转十六进制

i=16
j=hex(i)
print j

输出结果:

其中,0x代表这个进制是十六进制,10代表这个数字是10

2、其他进制转换成十进制

(1)二进制转十进制

i='10' #要把i用字符串形式呈现,要用引号,不然会报错
j=int(i,2) #代表这个i是二进制数字不是十进制数字
print j

输出结果:

(2)八进制转十进制

i='10' #要把i用字符串形式呈现,要用引号,不然会报错
j=int(i,8) #代表这个i是二进制数字不是十进制数字
print j

输出结果:

(3)十六进制转十进制

i='10' #要把i用字符串形式呈现,要用引号,不然会报错
j=int(i,16) #代表这个i是二进制数字不是十进制数字
print j

输出结果:

(4)八进制转十六进制

i='10'
j=hex(int(i,8))
print j

输出结果:

7、位运算

(1)按位与运算(&)

i=11
j=2
z=i&j
print z

输出结果:

原理如下

11和2都转换为二进制

i=11
j=2
z=i&j
print z
print bin(i)
print bin(j)

输出结果:

i=1011

j=0010

如果以上两个值相应位置都为1,那么为1,结果则为0010,对应十进制就是2。

(2)按位或运算(|)

i=11
j=2
z=i|j
print z
print bin(i)
print bin(j)

输出结果:

如果以上两个值相应位置有一个为1,那么为1

(3)按位异或运算(^)

i=11
j=2
z=i^j
print z
print bin(i)
print bin(j)

输出结果:

如果以上两个值相应位置数字不同,那么为1

(4)按位取反运算(^)

i=11
z=~j
print z
print bin(i)
print bin(z)

输出结果:

按位取反就是z=-i-1

(5)左移运算符(<<)

i=11
z=j<<2 #把11的二进制左移两位
print z
print bin(i)
print bin(z)

输出结果:

(6)右移运算符(>>)

原理同左移运算符

8、条件控制

比较运算符:‘==’ 比较两个值是否相等

注释:# 单行注释;'''  '''多行注释(方式一);"""  """(方式二)

if 语句

a=3
if a>2:
    print 'a比2大'
else:
    print 'a比2小'

当涉及布尔值是:

done=True
if done:
    print 'done'
else:
    print 'not be done'

另一种形式是elif,使分支更多

name='Sue'
if name=='Sue':
    print 'Hello,Sue!'
elif name=='Bob':
    print 'Hello,Bob!'
elif name=='Gay':
    print 'Hello,Gay!'
else:
    print 'Who are you?'

raw_input('   ') 

name=raw_input('What\'s your name?') #What后面加了一个'\'是采用了原始字符串的做法,避免中间的'和句子两头的'起冲突
if name=='Sue':
    print 'Hello,Sue!'
elif name=='Bob':
    print 'Hello,Bob!'
elif name=='Gay':
    print 'Hello,Gay!'
else:
    print 'Who are you?'

输出结果:

二、python的字符串、组类型与循环

1、声明一个字符串

(1)单引号声明

s='Hello,world!'

(2)双引号声明

s="Hello,world!"

(3)三引号声明

s='''
Hello,
world!
'''

以上三种结果输出:

三引号声明字符串时,每一行后有一个“看不见的换行符”,导致最后输出结果会换行。

2、字符串的操作

查看某一字符串第一个字母/数字

s='Hello,world!'
s[0]

输出结果:

这里涉及到的是索引的应用:查看某一字符串s的第n个字母/数字,写作s[n-1]

3、字符串的切片操作

访问字符串中的子串

s1='hello,world!'
s2='python'
s1[0,5]

输出结果:

字符串相加

print '我是'+s1[0:5]

输出结果:

字符串的更新

s1='hello,python'
s2='python'
print s1[:6]+s2

输出结果:

4、字符串的成员运算

(1)包含运算

s1='hello,world!'
s2='h'
print s2 in s1

输出结果:

(2)不包含运算

s1='hello,world!'
s2='h'
print s2 not in s1

输出结果:

5、转义字符

(1)输出一个单引号

如果我们输出只想输出一个单引号,为了不报错,要用转义字符:

print '\''

输出结果:

不然就会报错

(2)换行符 '\n'

还可以进行换行‘\n’

print 'hello\npython'

输出结果:

(3)制表符tab '\t'

print 'hello\tpython'

输出结果:

相当于多了四个空格

(4)回车符 '\r'

光标到行首,打印'\r'之后的内容

print 'hello\rpython'

输出内容:

(5)输出\n

有以下几种方法:
原始字符串

print r'\n'

输出结果:

或者用大写的R

print R'\n'

输出结果:

6、字符串的格式化输出

print '我叫%s,今天是我第%d天学习python'%('小明',10)

输出结果:

7、字符串的内建函数

(1)查找字符串

s='hello,python'.find('hello')
print s
s='hello,python'.find('e')
print s
s='hello,python'.find('l')
print s

输出结果:

(2)转换为小写字母

print 'Hello Python'.lower()
print 'Hello Python'.upper()

输出结果:

(3)返回字符串长度

len函数返回的自然长度

print len('Hello Python')

输出结果:

空格也要被记入长度中。

(4)判断字符串是否只包含空格

print 'a '.isspace()
print '  '.isspace()

输出结果:

(5)字符串的替换

print 'hello python'.replace('o','ee')

输出结果:

8、python的组类型

list是列表,代表一组数据,是有序的序列

序列中的每个元素分配一个数字,就是索引,也是位置角标,坐标

也是从0开始

list1=[]
print type(list1)

输出结果:

list1=['a','b','c']
print list1

输出结果:

list1=['a',13,'b',11,'c',8]
print list1

输出结果:

9、访问列表

(1)列表的访问

print list1[0]
print list1[2:]

输出结果:

(2)列表的更新操作

list1[1]=14
print list1

输出结果:

(3)列表的添加操作

list1.append('d')
list1.append('20')
print list1

输出结果:

也有第二种方法:直接加上

list1+=['e',26]
print list1

输出结果:

在实际操作中一般都用append()

(4)列表的删除操作

del list1[4]
print list1

输出结果:

但删除操作中就不能像添加操作那样用'-=',会报错。

10、嵌套列表

即:列表当中还有列表

(1)创建嵌套列表

list1=[[],...,[]]
list1=[['a',1],['b',2],['c',3]]
print list1

输出结果:

(2)返回列表元素的个数

count=len(list1)
print count

输出结果:

(3)移除列表中的元素

l=list1.pop(1)
print(l)
print(list1)

输出结果:

(4)对列表中的元素进行排序

list1=[12,11,13]
list1.sort()
print list1

输出结果:

(5)查找列表中第一个匹配的元素的索引值

list1=[12,11,13]
i=list1.index(11)
print i

输出结果:

查找到了11在列表List1中的位置是1

index也可用于字符串中,但是用于字符串的find不能用于列表中

11、list操作练习

#根据地铁站名判断车上还有哪些人
station=raw_input(u'请输入车站名:')
subway_list=['小王','小张']
if station=='天安门东':
    subway_list.append('小周')
    subway_list.append('小赵')
elif station=='国贸':
    subway_list.append('小吴')
    subway_list.remove('小王')
elif station=='四惠':
    subway_list.append('小贾')
    subway_list.remove('小张')
print subway_list

12、元组

元组:在一个小括号里包裹着

元组(tuple)和列表(list)的区别

l=[1,2,3]
t=(1,2,3)
print type(l)
print type(t)

输出结果:

元组不能修改,不能像列表那样用append(),会报错,也不能用'+'。

元组可以像列表那样用索引、切片

13、集合

集合是一个无序的不重复元素的序列

两种声明方法:{}或者set()

set_param={'c','a','b','d','e','d'}
print set_param

输出结果:

猜你喜欢

转载自blog.csdn.net/weixin_42747054/article/details/81751218
今日推荐