【类】是【对象】的母板,得先有了类,我们才能制造各种“对象”。就像我们先有了产品图纸,才能制造各种产品一样

【类】是一个函数包。类中可以放置函数和变量,然后类中的函数可以很方便的使用类中的变量

class语句来自定义一个类。

在类中被定义的变量被称为类的【属性】。使用类名.变量名的格式,可以把类中的属性的值提取出来

class 类A():

变量1 = 100

# 这里需要用print语句,才能把提取出的数值打印到屏幕上

print(类A.变量1)

类中的属性(变量)也可以修改,使用类名.变量名的格式,可以让我们在类的外面,增加或修改类的属性:

当类中放置了函数和变量,类就有了方法和属性:

类方法也是函数,它和单独定义函数的区别是什么?

它们两者最大的区别,一个是它的调用格式:.函数名()函数名()多了一个【类.】,但更重要的是,“类”中的函数可以利用“类”中的变量(也就是类方法可以调用类属性)。

“重写类方法”分成两个步骤:第一个步骤是在类的外部写一个函数,第二个步骤是把这个新函数的名字赋值给.原始函数:

class 类():def 原始函数(self):print('我是原始函数!')def 新函数(self): # ***这个括号里面必须写上self,说明是实例。否则会报错print('我是新函数!')a = 类()a.原始函数()类.原始函数 = 新函数a.原始函数()

编码和文件读写:

编码的本质就是让只认识0和1的计算机,能够理解我们人类使用的语言符号,并且将数据转换为二进制进行存储和传输

这种从人类语言到计算机语言转换的形式,就叫做编码表,它让人类语言和计算机语言能够一一对应起来.

UTF-8可以兼容ASCII编码; Unicode是内存编码的规范,而UTF-8是如何保存和传输Unicode的手段;

为什么电脑引入16或8进制?2、8、16,分别是2的1次方、3次方、4次方。这一点使得三种进制之间可以非常直接地互相转换;

计算机是有自己的工作区的,这个工作区被称为“内存”。数据在内存当中处理时,使用的格式是Unicode,统一标准;

Python3当中,程序处理我们输入的字符串,是默认使用Unicode编码的,所以你什么语言都可以输入;

将人类语言转换为计算机语言,就是【编码】encode();反之,就是【解码】decode()

比如: print('小明'.encode('utf-8')) 打印结果是b'\xe5\xb0\x8f\xe6\x98\x8e', 将人类语言编码后得到的结果,有一个相同之处,就是最前面都有一个字母b,比如b'\xe5\xb0\x8f\xe6\x98\x8e',这代表它是bytes(字节)类型的数据. \x是分隔符,用来分隔一个字节和另一个字节. 另外有的网址里面也有好多的%,它们也是分隔符,替换了Python中的\x.

所谓的编码,其实本质就是把str(字符串)类型的数据,利用不同的编码表,转换成bytes(字节)类型的数据。

字符和字节两个概念: 字符是人们使用的记号,一个抽象的符号,这些都是字符:'1', '中', 'a', '$', '¥' . 而字节则是计算机中存储数据的单元,一个8位的二进制数.

再如ASCII编码, 它不支持中文,所以我们来转换一个大写英文字母K: print('K'.encode('ASCII')), 输出是b'K', 你看到大写字母K被编码后还是K,但这两个K对计算机来说意义是不同的。前者是字符串,采用系统默认的Unicode编码,占两个字节。后者则是bytes类型的数据,只占一个字节。这也验证我们前面所说的编码就是将str类型转换成bytes类型。

接下来我们就来看看文件读写:

文件读写,是Python代码调用电脑文件的主要功能,能被用于读取和写入文本记录、音频片段、Excel文档、保存邮件以及任何保存在电脑上的东西.

你可能会问 ;为什么要在Python打开文件?我直接打开那个文件,在那个文件上操作不就好了吗?

一般来说直接打开操作当然是没问题的。但假如你有一项工作,需要把100个Word文档里的资料合并到1个文件上,一个个地复制粘贴多麻烦啊,这时你就能用上Python了。或者,当你要从网上下载几千条数据时,直接用Python帮你把数据一次性存入文件也是相当方便.

【文件读写】,是分为【读】和【写】两部分的,我们就先来瞧瞧【读文件】是怎么实现的?

读文件也是三步:打开——读取——关闭

文件的地址有两种:相对路径绝对路径:

绝对路径就是最完整的路径,相对路径指的就是【相对于当前文件夹】的路径,也就是你编写的这个py文件所放的文件夹路径!

打开:file1 = open('/Users/Ted/Desktop/test/abc.txt','r',encoding='utf-8')

第二个参数表示打开文件时的模式。这里是字符串 'r',表示 read,表示我们以的模式打开了这个文件。

\在Python中是转义字符,所以时常会有冲突。为了避坑,Windows的绝对路径通常要稍作处理,写成以下两种格式;

open('C:\\Users\\Ted\\Desktop\\test\\abc.txt')
#将'\'替换成'\\'open(r'C:\Users\Ted\Desktop\test\abc.txt')
#在路径前加上字母r

除了'r',其他还有'w'(写入),'a'(追加)等模式,我们稍后会涉及到

读取文件:

file1 = open('/Users/Ted/Desktop/test/abc.txt','r',encoding='utf-8')
filecontent = file1.read()
print(filecontent)

关闭文件:

file1 = open('/Users/Ted/Desktop/test/abc.txt','r',encoding='utf-8')
filecontent = file1.read()     #读取file1的内容, 并且把读到的内容放在变量**filecontent**里面,这样我们才能拿到文件的内容.
print(filecontent)
file1.close() 

为啥要关闭文件呢?原因有两个:1.计算机能够打开的文件数量是有限制的,open()过多而不close()的话,就不能再打开文件了。2.能保证写入的内容已经在文件里被保存好了.

文件关闭之后就不能再对这个文件进行读写了。如果还需要读写这个文件的话,就要再次 open() 打开这个文件

Pyghon学习记录相关推荐

  1. Pytorch学习记录-torchtext和Pytorch的实例( 使用神经网络训练Seq2Seq代码)

    Pytorch学习记录-torchtext和Pytorch的实例1 0. PyTorch Seq2Seq项目介绍 1. 使用神经网络训练Seq2Seq 1.1 简介,对论文中公式的解读 1.2 数据预 ...

  2. HTML5与CSS3权威指南之CSS3学习记录

    title: HTML5与CSS3权威指南之CSS3学习记录 toc: true date: 2018-10-14 00:06:09 学习资料--<HTML5与CSS3权威指南>(第3版) ...

  3. springboot @cacheable不起作用_Springboot学习记录13 使用缓存:整合redis

    本学习记录的代码,部分参考自gitee码云的如下工程.这个工程有详尽的Spingboot1.x教程.鸣谢! https://gitee.com/didispace/SpringBoot-Learnin ...

  4. 【Cmake】Cmake学习记录

    Cmake学习记录 1.1 常例 add_library(gen_reference_infogen_reference_info/gen_reference_info.hgen_reference_ ...

  5. ASP.NETCore学习记录(一)

    ASP.NETCore学习记录(一) asp.net core介绍  Startup.cs  ConfigureServices  Configure  0. ASP.NETCore 介绍 ASP.N ...

  6. Android开发技术周报176学习记录

    Android开发技术周报176学习记录 教程 当 OkHttp 遇上 Http 2.0 http://fucknmb.com/2018/04/16/%E5%BD%93OkHttp%E9%81%87% ...

  7. add函数 pytorch_Pytorch学习记录-Pytorch可视化使用tensorboardX

    Pytorch学习记录-Pytorch可视化使用tensorboardX 在很早很早以前(至少一个半月),我做过几节关于tensorboard的学习记录. https://www.jianshu.co ...

  8. java之字符串学习记录

    java之字符串学习记录 public class StringDemo { public static void main(String[] args) { //静态初始化字符串 String s1 ...

  9. Redis的学习记录

    Redis的学习记录 1.先导了解 1.1 NOSQL概述 1.1.1 为什么要用NoSql? 1.1.2 NoSql了解 1.1.3 NoSql特点 1.1.4 NoSQL的四大分类 2. Redi ...

最新文章

  1. 题目:查找数组中的重复数字,要求空间复杂度为O(1)(基于Java实现)
  2. C#调用Mail发送QQ邮件
  3. 死磕 java集合之ConcurrentSkipListMap源码分析——发现个bug
  4. Java架构经验总结
  5. .NET中的值类型与引用类型
  6. Citrix高层相继离职,XenServer或将被流产?
  7. 【leetcode】栈(python)
  8. Jmeter脚本录制和压测
  9. 蒸汽管道图纸符号_管道图形符号
  10. 学说话:和光合作用五道口店咖啡吧的小姑娘过招儿;推荐:《如何听如何说》 - [学说话]
  11. 短视频SDK接入(2)---环境搭建
  12. idea连接linux中mysql[08S01]错误
  13. 哦也!伟大的回文树(回文自动机)!
  14. OpenFeign日志
  15. 智能体温监测预警系统方案开发
  16. 超经典机械制图基础常识
  17. 计算机毕业设计 SSM网上购物商城系统(源码+论文)
  18. LTE QPSK 16QAM星座图、调制符号与bit序列映射关系
  19. 什么是Mocking framework?它有什么用?(转)
  20. 如何解决Not able to find Java executable or version. Please check your Java installation?

热门文章

  1. suse linux
  2. 抖音python真的那么好吗_python看抖音用户画像,摩羯天蝎居然刷得最多?
  3. can和could的用法_情态动词can和could用法详解
  4. 狂神。Mybatis学习。
  5. java水平测试_【考试】java基础知识测试,看你能得多少分?
  6. 18.3.7给小可爱们的(NBUOJ)
  7. 数据挖掘著名案例——啤酒与尿布
  8. antdesignpro ProTable 搜索模式自定义搜索字段
  9. 蚂蚁金服大致股权结构
  10. 如何自己搭建本地代理IP池并验证是否可用