Python基本知识点总结

这篇文章主要介绍了Python基本知识点总结,Python基本知识,Python字符串,Python函数,Python模块,Python创建类,Python类的继承,Python重载,Python单下划线说明,Python双下划线说明,Python头尾双下划线说明,需要的朋友可以参考下

Posted in Python onApril 07, 2022

Python注释

python中单行注释采用 # 开头。

python 中多行注释使用三个单引号(''')或三个双引号(""")。

Python字符串

1. 字符串是以单引号​​'​​​或双引号​​"​​​括起来的任意文本,比如​​'abc'​​​,​​"xyz"​​​等等。请注意,​​''​​​或​​""​​​本身只是一种表示方式,不是字符串的一部分,因此,字符串​​'abc'​​​只有​​a​​​,​​b​​​,​​c​​​这3个字符。如果​​'​​​本身也是一个字符,那就可以用​​""​​​括起来,比如​​"I'm OK"​​​包含的字符是​​I​​​,​​'​​​,​​m​​​,空格,​​O​​​,​​K​​这6个字符。

2. 如果字符串内部有很多换行,用​​\n​​​写在一行里不好阅读,为了简化,Python允许用​​'''...'''​​的格式表示多行内容

Python函数

定义一个函数要使用​​def​​​语句,依次写出函数名、括号、括号中的参数和冒号​​:​​​,然后,在缩进块中编写函数体,函数的返回值用​​return​​语句返回

def my_abs(x):
    if x >= 0:
        return x
    else:
        return -x

Python模块

在Python中,一个.py文件就称之为一个模块(Module)。

为了避免模块名冲突,Python又引入了按目录来组织模块的方法,称为包(Package)

 导入模块:

import sys

作用域

在一个模块中,我们可能会定义很多函数和变量,但有的函数和变量我们希望给别人使用,有的函数和变量我们希望仅仅在模块内部使用。在Python中,是通过​​_​​前缀来实现的。

正常的函数和变量名是公开的(public),可以被直接引用,比如:​​abc​​​,​​x123​​​,​​PI​​等;

类似​​__xxx__​​​这样的变量是特殊变量,可以被直接引用,但是有特殊用途,比如上面的​​__author__​​​,​​__name__​​​就是特殊变量,​​hello​​​模块定义的文档注释也可以用特殊变量​​__doc__​​访问,我们自己的变量一般不要用这种变量名;

类似​​_xxx​​​和​​__xxx​​​这样的函数或变量就是非公开的(private),不应该被直接引用,比如​​_abc​​​,​​__abc​​等;

Python字典(Dictionary)

字典是另一种可变容器模型,且可存储任意类型对象。

字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 ,格式如下所示:

d = {key1 : value1, key2 : value2 }

内置函数:

序号 

函数及描述

1

​​cmp(dict1, dict2)​​

比较两个字典元素。

2

​​len(dict)​​

计算字典元素个数,即键的总数。

3

​​str(dict)​​

输出字典可打印的字符串表示。

4

​​type(variable)​​

返回输入的变量类型,如果变量是字典就返回字典类型。

 内置方法:

序号

函数及描述

1

​​dict.clear()​​

删除字典内所有元素

2

​​dict.copy()​​

返回一个字典的浅复制

3

​​dict.fromkeys(seq[, val])​​

创建一个新字典,以序列 seq 中元素做字典的键,val 为字典所有键对应的初始值

4

​​dict.get(key, default=None)​​

返回指定键的值,如果值不在字典中返回default值

5

​​dict.has_key(key)​​

如果键在字典dict里返回true,否则返回false

6

​​dict.items()​​

以列表返回可遍历的(键, 值) 元组数组

7

​​dict.keys()​​

以列表返回一个字典所有的键

8

​​dict.setdefault(key, default=None)​​

和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default

9

​​dict.update(dict2)​​

把字典dict2的键/值对更新到dict里

10

​​dict.values()​​

以列表返回字典中的所有值

11

​​pop(key[,default])​​

删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。

12

​​popitem()​​

返回并删除字典中的最后一对键和值。

Python面向对象

1. 创建类

使用 class 语句来创建一个新类,class 之后为类的名称并以冒号结尾:

class ClassName:
   '类的帮助信息'   #类文档字符串
   class_suite  #类体

类的帮助信息可以通过ClassName.__doc__查看。

class_suite 由类成员,方法,数据属性组成。

__init__()方法是一种特殊的方法,被称为类的构造函数或初始化方法,当创建了这个类的实例时就会调用该方法

self 代表类的实例,self 在定义类的方法时是必须有的,虽然在调用时不必传入相应的参数

self代表类的实例,而非类

类的方法与普通的函数只有一个特别的区别——它们必须有一个额外的第一个参数名称, 按照惯例它的名称是 self。

self 代表的是类的实例,代表当前对象的地址,而 self.__class__ 则指向类。

2. 访问属性

  • 使用点号 . 来访问对象的属性
  • 可以使用以下函数的方式来访问属性:
  • getattr(obj, name[, default]) : 访问对象的属性。
  • hasattr(obj,name) : 检查是否存在一个属性。
  • setattr(obj,name,value) : 设置一个属性。如果属性不存在,会创建一个新属性。
  • delattr(obj, name) : 删除属性。

Python内置类属性

  • __dict__ : 类的属性(包含一个字典,由类的数据属性组成)
  • __doc__ :类的文档字符串
  • __name__: 类名
  • __module__: 类定义所在的模块(类的全名是'__main__.className',如果类位于一个导入模块mymod中,那么className.__module__ 等于 mymod)
  • __bases__ : 类的所有父类构成元素(包含了一个由所有父类组成的元组)

Python对象销毁(垃圾回收)

 Python 使用了引用计数这一简单技术来跟踪和回收垃圾

析构函数 __del__ ,__del__在对象销毁的时候被调用,当对象不再被使用时,__del__方法运行

Python类的继承

通过继承创建的新类称为子类派生类,被继承的类称为基类父类超类

继承语法

class 派生类名(基类名)
    ...

如果在继承元组中列了一个以上的类,那么它就被称作"多重继承" 。

语法:

派生类的声明,与他们的父类类似,继承的基类列表跟在类名之后,如下所示:

class SubClassName (ParentClass1[, ParentClass2, ...]):

Python基础重载方法

下表列出了一些通用的功能,你可以在自己的类重写:

序号

方法, 描述 & 简单的调用

1

__init__ ( self [,args...] )

构造函数

简单的调用方法: obj = className(args)

2

__del__( self )

析构方法, 删除一个对象

简单的调用方法 : del obj

3

__repr__( self )

转化为供解释器读取的形式

简单的调用方法 : repr(obj)

4

__str__( self )

用于将值转化为适于人阅读的形式

简单的调用方法 : str(obj)

5

__cmp__ ( self, x )

对象比较

简单的调用方法 : cmp(obj, x)

Python类属性与方法

类的私有属性

__private_attrs:两个下划线开头,声明该属性为私有,不能在类的外部被使用或直接访问。在类内部的方法中使用时 self.__private_attrs

类的方法

在类的内部,使用 def 关键字可以为类定义一个方法,与一般函数定义不同,类方法必须包含参数 self,且为第一个参数

类的私有方法

__private_method:两个下划线开头,声明该方法为私有方法,不能在类的外部调用。在类的内部调用 self.__private_methods

单下划线、双下划线、头尾双下划线说明:

  • __foo__: 定义的是特殊方法,一般是系统定义名字 ,类似 __init__() 之类的。
  • _foo: 以单下划线开头的表示的是 protected 类型的变量,即保护类型只能允许其本身与子类进行访问,不能用于 from module import *
  • __foo: 双下划线的表示的是私有类型(private)的变量, 只能是允许这个类本身进行访问了。

web 开发

WSGI:Web Server Gateway Interface

Python内置了一个WSGI服务器,这个模块叫wsgiref,它是用纯Python编写的WSGI服务器的参考实现。所谓“参考实现”是指该实现完全符合WSGI标准,但是不考虑任何运行效率,仅供开发和测试使用

由于用Python开发一个Web框架十分容易,所以Python有上百个开源的Web框架

更多关于Python基本知识请查看下面的相关链接

Python 相关文章推荐
python使用7z解压软件备份文件脚本分享
Feb 21 Python
跟老齐学Python之有容乃大的list(4)
Sep 28 Python
Ubuntu 14.04+Django 1.7.1+Nginx+uwsgi部署教程
Nov 18 Python
python概率计算器实例分析
Mar 25 Python
Python selenium文件上传方法汇总
Nov 19 Python
Python抓取手机号归属地信息示例代码
Nov 28 Python
解决python3在anaconda下安装caffe失败的问题
Jun 15 Python
pygame游戏之旅 添加碰撞效果的方法
Nov 20 Python
详解Python sys.argv使用方法
May 10 Python
pytorch标签转onehot形式实例
Jan 02 Python
pytorch判断是否cuda 判断变量类型方式
Jun 23 Python
Django后端分离 使用element-ui文件上传方式
Jul 12 Python
Django + Taro 前后端分离项目实现企业微信登录功能
Apr 07 #Python
Python OpenCV实现图像模板匹配详解
Python实现日志实时监测的示例详解
Python使用PyYAML库读写yaml文件的方法
Apr 06 #Python
python+pytest接口自动化之token关联登录的实现
Python图像处理库PIL详细使用说明
Apr 06 #Python
Python可变与不可变数据和深拷贝与浅拷贝
Apr 06 #Python
You might like
星际争霸兵种名称对照表
2020/03/04 星际争霸
yii2 resetful 授权验证详解
2017/05/18 PHP
js option删除代码集合
2008/11/12 Javascript
QUnit jQuery的TDD框架
2010/11/04 Javascript
实现点击列表弹出列表索引的两种方式
2013/03/08 Javascript
js获取url参数值的两种方式
2013/09/10 Javascript
jQuery 事件的命名空间简单了解
2013/11/22 Javascript
jQuery中fadeOut()方法用法实例
2014/12/24 Javascript
关于input全选反选恶心的异常情况
2016/07/24 Javascript
js中遍历Map对象的简单实例
2016/08/08 Javascript
BOM系列第三篇之定时器应用(时钟、倒计时、秒表和闹钟)
2016/08/17 Javascript
浅析JavaScript中break、continue和return的区别
2016/11/30 Javascript
Bootstrap的popover(弹出框)2秒后定时消失的实现代码
2017/02/27 Javascript
浅谈React + Webpack 构建打包优化
2018/01/23 Javascript
JavaScript实现短暂提示框功能
2018/04/04 Javascript
Vue中"This dependency was not found"问题的解决方法
2018/06/19 Javascript
详解ESLint在Vue中的使用小结
2018/10/15 Javascript
Vue slot用法(小结)
2018/10/22 Javascript
详解小程序毫秒级倒计时(适用于拼团秒杀功能)
2019/05/05 Javascript
vue-cli4使用全局less文件中的变量配置操作
2020/10/21 Javascript
Vue router传递参数并解决刷新页面参数丢失问题
2020/12/02 Vue.js
在Django的模板中使用认证数据的方法
2015/07/23 Python
Python ftp上传文件
2016/02/13 Python
详解python中xlrd包的安装与处理Excel表格
2016/12/16 Python
Python实现FTP上传文件或文件夹实例(递归)
2017/01/16 Python
Python中optparser库用法实例详解
2018/01/26 Python
python+opencv识别图片中的圆形
2020/03/25 Python
基于DataFrame改变列类型的方法
2018/07/25 Python
Django搭建项目实战与避坑细节详解
2020/12/06 Python
CSS3支持IE6, 7, and 8的边框border属性
2012/12/28 HTML / CSS
2016大学迎新欢迎词
2015/09/29 职场文书
会计工作自我鉴定范文
2019/06/21 职场文书
Nginx中break与last的区别详析
2021/03/31 Servers
教你一步步实现一个简易promise
2021/11/02 Javascript
MySQL读取JSON转换的方式
2022/03/18 MySQL
Golang jwt身份认证
2022/04/20 Golang