python的property用法_在python中property怎样使用-百度经验

在python中property可以使类中的方法变为类中的属性一样来使用,使得类中的属性值不易暴露,更加安全,那么在python中property怎样使用呢?下面小编就带大家来看看详细的教程!

5a5a00def4dca0392f83835f58d96975f3c40d33.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

工具/原料

python的版本:python 3.0

操作系统:windows

方法/步骤

1

打开python的文件,新建一个类,命名为scale,并添加一个初始化的方法,传入长和宽的这个两个参数,并计算面积area。

cfadcdd96975f2c4ad0514f08f0148fe1f420633.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

2

接着实例化这个scale这个类,并传入长和宽的值,并将面积打印出来。

5c2a1ad149299a88738fa55667eeadbcbf2f7f33.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

3

我们仔细看这个计算面积的类,会发现这个面积是可以随意更改的,实例化这个来之后,我们可以对area这个属性的值做任何的修改,安全性不好,那么有什么方法可以让area的属性不暴露呢?

edafb3bcbe2f4770168492696f3b3b8603217933.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

4

在类中在新建一个方法,命名为area,用来计算长方形的面积,并返回这个面积的值。

3ac71c214f5793560427b593effb960b30217033.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

5

我们可以通过使用property来解决刚才遇到的问题,在area方法前面加上@property,这样我们就可以将这个方法当做属性来访问,用户就不能够随意更改面积的值了。

05e24be983aee8d738b6ae5c6b781431deb66633.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

6

点击顶部的菜单run命令,选择运行的python文件。

e2aefe781431dfb654f01ad512cf02532e636333.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

7

在控制台里面我们就可以看到计算出来的面积的值了,这个值是根据长和宽的值决定的,并不是用户自己随意更改的!

988e1c532f6323858caaaf22cce833e038725d33.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

END

注意事项

在使用property的时候,property下面方法的名字要更之前访问属性的名称一致,比如area。

经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。

举报作者声明:本篇经验系本人依照真实经历原创,未经许可,谢绝转载。

展开阅读全部

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/556563.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring AOP 实现原理

什么是AOP AOP(Aspect-OrientedProgramming,面向方面编程),可以说是OOP(Object-Oriented Programing,面向对象编程)的补充和完善。OOP引入封装、继承和多态性等概念来建立一种对象层次结构&…

java string类的方法_Java-String类的常用方法总结

一、String类String类在java.lang包中,java使用String类创建一个字符串变量,字符串变量属于对象。java把String类声明的final类,不能有类。String类对象创建后不能修改,由0或多个字符组成,包含在一对双引号之间二、Str…

python爬虫入门实战---------一周天气预报爬取_Python爬虫入门实战--------一周天气预报爬取【转载】【没有分析...

Python爬虫入门实战--------一周天气预报爬取【转载】【没有分析 Python爬虫入门实战--------一周天气预报爬取【转载】【没有分析】 来源:https://blog.csdn.net/qq_40705355/article/details/83856960七天天气来源:http://www.weather.com.cn/weather/…

Spring IOC原理总结

Spring容器高层视图 Spring 启动时读取应用程序提供的Bean配置信息,并在Spring容器中生成一份相应的Bean配置注册表,然后根据这张注册表实例化Bean,装配好Bean之间的依赖关系,为上层应用提供准备就绪的运行环境。 Bean缓存池&…

java 线程 释放_java线程似乎不会被释放

我没有回答为什么第四个连接挂起,除了说这里是一个有效的代码版本…public class Test {public static void main(String[] args) throws Exception {ServerSocket listen new ServerSocket(9999);ExecutorService threadPool Executors.newFixedThreadPool(3);while(true) {…

Linux开发工具——gcc篇

gcc的使用 文章目录 gcc的使用 历史遗留问题(普通用户sudo) gcc编译过程 预处理(进行宏替换) 编译(生成汇编) 汇编(生成机器可识别代码) 链接(生成可执行文件或库文件&a…

python 递归函数例子_python函数递归的几个例子

斐波那契数列1,1,2,3,5,8,13,21……#!/usr/bin/env python# encoding: utf-8def fib(n):if n 1 or n 2:return 1else:return fib(n-1) fib(n-2)print fib(6)汉诺塔#!/usr/bin/env python# encoding: utf-8count 0def hanoi(n,a左,b中,c"右"):global countif n 1…

Shiro——RememberMe

Shiro提供了记住我(RememberMe)的功能,比如访问如淘宝等一些网站时,关闭了浏览器下次再打开时还是能记住你是谁,下次访问时无需再登录即可访问,基本流程如下: 1、首先在登录页面选中RememberMe…

python报表_Python生成报表

excel def export_teachers_excel(request): # 创建工作簿 wb xlwt.Workbook() # 添加工作表 sheet wb.add_sheet(老师信息表) # 查询所有老师的信息(注意:这个地方稍后需要优化) queryset Teacher.objects.all() # 向Excel表单中写入表头 colnames (姓名, 介绍…

Spring中ioc的实现原理

学习过Spring框架的人一定都会听过Spring的IoC(控制反转) 、DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IoC 、DI这两个概念是模糊不清的,是很难理解的,今天和大家分享网上的一些技术大牛们对Spring框架的IOC的理解以及…

如何将一个向量投影到一个平面上_CameraLidar投影:2D3D导航

点击上方“AI小白学视觉”,选择加"星标"或“置顶”重磅干货,第一时间送达图1.图像上的激光雷达点激光雷达和照相机是用于感知和理解场景的两个基本传感器。他们建立周边环境模型、提供检测和确定其他对象位置的方法,从而为机器人提…

java类加载机制面试题_通过面试题解析 Java 类加载机制

在许多Java面试中,我们经常会看到关于Java类加载机制的考察,例如下面这道题:class Grandpa{static{System.out.println("爷爷在静态代码块");}}class Father extends Grandpa{static{System.out.println("爸爸在静态代码块&qu…

JAVA中和、||和|的区别?

问题一:JAVA中&&和&、||和|(短路与和逻辑与、短路或和逻辑或)的区别? 首先名称是不同的 逻辑运算符:&&逻辑与  ||逻辑或  它们都是逻辑运算符 位运算…

pppoe拨号的外网ip无法ping通_【思唯网络学院】 五大网络概念:IP地址、子网掩码、网关、DHCP服务和PPPoE拨号...

5G技术的更新,推动了新一代的网络通信发展,家庭宽带上网也从最初的十几K的速度,提升到了现在动则上百上千兆的速度,很多有部署了家庭NAS的用户,甚至都已经更新到了10G级别的内部局域网了。在这个信息互联的时代&#x…

jsp import mysql con_jsp的分页查询的代码(mysql数据库)

[原来没有写过,听朋友说,比较难,就试一下,还是挺简单的,只不过,具体实用方面还得自己写,没有什么难的,自己看看就懂了。bean文件:package bean;/** * jspjava bea这个功能…

MySQL数据库的数据类型以及取值范围详解

主要包括以下五大类: 整数类型:BIT、BOOL、TINY INT、SMALL INT、MEDIUM INT、 INT、 BIG INT 浮点数类型:FLOAT、DOUBLE、DECIMAL 字符串类型:CHAR、VARCHAR、TINY TEXT、TEXT、MEDIUM TEXT、LONGTEXT、TINY BLOB、BLOB、MEDI…

flex布局_flex布局的 flex(felx-grow、flex-shrink、flex-basis)详解

flex布局中的flex-grow,flex-shrink,flex-basis接上篇文章,1. flex-grow属性flex-grow定义剩余空间的分成。默认为0,即如果存在剩余空间,也不放大。如何理解这里的剩余空间呢,用例子来说明吧。默认的情况(flex-grow:0)在浏览器下是…

python教学视频r_R Tutorial

教程列表:Customizing The Look of R Studio (R Tutorial 1.11)Correlation and Covariance in R (R Tutorial 4.9)Checking Linear Regression Assumptions in R (R Tutorial 5.2)Changing a Numeric Variable to Categorical Variable in R (R Tutorial 5.4)Chang…

Mina网络通信框架

认识 Mina Apache Mina Server 是一个网络通信应用框架,与 Netty 出自同一作者,Netty 借鉴了部分 Mina 的设计思路。 Mina 主要是对基于 TCP/IP、UDP/IP 协议栈的通信框架,Mina 可以帮助我们快速开发高性能、高扩展性的网络通信应用&#x…

每个tabpage中都有一个dategridview_每个女人,都有一个礼服梦

●今天,我要带着大家跟随几部经典电影,来开启一场关于礼服的时空穿越。01. 《爱玛》//关键词:19世纪初英国乡村经历了巴洛克风格的洗礼,服饰的整体风格变得柔和了不少,蕾丝、细纱、蝴蝶结这些浪漫元素,是这…