21.1. 基础语法复习

21.1.1. 变量

>>> a = 4
>>> b = 5
>>> t = a
>>> a = b
>>> b = t
>>> a
5
>>> b
4

21.1.2. 字符串的加法 和 乘法

>>> a = "I "
>>> b = "love "
>>> c = 'python '
>>> a + b + c
'I love python '


>>> a = "word"
>>> a * 3
'wordwordword'

21.1.3. 字符串的切片和索引

>>> a = "I love python"
>>> a[0]
'I'
>>> a[0:5]      # 0`4个索引位置
'I lov'
>>> a[-1]
'n'
>>> a[::-1]     #反转字符串
'nohtyp evol I'

21.1.4. 字符串方法

split()方法,根据分隔符将字符串切割为列表

>>> a = "www.baidu.com"
>>> a.split('.')
['www', 'baidu', 'com']

replace()方法,可以将字符串中的字符进行替换

>>> a = "there is apples"
>>> a.replace("is","are")
'there are apples'

strip()去掉字符串两边的空格,或者根据特定字符进行去除

>>> a = " python is cool  "
>>> a
' python is cool  '
>>> a.strip()
'python is cool'


>>> a = "***python *is *good***"
>>> a.strip("*!")
'python *is *good

format()字符串格式化

>>> a = "{} is my love".format("python")
>>> a
'python is my love'


>>> content = input("请输入y要搜索的内容:")
>>> url_path = "https://www.pexels.com/{}".format(content)
>>> url_path
'https://www.pexels.com/book'

21.1.5. 函数

# 对手机号码进行隐藏,隐藏第3位到第6位
def change_number(number):
    hiding_number = number.replace(number[3:7],"*"*4)
    print(hiding_number)

change_number("13262662216")
132****2216

21.1.6. 判断语句

#!/usr/bin/env python
#-*- coding:utf8 -*-
def count_login():
    passwd = input("请输入密码: ")
    if passwd == "123.com":
        print("输入成功!")
    else:
        print("输入错误!重新输入")
        count_login()

count_login()

请输入密码: 12
输入错误!重新输入
请输入密码: 123.com
输入成功!

21.1.7. 循环语句

  • 计算1~100的和

#!/usr/bin/env python
#-*- coding:utf8 -*-
i = 0
sum = 0
while i < 100:
    i +=1
    sum = sum + i

print(sum)

21.1.8. Python数据结构

列表

>>> list = ["peter","lilei","wangwu","xiaoming"]
>>> list[1]
'lilei'
>>> list[2:]
['wangwu', 'xiaoming']
>>> list[2:4]
['wangwu', 'xiaoming']



In [1]: names = ["xiaoming","wangwu","peter"]

In [2]: ages = [23,14,31]

In [3]: for name,age in zip(names,ages):
   ...:     print(name,age)
   ...:
xiaoming 23
wangwu 14
peter 31


##手动将网页存到url中,然后循环依次取出并访问爬取数据
In [4]: urls = ["http://bj.xiaozhu.com/search-duanzufang-p{}-0/".format(number) for number in range(1,14)]

In [5]: for url in urls:
   ...:     print(url)
   ...:
http://bj.xiaozhu.com/search-duanzufang-p1-0/
http://bj.xiaozhu.com/search-duanzufang-p2-0/
http://bj.xiaozhu.com/search-duanzufang-p3-0/
http://bj.xiaozhu.com/search-duanzufang-p4-0/
http://bj.xiaozhu.com/search-duanzufang-p5-0/
http://bj.xiaozhu.com/search-duanzufang-p6-0/
http://bj.xiaozhu.com/search-duanzufang-p7-0/
http://bj.xiaozhu.com/search-duanzufang-p8-0/
http://bj.xiaozhu.com/search-duanzufang-p9-0/
http://bj.xiaozhu.com/search-duanzufang-p10-0/
http://bj.xiaozhu.com/search-duanzufang-p11-0/
http://bj.xiaozhu.com/search-duanzufang-p12-0/
http://bj.xiaozhu.com/search-duanzufang-p13-0/

字典

In [9]: user_info = { "name":"hujianli",
   ...: "age":18,
   ...: "sex":"man"}

In [10]: user_info
Out[10]: {'age': 18, 'name': 'hujianli', 'sex': 'man'}

元祖和集合

In [11]: tuple = (1,2,3)  # 元祖不可变


In [12]: list = ["xiaoming","zhangyun","xiaoming"]      #集合可以去重
In [13]: set(list)
Out[13]: {'xiaoming', 'zhangyun'}

21.1.9. 文件操作

写文件

f = open("hujianli.txt","w")
f.write("hello world")
for i in range(11):
    f.write(str(i)+"\n")
f.close()

读文件

f = open("hujianli.txt")
for i in f:
    print(i)
    #去掉字符串两端的空白
    #print(i.strip())
f.close()

21.1.10. 面对对象

类的初探

实例属性

#!/usr/bin/env python
# -*- encoding -*-
class Bike:
    compose = ['frame','wheel','pedal']


my_bike = Bike()
you_bike = Bike()
my_bike.other = "hujianli"
print(my_bike.compose)
print(my_bike.other)
print(you_bike.compose)

实例方法

#!/usr/bin/env python
#-*- coding:utf8 -*-

class Cat(object):
    def jiao(self):
        print("miao...miao....")



hu_cat = Cat()
hu_cat.jiao()


# 实例方法可以添加参数
class Cat(object):
    def jiao(self,name):
        print("my name is {} ,miao...miao....".format(name))

hu_cat1 = Cat()
hu_cat1.jiao("hu_cat")

魔法方法 构造函数__init__

创建实例的时候自动执行

class Cat(object):
    def __init__(self):
        self.other = "hujianli_name"
    def jiao(self,name):
        print("my name is {} ,miao...miao....".format(name))

hu = Cat()
print(hu.other)

类的继承

#!/usr/bin/env python
#-*- coding:utf8 -*-
class Bike:
    compose = ['frame','wheel','pedal']
    def __init__(self):
        self.other = "hujianli"

    def use(self,time):
        print("you ride {}m".format(time*100))

class Share_bike(Bike):
    def cost(self,hour):
        print("you spent {}".format(hour*2))

bike = Share_bike()
print(bike.other)
bike.cost(2)

hujianli
you spent 4