python简明教程3.0_Python3简明教程四

这部分主要说明Python3的类、模块等。

1. 类

定义类的语法

class nameoftheclass(parent_class):

statement1

statement2

statement3

__init__方法

类的实例化使用函数符号。类似于构造函数。

继承

当一个类继承另一个类时,它将继承父类的所有功能(如变量和方法)。

多继承

一个类可以继承自多个类,具有父类的所有变量和方法

class MyClass(Parentclass1, Parentclass2,...):

def __init__(self):

Parentclass1.__init__(self)

Parentclass2.__init__(self)

...

...

删除对象

使用关键字 del 来删除对象。del 实际上使对象的引用计数减少一,当对象的引用计数变成零的时候,垃圾回收器会删除这个对象。

属性(attributes)读取方法

在 Python 里不要使用属性读取方法,直接使用即可。

>>> std.name = "Python"

>>> print(std.name)

Python

Properties 装饰器

@property 装饰器就是负责把一个方法变成属性调用。

本质上,装饰器也是一种高阶函数

2. 模块

当人们编写大型程序的时候会倾向于将代码分为多个不同的文件以便使用,调试以及拥有更好的可读性。在 Python 中使用模块来到达这些目的。模块是包括 Python 定义和声明的文件。文件名就是模块名加上 .py 后缀。

通过全局变量 __name__可以得到模块的模块名(一个字符串)。

导入模块

也可以从模块中导入指定的函数

import module # 导入模块

from module import xxxfun1, xxxfun2 # 导入模块中指定的函数

from module import * # 导入模块中的所有定义,不推荐

含有 __init__.py 文件的目录可以用来作为一个包,目录里的所有 .py 文件都是这个包的子模块。

可以使用 touch 命令创建一个空的 __init__.py 文件

os模块

os模块提供了与操作系统相关的功能。

-- getuid() 函数返回当前进程的有效用户 id。

-- getpid() 函数返回当前进程的 id。

-- getppid() 返回父进程的 id。

-- uname() 函数返回识别操作系统的不同信息。在 Linux 中它返回的详细信息可以从 uname -a 命令得到。uname() 返回的对象是一个元组,(sysname, nodename, release, version, machine)。

-- getcwd() 函数返回当前工作目录。

-- chdir(path) 则是更改当前目录到 path

Requests 模块

Requests是一个第三方 Python 模块,可以使用pip3安装该模块。

pip3 install requests

Requests 模块的get() 方法获取任意一个网页

>>> import requests

>>> req = requests.get('https://www.baidu.com')

>>> req.status_code

200

>>> req.text #可获取html网页文档

从指定的 URL 中下载文件的程序

#!/usr/bin/env python3

import os

import os.path

import requests

def download(url):

'''从指定的 URL 中下载文件并存储到当前目录

:arg url: 要下载的文件的 URL

'''

req = requests.get(url)

# 首先我们检查是否存在文件

if req.status_code == 404:

print('No such file found at %s' % url)

return

filename = url.split('/')[-1]

with open(filename, 'wb') as fobj:

fobj.write(req.content)

print("Download over.")

if __name__ == '__main__':

url = input('Enter a URL: ')

download(url)

if __name__ == '__main__'

从上可以知道这条语句,该语句的作用是只有在当前模块名为 __main__ 的时候(即作为脚本执行的时候)才会执行此 if 块内的语句。换句话说,当此文件以模块的形式导入到其它文件中时,if 块内的语句并不会执行。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值