Python高级入门01-property
JAVA中存在对变量 私有化,公开,保护。。。
私有化时候,需要提供一个公开的get 和 set方法对外公开,让别人进行调用
python中同样存在 私有化变量定义是__是这个双下划线,eg:__num 类名不能直接调用,
#conding=utf-8
'''
set get 方法
私有化__
'''
class Test(object):
def __init__(self):
self.__num=100
def setNum(self,setNum):
self._num=setNum
def getNum(self):
return self._num t=Test();
print(t.__num)
print(t.getNum())
t.setNum(200)
print(t.getNum())
print(t.__num)
其实这个时候在类名进行调用私有化时候,python解释器吧类名称进行修改了,这时候你是不能直接调用到的,
私有化时候提供get和set函数 2。使用定义变量解决私有化调用
'''
property第一种用法
''' class Test(object):
def __init__(self):
self._num=100; def setNum(self,Nums):
print('---set---')
self._num=Nums
def getNum(self):
print('---get---')
return self._num num=property(getNum,setNum) t=Test()
t.num=520
print(t.num)
当你调用这个num时候,你传入 了值,这时候,这个property会直接调用set方法进行赋值, 当你不传时候,会判断的去调用get方法获取
3.注解获取
'''
property第一种用法
''' class Test(object):
def __init__(self):
self._num=100; @property
def num(self):
print('---get---')
return self._num @num.setter
def num(self,Nums):
print('---set---')
self._num=Nums t=Test()
t.num=520
print(t.num)
这里有一个误区:
1.t.num时候不能带(),这时候已经定义成 了属性了,
2.get方法一定要放在set方法上面不然,就会出现@num.setter未定义
Python高级入门01-property的更多相关文章
- python爬虫入门01:教你在 Chrome 浏览器轻松抓包
通过 python爬虫入门:什么是爬虫,怎么玩爬虫? 我们知道了什么是爬虫 也知道了爬虫的具体流程 那么在我们要对某个网站进行爬取的时候 要对其数据进行分析 就要知道应该怎么请求 就要知道获取的数据是 ...
- Python趣味入门01:你真的了解Python么?
小牛叔倾情出品,史上更简单有趣的Python入门系列教程,用认真.上心的原创带你飞. 0.Why Python ? 什么入门用python,其实这和它的气质有关,根据CHM(计算机历史博物馆)网站介绍 ...
- python爬虫入门02:教你通过 Fiddler 进行手机抓包
哟~哟~哟~ hi起来 everybody 今天要说说怎么在我们的手机抓包 通过 python爬虫入门01:教你在Chrome浏览器轻松抓包 我们知道了 HTTP 的请求方式 以及在 Chrome 中 ...
- Python趣味入门02: 妥妥地安装配置Python(Windows版)
< 上一篇:Python趣味入门01:你真的了解Python么? 本篇内容手把手教您如何去网上下载安装Python的运行环境,本文写于2020年Python稳定的版本是3.8,Windows流行 ...
- Python爬虫入门之Urllib库的高级用法
1.设置Headers 有些网站不会同意程序直接用上面的方式进行访问,如果识别有问题,那么站点根本不会响应,所以为了完全模拟浏览器的工作,我们需要设置一些Headers 的属性. 首先,打开我们的浏览 ...
- Python爬虫入门四之Urllib库的高级用法
1.设置Headers 有些网站不会同意程序直接用上面的方式进行访问,如果识别有问题,那么站点根本不会响应,所以为了完全模拟浏览器的工作,我们需要设置一些Headers 的属性. 首先,打开我们的浏览 ...
- 转 Python爬虫入门四之Urllib库的高级用法
静觅 » Python爬虫入门四之Urllib库的高级用法 1.设置Headers 有些网站不会同意程序直接用上面的方式进行访问,如果识别有问题,那么站点根本不会响应,所以为了完全模拟浏览器的工作,我 ...
- Python学习入门基础教程(learning Python)--5.6 Python读文件操作高级
前文5.2节和5.4节分别就Python下读文件操作做了基础性讲述和提升性介绍,但是仍有些问题,比如在5.4节里涉及到一个多次读文件的问题,实际上我们还没有完全阐述完毕,下面这个图片的问题在哪呢? 问 ...
- Python实用笔记 (24)面向对象高级编程——使用@property
这显然不合逻辑.为了限制score的范围,可以通过一个set_score()方法来设置成绩,再通过一个get_score()来获取成绩,这样,在set_score()方法里,就可以检查参数: clas ...
随机推荐
- Android——Activity的生命周期
一,Demo測试Activity的生命周期 写两个Activity: package com.example.activity_04; import android.os.Bundle; import ...
- Java中的回调函数学习-深入浅出
Java中的回调函数一般来说分为下面几步: 声明回调函数的统一接口interface A.包括方法callback(); 在调用类caller内将该接口设置为私有成员private A XXX; 在c ...
- windows新建或者重命名文件及目录必须手动刷新才干显示出来问题解决方法
首先推断注冊表中HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Update\UpdateMode值是否为0,该值若为1表示手工刷新, 该 ...
- shell2
例一:数组选择 #!/bin/sh menu=("Apple" "Grape" "Orange") PS3="喜欢哪个" ...
- C. Glass Carving (CF Round #296 (Div. 2) STL--set的运用 && 并查集方法)
C. Glass Carving time limit per test 2 seconds memory limit per test 256 megabytes input standard in ...
- 禁止右键,Ctrl+A,Ctrl+C,Ctrl+V来禁止复制内容,IE网页另存可禁止,但对火狐浏览器没有用的
禁止右键,Ctrl+A,Ctrl+C,Ctrl+V来禁止复制内容,IE网页另存可禁止,但对火狐浏览器没有用的. 代码如下:(开发了左键选择,方便阅读)<!DOCTYPE HTML PUBLIC ...
- apktool反编译时各种问题汇总
问题1:apktool d -d 时出现错误Error occured while disassembling class办法:这不是你的错误,这是apktool本身的错误,目前正式release的1 ...
- SVN 钩子操作-同步更新web目录
一个简单的钩子演示:也可以网上搜索其他高级的 本次想要达到的功能是:每次用户commit 到仓库后,仓库的钩子会自动把程序又更新的www/的web发布目录 1.现在web目录下创建一个test.com ...
- SQL 时间格式转换
------- 获取当前时间 -------- DECLARE @currentTime varchar(); SET @currentTime = CONVERT(VARCHAR(),GETDATE ...
- lua学习笔记(十二)
弱引用table lua使用自动内存管理机制,通过垃圾回收器来回收内存 垃圾回收器只能回收它认为是垃圾的内容,而不能回收用户认为是垃圾的内容 典型的例子栈,栈一般用一个数组和一 ...