类学习
1:类方法@classmethod,类变量 都是通过类调用,而不是实例调用。 what? whatclass TestClass:
@ staticmethod
def f(): print('w**ao')
def g(self): print('oooo')
ist = TestClass()
ist.g()
ist.f()
TestClass.f()
TestClass.g(ist) 1:构造方法的调用: 通过类名加(), 2 9.3 通过类,创建对象
class Car(object):
pass
car1 = Car() class Dog:
def __init__(self, name, age):
self.name = name#构造方法里面,创建和初始化实例变量 name
self.age = age 私有类变量;
私有实例变量; 私有类变量, 外部 只能通过方法来调用;
__interest_rate = 0.05
类的外部:
print("利率:{0}".format(Account.__interest_rate)) # 错误发生; class Cat(Animail):
def __init__(self, name,age)
super().__init__(name) #调用父类构造方法,初始化父类 成员变量 dir(__builtins__)
2个_, build in s 函数的 收集参数,可变参数:
def test(*para):
print('参数个数是:',len(para))
print('第2个参数是:',para)
#测试
#test('0','小甲鱼','3.14','3','4','5','6')
>>> test('0','小甲鱼','3.14','3','4','5','6')
参数个数是: 7
第2个参数是: 小甲鱼
闭包函数:
1)必须有内嵌函数
2)内嵌函数要引用上一级函数中的变量
3)闭包函数必须返回内嵌函数
def closureFun():
a=5
def add(x): #1闭包函数必须有内嵌函数
return x+ a # 内嵌函数需要引用该嵌套函数上
return add # 闭包函数必须返回内嵌函数
print("测试1")
c =closureFun() # 实例化函数 closureFun 返回 函
sum = c(6) # 调用add,并传参 ,此时返回 x+:
print(sum) #11
print("测试2")
递归函数,调用自身:#P23 函数递归
def factorial(n):
mul = n
for i in range(1,n): #从1开始乘法,不是0
mul = mul*i
return mul
number = int(input("请输入一个正整数: "))
result = factorial(number)
print("该正整数的阶乘是:",result)
#P23 函数递归
def factorial(n):
if n == 1:
return 1
else:
return n*factorial(n-1)
while True:
number = int(input("请输入一个正整数: "))
result = factorial(number)
print("该正整数的阶乘是:",result)
列表索引 返回值:brand
brand = ['章','李','王','赵','鱼C工作室']
slogan = ['z1111','l2222','w3333','z4444','让编程改变世界']
c = slogan
print(c)
#让编程改变世界 字典嵌套: 张三,语文80,数学90,英语100; 李四....
#字典嵌套: 张三,语文80,数学90,英语100; 李四....
#stu_score_dict["张三"]["英语"]
stu_score_dict = {
"张三":{
"语文":80,
"数学":90,
"英语":100,},
"李四":{
"语文":60,
"数学":63,
"英语":70,},
"王五":{
"语文":57,
"数学":78,
"英语":90,},
}
print(stu_score_dict["张三"]["英语"])
字典不可以通过下标进行索引,key不可以重复,并且key 不可以为字典类型。 数据存储在 内存里,1个数据1个内存, 内存如同抽屉,但是 抽屉可以有多个标签也叫变量,索引。 a=100
b=100
print(id(a))
print(id(b))
#显示
#2012926736
#2012926736
print("******************")
print("******************")
a =200
print(id(a))
print(id(b))
#2012929936
#2012926736 不可变类型:原子总浮起 (元组,字符,整型,浮点,)
可变类型:列表,字典,集合