python的三种特性

1、封装

什么时候用函数?

各个函数之间是独立的且无共用的数据。

什么时候用类?

函数之间是相关的,且有共用的数据,则可以使用类来封装。

所谓的封装:

(1)使用构造方法将内容封装到 对象 中。

(2)通过对象直接获取被封装的内容或者通过self间接获取被封装的内容。

class A:

def __init__(self, name, age):

self.name = name

self.age = age

def get(self):

print(self.name)

# 实例化

obj = A()

obj.get() 等价于 obj.get(obj)

# 调用的时候,会将对象obj自身赋值给self变量

self = obj

self.name 等价于 obj.name

self.age 等价于 obj.age

2、继承

同现实中的继承一样。

猫可以:喵喵叫、吃、喝、拉、撒

狗可以:汪汪叫、吃、喝、拉、撒

动物:吃、喝、拉、撒

猫:喵喵叫(猫继承动物的功能)

狗:汪汪叫(狗继承动物的功能)

对于面向对象的继承来说,其实就是将多个类共有的方法提取到父类中,子类仅需继承父类,不必

一一实现每个方法。

当类是经典类时,多继承情况下,会按照深度优先方式查找

当类是新式类时,多继承情况下,会按照广度优先方式查找

如果当前类继承了object,那么当前类便是新式类;

如果当前类的父类继承了object,那么当前类便是新式类;

除了这2种情况,其他类都是经典类。

3、多态

在Java或C#中定义函数参数时,必须指定参数的类型。

比如java定义函数:

public static int sum(int num1, int num2) {

# 函数体

}

在python中不用指定类型,可以直接用。

比如:

def sum(num1, num2):

# 函数体

原文地址:https://www.cnblogs.com/t-road/p/11634552.html

时间: 2024-10-10 23:38:56

python的三种特性的相关文章

python里三种等待元素的方法

在做web或app的自动化测试经过会出现找不到元素而报错的情况,很多时候是因为元素 还没有被加载出来,查找的代码就已经被执行了,自然就找不到元素了.那么我可以用等待 元素加载完成后再执行查找元素的code. Python里有三种等待的方式:一. 强制等待 Sleep(54) 这个方法在time模块,使用时通过from time import sleep导入比如: Sleep(10) #表示强行等待10s再执行下一句代码 Driver.find_element_by_xpath("xxxxxx&q

Python selenium 三种等待方式详解(必会)

很多人在群里问,这个下拉框定位不到.那个弹出框定位不到-各种定位不到,其实大多数情况下就是两种问题:1 有frame,2 没有加等待.殊不知,你的代码运行速度是什么量级的,而浏览器加载渲染速度又是什么量级的,就好比闪电侠和凹凸曼约好去打怪兽,然后闪电侠打完回来之后问凹凸曼你为啥还在穿鞋没出门?凹凸曼分分中内心一万只羊驼飞过,欺负哥速度慢,哥不跟你玩了,抛个异常撂挑子了. 那么怎么才能照顾到凹凸曼缓慢的加载速度呢?只有一个办法,那就是等喽.说到等,又有三种等法,且听博主一一道来: 1. 强制等待

Python selenium 三种等待方式详解

1. 强制等待第一种也是最简单粗暴的一种办法就是强制等待sleep(xx),强制让闪电侠等xx时间,不管凹凸曼能不能跟上速度,还是已经提前到了,都必须等xx时间.看代码: # -*- coding: utf-8 -*- from selenium import webdriver from time import sleep driver = webdriver.Firefox() driver.get('https://www.xuehu365.com') sleep(3) # 强制等待3秒再

Python selenium 三种等待方式解读

1. 强制等待 第一种也是最简单粗暴的一种办法就是强制等待sleep(xx),强制让闪电侠等xx时间,不管凹凸曼能不能跟上速度,还是已经提前到了,都必须等xx时间. 看代码: ? 1 2 3 4 5 6 7 8 9 10 11 # -*- coding: utf-8 -*- from selenium import webdriver from time import sleep driver = webdriver.Firefox() driver.get('https://huilansam

Python中三种基本结构的语句

选择语句 if 条件判断 : # 条件可以加括号也可以不加括号 -- else: -- Python中没有switch语句这是可以使用if exp:.... elif exp:来代替 1 if 判断条件1: 2 执行语句1-- 3 elif 判断条件2: 4 执行语句2-- 5 elif 判断条件3: 6 执行语句3-- 7 else: 8 执行语句4-- Python 循环语句 while 循环 在给定的判断条件为 true 时执行循环体,否则退出循环体. for 循环 重复执行语句 嵌套循环

Python类三种方法,函数传参,类与实例变量(一)

1 Python的函数传递: 首先所有的变量都可以理解为内存中一个对象的'引用' a = 1 def func(a): a = 2 func(a) print(a) # 1 a = 1 def fun(a): print("函数里",id(a)) # 函数里 41322472 a = 2 print("赋值后",id(a), id(2)) # 赋值后 41322448 41322448 print("函数外",id(a), id(1)) # 函数

Python的三种基本数据类型

数字 int(整型) long(长整型),python对长整型没有限制,理论上可以无限大.python3后没有long了. float 字符串 加了引号的都是字符串. 单引号和双引号没有约束,尽量避免使用反斜杠转移 words = 'Hi,this\'s my buddy' words = "Hi,this's my buddy" 如果表达一段话的话只能用三个单引号或者双引号,否则会报错. 字符串拼接: In [1]: name = 'Edward' In [2]: age = '27

Python的三种可变参数

初学python没多久,对python中函数的可变参数有点头晕,查阅了stackflow,现总结一下可变参数 可变参数应该最简单,在C/C++和Java等语言中都有,就是用*号来表示,例如 def testArg(*arg) 你可以传入任意多个元素(包括0)到参数中,在函数内部会自动认为是一个元组或列表 关键字参数 关键字参数在python中习惯用**kw表示,可以传入0到任意多个“关键字-值”,参数在函数内部被当做一个字典结构.例如 def testArg(**kw) def testArg(

以杨辉三角形的三种实现体会python的编程特性

杨辉三角形因为其形式简单,又有一定的使用价值,因此是入门编程题中被用的最多的,也是很好的语言实例标的. 下面就杨辉三角形使用python的三种解法,来看看看python的编程特性. 第一种:传统编程思路 这种思路的特点是中规中矩,符合一般人的思考思路,特别适合初学编程的人员阅读.但缺点是传统命令式编程使得代码显得比较繁琐.这个解法显然也没怎么用python的语言特征,换成其他语言几乎可以逐行照搬.代码如下: 1 # 传统的杨辉三角形实现 2 def pascal(row): 3 result_l