首页 技术 正文
技术 2022年11月16日
0 收藏 580 点赞 4,889 浏览 2635 个字

****

//可以给函数参数设置默认值

def stu_register(name,age,course,country="CN"):

若你的函数在定义时不确定用户想传入多少个参数,就可以使用非固定参数

,例如:def stu_register(name,age,*args):  ,这个*args就相当于c#中的 param [] class1  args 这样子

//类的创建

class ClassName

  ”’

   注意,属性可以在__init__中,直接定义

  ”’

  PropertyName = value #可以这样来定义类的属性,相当于c#中的类的静态属性,属于类而不属于对象,使用 ” 类名.属性”来调用,又叫”公有变量”

  def __init__(self,Name,age):

    #这里是属于对象的属性

    self.Name = ‘aaaaa’

    self.age =11

    函数体

  def hellow(self):

    #”’要在其他成员方法中使用self,也要这样”’

    print(“my name is %s” ,self.Name)

  @property #定义只读属性,可以使用  a = instance.fullnfo #不需要a =instacne.fullinfo(),原理是,修饰器将 fullinfo  从一个指向方法的变量,替换成一个执行结果

  def fullInfo(self):

    return self.Name + self.age

  @classmethod #定义类方法,只能访问类变量,而不能访问实例变量,例如这里,只能访问 self.Name,不能访问self.PropertyName

  def Show(self):

    #todo

  @staticmethod #定义静态方法,这里原本hellow的调用,可以 instance.hellow()即可,不用传参,而这里,要变成 instance.hellow2(instance),或者 ClassName.hellow2(instance)

  def hellow2(self):

    print(“my name is %s” ,self.Name)

  @fullInfo.setter #定义可改属性,使用的时候,直接  instance.fullinfo = “aaa”

   def fullinfo(self,Name)

   self.Name=Name

  @fullinfo.deleter,使用的时候,就可以 del instance.fullinfo ,那么就会调用这里的代码了

   def fullinfo(self)

   self.isdelete = true;

     def __getitem__(self, key):  #内置函数,相当于C#中的索引器 调用  result = obj['k1']   , 自动触发执行 __getitem__
    print(‘__getitem__’,key)
    
         def __setitem__(self, key, value):   #内置函数,相当于C#中的索引器 调用  obj['k2'= 'alex'  , 自动触发执行 __setitem__
    print(‘__setitem__’,key,value)

def __delitem__(self, key):
    print(‘__delitem__’,key)

//self相当于this的意思

学习笔记60_python面向对象

学习笔记60_python面向对象(以上的类属性,相当于c#中的类的静态成员)

类的继承:

学习笔记60_python面向对象

**************导入包的两中办法******************

1.全部导入 import 包名   ,一般是文件名,类似于 demo.py,

那么,实例化时,就要    a = new demo.Class()

2.部分导入 from demo import Class1,Class2,仅仅导入Class1和Class2

3.导入所有 from demo inport *,导入所有;

4.导入特殊模块

import os #会默认去默认的路径下去找

******************************************************************************************************************************************

//关于构造函数

class childClass(father1,father2):#可以多重继承

  def__init__(self):

    #自己的构造方法,不会默认调用父类的构造方法,如果想掉,要

    super()#这样子来掉父类的构造方法

******************************************************************************************************************************************

子类直接写方法,如果跟父类方法名一致,就直接覆盖了

******************************************************************************************************************************************

//关于多重继承的构造函数

多重继承的supper():如果 father1继承于father2 (他们都写了构造函数),

child继承与father1和father2,那么father1和father2的构造函数仅仅会被调用一次,而不会  father1调一次fanther2, father2又调一次它自己的。

******************************************************************************************************************************************

//创建类的私有属性

class myclass:

  __privateProperty = “aaaa”  #这个为私有属性,特点是在前面加两个”_”,那么就跟C#的私有属性一样了

//

//python是没有 protect 属性的

  

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,488
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,903
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,736
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,487
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:8,127
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:5,289