Python入门及进阶
Python入门及进阶
一、python是什么?
二、python基础知识
三、python面向对象
四、文件处理
一、python是什么?
python是一种跨平台、解释性、面向对象的高级编程语言。设计哲学是:优雅 明确 简单
适合领域:web网站和各种网络服务、系统工具和脚本、包装其他语言开发的模块
不适合领域:偏硬件驱动程序代码、移动开发、游戏开发
python与其他语言相比:
编译型语言:需要经过编译、链接两个步骤。编译是把源代码翻译成机器码,链接是把各个模块的机器码和依赖库串连起来生成可执行文件。
解释型语言:程序不需要编译,在运行程序的时候才逐行翻译。
二、python基础知识
python变量不需要声明,变量在使用前必须赋值,只有赋值后该变量才会被创建
六个标准的数据类型:数字,字符串,列表list,元组tuple,集合set,字典dictionary
不可变数据:数字,字符串,元组
可变数据:列表,集合,字典
可变和不可变的实质是指内存中那块内容是否可以被改变。
python支持中文 表示为u‘中文’ 字符串前面加个u 当然编码也需要设置为utf-8
切片表达 [i : i+n : m]
切片的基本含义是:从序列的第i位索引起,向右取到后n位元素为止,按m间隔过滤 。
列表:列表可以完成大多数集合类的数据结构的实现,列表中元素类型可以不相同,支持数字,字符串,列表等
字典:另一种可变容器模型,可存储任意类型的数据对象。每个键值用冒号分割,每个对用逗号分隔。键必须是唯一的,但值不必。值可取任意数据类型,键必须是不可变的。
字典遍历技巧:在字典中遍历时,关键字和对应的值可以使用 items() 方法同时解读出来
函数:能提高应用的模块性,和代码的重复利用率。以def xxx()开始,return结束
在 python 中,类型属于对象,变量是没有类型的。
不可变类型:变量赋值 a=5 后再赋值 a=10,这里实际是新生成一个 int 值对象 10,再让 a 指向它,而 5 被丢弃,不是改变a的值,相当于新生成了a。
可变类型:变量赋值 la=[1,2,3,4] 后再赋值 la[2]=5 则是将 list la 的第三个元素值更改,本身la没有动,只是其内部的一部分值被修改了。
模块和包
模块就是.py文件,包含你定义的函数和变量。模块可被其他程序引入,以使用该模块中的函数等功能。
from … import 语句
Python 的 from 语句让你从模块中导入一个指定的部分到当前命名空间中
Import模块后,python解释器如何找到?这就涉及到Python的搜索路径,搜索路径是由一系列目录名组成的,Python解释器就依次从这些目录中去寻找所引入的模块
包是一个分层次的文件目录结构,它定义了一个由模块及子包,和子包下的子包等组成的 Python 的应用环境
包就是文件夹,但该文件夹下必须存在 init.py 文件, 该文件的内容可以为空。init.py 用于标识当前文件夹是一个包
一般引用包下的模块,需要给python解释器加上路径:sys.path.extend([’…/’,’…/common’]),不然可能找不到这个包
三、python面向对象
类(Class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。
方法:类中定义的函数。
类变量:类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实例变量使用。
实例变量:在类的声明中,属性是用变量来表示的,这种变量就称为实例变量,实例变量就是一个用 self 修饰的变量。
局部变量:定义在方法中的变量,只作用于当前实例的类。
继承:类的继承机制允许多个基类,派生类可以覆盖基类中的任何方法,方法中可以调用基类中的同名方法。
私有方法和私有变量:两个下划线开头,外部无法调用
self代表类的实例,而非类。类的方法与普通的函数只有一个特别的区别——它们必须有一个额外的第一个参数名称, 按照惯例它的名称是 self。
实例变量的来由:类的成员变量无需声明,想到即用,这样动态添加的属性只属于实例,不属于类
区别:类变量是所有对象共有,其中一个对象将它值改变,其他对象得到的就是改变后的结果;而实例变量则属对象私有,某一个对象将其值改变,不影响其他对象
四、文件处理
f=open(filename,mode)
‘rb’,’wb’等是以二进制方式打开
区别是r+读写不存在的文件会报错,w+在文件不存在的情况下会自动创建文件。其他无区别
Python偏移量:
设置文件当前位置 file.seek(offset[, whence])
返回文件当前位置 file.tell()
利用迭代器遍历read:
Python写磁盘时机:
1.主动调用close()或者flush()方法,写缓存同步到磁盘
2.写入数据量大于或者等于写缓存,写缓存同步到磁盘
目前貌似缓存刷新相比以前处理的好很多了,但建议大家在写入很多数据进文件时,调用flush()函数
————————————————
版权声明:本文为CSDN博主「小静ya」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_37672234/article/details/108693908
- 点赞
- 收藏
- 关注作者
评论(0)