day:39 总结(三)python
''' 1. Python的基本数据类型有哪些?哪些是可变和不可变的基本数据类型 基本数据类型:==》六大基本数据类型 Number数字型 ==》int、float String字符型 Tuple元组 List列表 Dict字典 Set集合 布尔型 可变的基本数据类型:在定义好之后里面的元素还可以发生变化的==》列表、字典、集合 不可变的基本数据类型:==》数字型、字符型、元组 数据结构==》元组、列表、字典、集合 2. Python中元组,列表,字典怎么创建,有什么区别? 1) 元组是以小括号()定义的,元组是不可变的基本数据类型 2) 列表是以中括号[]定义的,列表是可变的基本数据类型,里面有很多的函数比如append、extend、insert 3)字典是以大括号{}定义的,字典是可变的基本数据类型,里面的数据是以key:vaule键值对的格式显示的 4)元组的处理速度会比列表快,安全性比列表也要高 5)元组可以作为字典的键,列表不可以 3. Python怎么自定义函数 通过def关键字定义 ''' # # 创建元组 # tuple1 = (1,2,3,"dcs56") # # # 创建列表 # list1 = [1,2,3,"dcs56"] # # # 创建字典 # dict1 = {"name":"zhangsan","age":18} # Python自定义函数 # def func1(): # ()里面是参数列表 # print("这是一个自定义函数") # # # # 调用函数的第一种方式 # # func1() # # # 调用函数的第二种方式 # if __name__ == '__main__': # name是指当前的模块名,main是指当前被运行的模块名 # func1() # main的作用:main函数是主函数,只能在当前模块里面被调用,是为了防止其他模块调用 # 单个参数 # def func2(name): # name称为形式参数(形参) # print(name+",你好") # # func2("张三") # 张三称为实际参数(实参) # 多个参数 # def func3(name,sex): # name,sex称为形式参数(形参) # print("姓名:"+name+",性别:"+sex) # # func3("张三","男") # "张三","男"称为实际参数(实参) # 默认值参数 # def func4(name,age="18"): # age="18"称为默认参数 # print(name,age) # # func4("张三","20") ''' 单个参数 ==》参数列表当中如果只有1个形参,那么就需要传1个实参 多个参数 ==》有3个形式参数,就必须要传3个实际参数,不然执行会报错 默认参数 ==》当有形式参数和默认参数的时候,默认参数放在形式参数的后面,默认参数如果不传参,就是使用默认值,如果传入实参原有的默认值就会被覆盖 可变长元组 ==》在接收实际参数的时候需要在参数列表前面输入一个*号 可变长字典 ==》在接收实际参数的时候需要在参数列表前面输入两个*号 同时存在可变长元组和可变长字典的时候 ==》可变长字典要在最后面 ''' # 类和对象中都有哪些变量和方法 ''' 类的概念:描述具有相同属性和行为的对象的集合 类是一个泛指,一个模板 ==》人类 属性:在Python里面叫变量 ==》1个脑袋,2只眼睛 行为:在Python里面叫方法 ==》吃饭、睡觉、打游戏 对象:是一个实际存在的例子 ==》张三 对象是根据类创建的,创建对象的过程可以称为实例化,创建出来的对象可以称为实例 类的所有属性和方法都是对象的==》体现在对象可以直接调用类方法和类变量 ''' # 类分为新式类和经典类 # class People1(object): # ==》新式类 # class People2: #==》经典类 class People: head = 1 # 这是一个类变量 def __init__(self,name,age): # 这是一个构造方法 self.name = name # self.name就是实例变量,实例变量是绑定在对象身上的,name,age就是形式参数 self.__age = age # self.__age就是私有变量 ==》私有变量只能在类的内部调用,外部不能调用 def play(self): ''' 这是一个实例方法,绑定在对象身上的,可以通过self在实例方法中自由传递 带有self的都是实例方法,self.name这种实例变量在实例方法中是可以直接引用的 :return: ''' print(self.name+"喜欢打游戏") # 这个@符号称为装饰器 # 装饰器的作用:在不改变原有方法或函数的功能的基础上,为其增加新的功能 # 常见的装饰器有:@classmethod、@staticmethod、@data、@ddt、@unpack、@property @classmethod def func1(cls): # 类方法是绑定在类身上的,可以通过cls在类方法中自由传递 print("我是一个类方法") @staticmethod def func2(): print("我是一个静态方法") @property def func3(self): print("这是一个可以把函数变为属性的装饰器") def __func4(self): # 私有方法前面会加双下划线,私有方法只能在类的内部调用 print("我是一个私有方法") def func5(self): # 单独定义一个实例方法,把__func4()这个私有方法的结果返回回去 ==》这里体现了Python里面的三大特性之一:封装 # Python的三大特性:封装、继承、多态 return self.__func4() def func6(self): # 单独定义一个实例方法,把self.__age这个私有变量的结果返回回去 ==》这里体现了Python里面的三大特性之一:封装 return self.__age p1 = People("张三",18) # P1就是根据类创建出来的对象,People就是类,People()匿名对象,张三就是实际参数 # p1.play() # 对象调用实例方法
4. 类和对象中都有哪些变量和方法?
# 类和对象调用实例方法、类方法、静态方法、私有方法
# People.play(p1) # 类调用实例方法,注意必须要传一个对象
# p1.play() # 对象调用实例方法 # People.func1() # 类调用类方法
# p1.func1() # 对象调用类方法 # People.func2() # 类调用静态方法
# p1.func2() # 对象调用静态方法 # People.func5(p1) # 类调用私有方法(实际调用的还是实例方法)
# p1.func5() # 对象调用私有方法(实际调用的还是实例方法) # 类和对象调用类变量、实例变量、私有变量
# print(People.head) # 类调用类变量 # print(p1.head) # 对象调用类变量
# print(People.name) # 类调用实例变量会报错,AttributeError: type object 'People' has no attribute 'name'
print(p1.name) # 对象调用实例变量
print(People.func6(p1)) # 类调用私有变量(实际调用的还是实例方法)
print(p1.func6()) # 对象调用私有变量
作业
1、冒泡排序算法
2、99乘法表
浙公网安备 33010602011771号