read函数_Python,函数,数据类型-小白上楼梯0x06

前面一篇Python界最简单的“爬虫”-小白上楼梯0x05, 为了拿到2个五笔编码对应的词组,写了有6行的重复代码。照这种比例算下去的话,10个五笔编码,就得写30行的重复了。可以肯定的是,程序肯定不是这么写的。#

c36d19625c304d44beebc9a7048b9af0.png

重复

### 定义并调用函数

上一篇中,拿到数据的两组关键代码是:

```

```1  bianma = 'wqvb'2  resp = request.urlopen(base_url+bianma)html = str(resp.read(), 'utf-8')print(html)6  bianma = 'anlw'7  resp = request.urlopen(base_url+bianma)html = str(resp.read(), 'utf-8')print(html)

```

有重复的动作:2、7行,将`base_url`和`bianma`连到一起,做为参数,传入程序最开始导入的`request`中定义的`urlopen()`函数,会返回一个`http.client.HTTPResponse`对象。

下一行,调用这个`HTTPResponse`对象的`read()`方法。取到代表整个网页的字符串。

再使用print()函数将html输出到屏幕。

函数,可以想象它就像是一个包工头,把一些特定的、重复的事情承包下来,负责过程,上交结果。

接下来,我会尝试着,定义一个函数,来实现,只要我给这个函数几个字母,它就会打印出返回的数据。

```

def get_a_citiao(bianma):    resp = request.urlopen(base_url + bianma)    html = str(resp.read(), 'utf-8')    print(html)

```

`def 函数名(参数)`,使用这种格式定义一个函数。一个函数必须要使用关键字`def`来起头,必须有函数名和括号,参数可有可无。

上面代码中定义的函数,它的作用是:“给我几个字母,我给你拿到google在线五笔返回的数据”。

这样子,我们便可以将以下几个任务交给`get_a_citiao`去做:

a,打开链接拿到response对象。 b,从response对象中读取字符串 c,将字符串打印出来。

在我们需要的时候,只要使用不同的`参数`去调用这个函数就好(完整代码):

from urllib import requestimport base64def get_a_citiao(bianma):    resp = request.urlopen(base_url + bianma)    html = str(resp.read(), 'utf-8')    print(html)if __name__ == '__main__':    ooo = b'aHR0cHM6Ly9pbnB1dHRvb2xzLmdvb2dsZS5jb20vcmVxdWVzdD9pdGM9emgtdC1pMC13dWJpLTE5'           b'ODYmbnVtPTEzJmNwPTAmY3M9MSZpZT11dGYtOCZvZT11dGYtOCZhcHA9ZGVtb3BhZ2UmdGV4dD0='    base_url = str(base64.decodebytes(ooo), 'utf-8')    get_a_citiao('wqvb')    get_a_citiao('anlw')

### Python的基本数据类型

使用python写代码,只要知道6种基本的数据类型就可以了:

1, 数字类型(Number),细分有小数(float)、整数(int)、真假(true/false,相当于1和0)。比如常见的`100`、`3.1415926`。

2, 字符串(String),就是字符组成的一串,可以用`''`(单引号)或者`“”`(双引号)或者`'''`(三个单引号,用于定义多行的字符串,或者直接用于注释)。比如`'吃葡萄不吐葡萄皮'`、`"不吃葡萄反吐葡萄皮"`。

3, 列表(List),一组用中括号`[]`包起来的数据,可以是不同的类型。其中的数据可以半路修改。比如`['a',123,'bcd',2.36,'生活中的美好']`。

4, 元组(tuple),一组用括号`()`包起来的数据,可以是不同的类型,其中的数据不能半路修改。比如`(1,'nice',2.365)`

5, 集合(Set),用`{}`包起来的可以集合其它类型数据的整体,比如`{`nice`,1,34.5,[1,2,'3']}`。集合可以自动去除重复的元素。

6, 字典(Dictionary),用`{}`包起来的键值对,比如`{'name':'学边成','age':30,'职业':'保安'}`。

看官如果觉得一头黑问号的话,不用担心,先忘掉它们,后续使用的过程中,会再次具体讲解。

---

从开始自制五笔到现在,我们已经能够通过传入特定字母的方式,拿到返回的数据了。

接下来,需要做的事有:1,准备好所有的字母,用它们调用那个能拿到数据的函数。2,从返回的数据中拿到汉字与容错码。3, 将有用的数据保存到指定文件中。4,将文件中的词条依据常用程度重新排序。

做完以上4步,咱们就大概地拥有一个完整的五笔词库了。可以挂在别的五笔里面,或者自己生成一个五笔,或者尝试着自己写一个简单的输入法。都是可以的。

请使用头条搜索`自制五笔`,一起零基础做出一个属于自己的五笔,一起学编程。

#Python100天学习计划# #go五笔# #自制五笔# #玩着学编程#

f5497b0f36020a3458bc6c460e551f89.png

搜索`小白上楼梯`了解Python基础实例:自制五笔

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值