1 class MyClass:
2
3 i = 12345
4
5 def __init__(self):
6 self.data = "WOOWOWOWO"
7
8 def f(self):
9 return 'Hello World'
10
11 def New(self,W = '1',N = '2', x = 33):
12 self.W = 'lla is W'
13 self.N = 'lll'
14 return W,N,x
15
16 def x(self,ss = 1,dd = 2):
17 return ss,dd
18
19 x = MyClass()
20 print(x.f())
21 print(x.i)
22 print(x.New())
23 print(x.New('张','三'))
24 print(x.x())

输出结果为:   
Hello World
12345
('1', '2', 33)
('张', '三', 33)
(1, 2)

如果用  print(x.W)    将会报错:

Traceback (most recent call last):
File "E:/PyPrograms/Unit1/Day03/Class_1.py", line 22, in <module>
print(x.W)
AttributeError: 'MyClass' object has no attribute 'W'

如果用

    def New(self,W = '1',N = '2', x = 33):
self.W = 'lla is W'
self.N = 'lll'
return W,N,x def x(self,ss = 1,dd = 2):
return ss,dd

将会返回输出

('1', '2', 33)
('张', '三', 33)
(1, 2)

对于Python,是不是可以任意创建传参,在方法中传入一个address(默认参数),但这里的不能通过对象  p.address  来直接使用,只能在调用 speak 的时候使用

当函数有多个参数时,把变化大的参数放前面,变化小的参数放后面。变化小的参数就可以作为默认参数。

使用默认参数有什么好处?最大的好处是能降低调用函数的难度。

 1 class people:
2 # 定义基本属性
3 # 定义私有属性,私有属性在类外部无法直接进行访问
4 # 定义构造方法
5 def __init__(self, n, a, w):
6 self.name = n
7 self.age = a
8 self.__weight = w
9
10 def speak(self,address):
11 self.address = 'lala'
12 print("%s 说: 我 %d 岁。%s" % (self.name, self.age,self.address))
13
14 p = people('runoob', 10, 30)
15 p.speak("zz")

输出为:
  runoob 说: 我 10 岁。lala

最新文章

  1. mongodb ubuntu下自启动
  2. 利用PhotoShop将Font-Awesome转为图片格式
  3. JS的基础类型与引用类型
  4. MySQL指定mysqld启动时所加载的配置文件
  5. C: 数组形参
  6. zoj 3757 Alice and Bob and Cue Sports 月赛A 模拟
  7. BZOJ2750: [HAOI2012]Road
  8. Activitys, Threads, &amp; Memory Leaks
  9. JavaSE复习日记 : 方法的调用和方法的重载
  10. 【转】一分钟内检查Linux服务器性能
  11. Redis持久化方式
  12. 【java】java基本用法记录
  13. VNC错误修复⽅方法
  14. js代码点击触发事件
  15. HDU-2874-森林求LCA/tarjan
  16. log4net 2.0.8 不支持core 数据库记录日志
  17. Android APP的字体设置
  18. 算法 数组中出现次数最多的数字 MD
  19. onInterceptTouchEvent 与 onTouchEvent 分析与MotionEvent在ViewGroup与View中的分发
  20. TCP系列45—拥塞控制—8、SACK关闭的拥塞撤销与虚假快速重传

热门文章

  1. 使用 elementUI 树形控件Tree 编辑数据
  2. 跨 Docker 宿主机 macvlan 类型
  3. Docker 容器间的单向连接
  4. 回忆之placeholder
  5. 看完小白也会使用,Android投屏神器scrcpy详细教程
  6. javascript 定时器 timer setTimeout setInterval (js for循环如何等待几秒再循环)
  7. redis linux的 安装
  8. appium+python自动化:获取元素属性get_attribute
  9. 『GoLang』反射
  10. [转载]CentOS 7 创建本地YUM源