挑战每日打卡python基础题
come with me !今日练习:冒泡顺序,类中实现计数累增的两种方式:初始化、全局变量
1、冒泡顺序,重复地遍历要排序的列表,一次比较两个元素,如果他们的顺序错误就把他们交换过来

l1 = [2,7,36,12,25,90,4,51]
# for i in range(len(l1)-1):
# if l1[i] > l1[i+1]:
# l1[i], l1[i+1] = l1[i+1], l1[i]
for i in range(len(l1)-1):
for j in range(len(l1)-1-i):
if l1[j] > l1[j+1]:
l1[j],l1[j+1] = l1[j+1],l1[j]
print(l1)

2、python实现计数累增的方法
class Count:
#通过初始化函数__init__把属性进行初始化
def __init__(self):
#初始化参数,如果没有给默认值时,实例化对象的时候必须给初始化赋值
self.count1 = 0
def count_case(self):
for i in range(10):
#初始化传入的值想要被其他方法调用,就要把这些值赋值给对象,也就是self.属性名;
self.count1 += 1
return self.count1
if __name__ == '__main__':
p = Count()
print(p.count_case())
#结果:10
只有赋值给对象的属性才能被其他方法调用
注意:
对象属性只能被对象调用;
类属性,既可以被对象调用,也可以被类调用,因为对象就是类的实例化
3、python实现计数累增的方法
# python实现计数累增的方法
class Employee():
empsCount = 0 # 全局变量
def __init__(self):
pass
def count_case(self):
for i in range(10):
# 赋值给类,这样的话对象和类都可以调用如类名.属性名
Employee.empsCount = Employee.empsCount + 1
return Employee.empsCount
if __name__ == '__main__':
p = Employee()
print(p.count_case())
#结果:10
1、变量的查找顺序为先在函数内部去找,继续往上查找;
2、函数内部定义的局部变量会覆盖全局变量,优先使用局部变量;
3、通过global定义的全局变量,函数内部对全局变量的任何改变,都会影响全局变量的值,因为全局变量只有一份。
学python,跟学其他语言一样,多练才能更熟练~
come on !
网友评论