【02python基础-函数,类】

1.函数中的全局变量与局部变量
全局变量:
在函数和类定义之外声明的变量。作用域为定义的模块,从定义位置开始到模块结束。
全局变量降低了函数的通用性和可读性,要尽量避免全局变量的使用。
全局边个两一般作为常量使用。
函数内改变全局变量的值要用global说明
局部变量:
在函数体内(包含形式参数)声明的变量。
局部变量的引用比全局变量快,有限考虑使用。
如果局部变量和全局变量同名,则在函数内隐藏全局变量,只是用同名的局部变量。(局部变量优先于全局变量)

2.类的定义

# 构造函数-类
class Student:                              # 类名一般为首字母大写,驼峰原则

    def __init__(self, name, score):        # self必须位于第一个参数
        self.name = name
        self.score = score

    def say_score(self):                    # self必须位于第一个参数
        print("{0}的分数是:{1}".format(self.name, self.score))

s1 = Student("胡皓", 100)                   # 通过类名()调用构造函数
s1.say_score()

s2 = Student("高希希", 99)
s2.say_score()        # 程序员编写
Student.say_score(s2) # 解释器执行的时候
print(dir(s2))            # 获得所有的属性
print(s2.__dict__)        # 获得定义的属性
print(isinstance(s2,Student)) # 判断类型

3.实例对象和属性

"""
实例属性:self.A=A

实例方法:1.定义实例方法时,第一个参数必须为self。和前面一样,self指的是当前的实例对象。
          2.调用实例方法时,不需要也不能给self传递参数,self由解释器自动传参。
"""
class Student:                              # 类名一般为首字母大写,驼峰原则

    def __init__(self, name, score):        # self必须位于第一个参数
        self.name = name                    # 实例属性
        self.score = score                  # 实例属性

    def say_score(self):                    # self必须位于第一个参数
        print("{0}的分数是:{1}".format(self.name, self.score))

4.类对象和类属性

class Student:
    company = "SXT"
    count = 0

    def __init__(self,name,score):
        self.name = name
        self.score = score
        Student.count = Student.count + 1

    def say_score(self):
        print("我的公司是:",Student.company)
        print(self.name,"的分数是",self.score)
s1 = Student("gxx",60)
s1.say_score()

 

posted @ 2020-03-31 15:31  GokuBlog  阅读(176)  评论(0)    收藏  举报