python dict批量选择_python基础(三)

ba7a135258ac8e3ca8b4653ebe7796ee.png

文件与目录操作

读文件

In [26]:

# 要以读文件的模式打开一个文件对象,使用Python内置的`open()`函数,传入文件名和标示符:f = open('print_str.py', 'r')# 如果文件打开成功,接下来,调用read()方法可以一次读取文件的全部内容,Python把内容读到内存,用一个str对象表示:f.read()# 最后一步是调用close()方法关闭文件。文件使用完毕后必须关闭,因为文件对象会占用操作系统的资源f.close()

Out[26]:

'print("欢迎大家学习课程内容!")'

In [ ]:

# 异常处理模式try:    f = open('/path/to/file', 'r')    print(f.read())except Exception as e:    print efinally:    if f:        f.close()

In [30]:

# 逐行读取with open('test.py', 'r') as f:    for line in f.readlines():        print(line.strip())
for item in range(100):print(item)

写文件

In [33]:

with open('test.txt', 'w') as f:    f.write('Hello, world!')    f.write('new line')

Out[33]:

14

Out[33]:

8

In [35]:

lines = ['Hello, python!', 'New text!']with open('new.txt', 'w') as f:    f.writelines(lines)

目录操作

In [37]:

# 需要用到os内置模块import os# 列举当前绝对路径os.path.abspath('.')# 新建文件夹os.mkdir('./testdir')# 文件重命名os.rename('test.txt', 'test2.txt')# 列出当前路径下的所有文件夹[x for x in os.listdir('.') if os.path.isdir(x)]# 列出当前路径下的所有python脚本文件[x for x in os.listdir('.') if os.path.isfile(x) and os.path.splitext(x)[1]=='.py']

Out[37]:

'/Users/mm/Documents/mm/mm/python_skills'

Out[37]:

['.ipynb_checkpoints', 'testdir']

Out[37]:

['print_str.py', 'test.py']

面向对象

面向对象编程

  • 类class与对象object对属于同一类事物的抽象叫类class比如汽车,蛋糕,猫。 之前学习使用的都是Python自带的数据类,这节课我们学习自己定义类class某类事物中的一个具体的实例叫对象Object比如小区门口的那辆黑色的奥迪汽车,好利来里的那种奶油芝士蛋糕,隔壁小花家的那只小花猫。
  • 类与对象的关系类定义封装了数据与方法,类就是对象的模板,可以批量生产出许多的对象。比如a=7,7其实是整形数字int类的一个实例。那int这个类还可以’复刻’出许许多多的整形对象。这些对象共有的特征就是:整数性。类(class)的变量是所有对象共享使用, 只有一个拷贝, 所有对象修改, 都可以被其他对象所见; 对象(object)的变量由类的每个对象所拥有, 每个对象都包含自己的一份拷贝, 不会影响其他对象;

In [15]:

# 类的设计与创建# 使用 class 语句来创建一个新类,class 之后为类的名称并以冒号结尾,类的主体由类成员,方法,数据属性组成class Employee:    "所有员工的基类"    empCount = 0    def __init__(self, name, salary):        self.name = name        self.salary = salary        Employee.empCount += 1    def displayCount(self):        print("总共雇员数量 %d" % Employee.empCount)    def displayEmployee(self):        print("姓名: ", self.name,  ", 工资: ", self.salary)        # empCount 变量是一个类变量,它的值将在这个类的所有实例之间共享。你可以在内部类或外部类使用 Employee.empCount 访问。# 第一种方法__init__()方法是一种特殊的方法,被称为类的构造函数或初始化方法,当创建了这个类的实例时就会调用该方法# self 代表类的实例,self 在定义类的方法时是必须有的,虽然在调用时不必传入相应的参数。

In [16]:

# 创建对象"创建 Employee 类的第一个对象"emp1 = Employee("张三", 2000)"创建 Employee 类的第二个对象"emp2 = Employee("李四", 5000)

In [17]:

# 调用成员函数emp1.displayEmployee()emp2.displayEmployee()print("总共雇员数%d" % Employee.empCount)
姓名:  张三 , 工资:  2000姓名:  李四 , 工资:  5000总共雇员数2

In [19]:

#__dict__ : 类的属性(包含一个字典,由类的数据属性组成)#__doc__ :类的文档字符串#__name__: 类名#__module__: 类定义所在的模块(类的全名是'__main__.className',如果类位于一个导入模块mymod中,那么className.__module__ 等于 mymod)#__bases__ : 类的所有父类构成元素(包含了一个由所有父类组成的元组)print("Employee.__doc__:", Employee.__doc__)print("Employee.__name__:", Employee.__name__)print("Employee.__module__:", Employee.__module__)print("Employee.__bases__:", Employee.__bases__)print("Employee.__dict__:", Employee.__dict__)
Employee.__doc__: 所有员工的基类Employee.__name__: EmployeeEmployee.__module__: __main__Employee.__bases__: (,)Employee.__dict__: {'__module__': '__main__', '__doc__': '所有员工的基类', 'empCount': 2, '__init__': , 'displayCount': , 'displayEmployee': , '__dict__': , '__weakref__': }

第三方库使用

python比较强大的地方之一,是有着非常活跃的社区和强大的第三方库,很多时候你需要做的事情可以借助标准库或者第三方库快速完成。

第三方库——Python Imaging Library,这是Python下非常强大的处理图像的工具库。一般来说,第三方库都会在Python官方的pypi.python.org网站注册,要安装一个第三方库,必须先知道该库的名称,可以在官网或者pypi上搜索,比如Python Imaging Library的名称叫pillow,因此,安装Python Imaging Library的命令就是:

In [42]:

!pip install pillow
Requirement already satisfied: pillow in /usr/local/lib/python3.6/site-packages (5.2.0)You are using pip version 10.0.1, however version 19.0.3 is available.You should consider upgrading via the 'pip install --upgrade pip' command.

In [44]:

from PIL import Imageim = Image.open('../img/python.png')print(im.format, im.size, im.mode)im.show() #本地会跳出一个弹窗显示图片im.thumbnail((400, 100)) #对图片进行resizeim.save('python.jpg', 'JPEG') #存储图片
JPEG (1870, 434) RGB
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值