类与对象
类表示着一类事物,对象表示某一个具体的实例。
类的定义
# 定义一个类Phone
class Phone():
# 类的属性
brand = "小米"
color = "white"
# 类的方法
def makeCall(self):
print("拨打电话")
def sendMsg(self):
print("发送信息")
关键字class
是用来定义类,它是定义类的固定形式。
类名:为类定义的名称。为了区分类与函数,类名称首字母建议大写
类的属性:表示这个类具有的属性。属性就是类中的变量的别称。
类的方法:表示这个类的一些功能。方法就是类中的函数的别称。
self参数:一个由程序自动转入的特殊参数。self参数代表的就是实例化生成的对象。即对象会将自己传递给self参数。
实例化对象
# 定义一个类Phone
class Phone():
# 类的属性
brand = "小米"
color = "white"
# 类的方法
def makeCall(self):
print("拨打电话")
def sendMsg(self):
print("发送信息")
# 实例化名为myPhone的对象
myPhone = Phone()
# 输出myPhone对象
print(myPhone)
对象名:一个变量名,给对象设定的名称。例如,myPhone
是通过类Phone创建的具体的对象。
属性和方法的调用
# 定义一个类Phone
class Phone():
# 类的属性
brand = "小米"
color = "white"
# 类的方法
def makeCall(self):
print("拨打电话")
def sendMsg(self):
print("发送信息")
# 实例化名为myPhone的对象
myPhone = Phone()
# 输出myPhone的brand属性
print(myPhone.brand) # 输出:小米
# 调用myPhone的makeCall方法
myPhone.makeCall() 输出:拨打电话
属性的调用:对象.属性名
(不能直接输出,应使用print)
方法的调用:对象.方法名()
(可以直接输出)
class Phone():
brand = "小米"
def makeCall(self,n):
print(f"我的{self.brand}手机余额为{n}元")
myPHone = Phone()
myPhone.makeCall(320) # 输出:我的小米手机余额为320元
对象myPHone将自己传递给self,实参320传递给形参n
函数与方法的区别:函数一般直接使用,例如print()
函数,range()
函数,len()函数
方法使用句点表示法,紧跟在某一个对象后面使用。例如.append
,.insert
方法
模块
模块是已经写好的Python文件,以.py结尾。
模块可以包含函数、类和一些代码,它们之间的功能是相互关联的。
Python中的模块,大致分为内置模块,第三方模块和自定义模块三种。
特点:内置模块,是Python自带,通用性好。
第三方模块,个人组织开发,个性化高
导入模块
无论是什么模块,都需要先导入再使用。
导入模块有两种方法:import
和 from...import
import
# 导入模块
import datetime
# 使用模块datetime中的类datetime的now方法获取当前日期时间,赋值给nowTime
nowTime = datetime.datetime.mow()
print(nowTime)
语法格式:因为类属于模块,方法属于类,所以,调用模块中的类的方法时,需要从大到小层层调用。
采用句点表示法的格式:模块名.类名.方法名
实例中,使用了,datetime模块中datetime类的now()
方法
当我们获取了当前时间还能通过各种属性,来获取对应的年月日时分秒。对应的英文为:year,month,day,hour,minute,second
import datetime
nowTime = datetime.datetime.now()
nowYear = nowTime.year
nowMonth = nowTime.month
print(f"现在是{nowYear}年")
print(f"现在是{nowMonth}月")
# 输出:现在是2022年
# 现在是8月
from…import
# 从模块datetime中,导入类datetime
from datetime import datetime
# 使用类datetime的now 方法获取当前日期时间,赋值给nowTime
nowTime = datetime.now()
print(nowTime)
也就是说,使用import
导入模块,是导入整个模块,在调用时需要模块前缀。
而使用from…import
导入模块时,是导入模块的类或函数,在调用时可以直接使用函数或类的方法。
随机模块
# 导入模块 random
import random
# 使用模块random中的uniform函数生成随机数
randomNum = random.uniform(0,1)
print(randomNum)
# 输出:0.17526688869562(答案不唯一)
uniform
函数用于产生指定范围随机浮点数。
random模块内不仅有生成随机浮点数的函数,还有生成随机整数,实现随机抽取等一系列函数。
例如:
uniform(m,n) 产生m到n的随机浮点数
randint(x,y) 产生x到y的随机整数
choice(序列) 从序列中随机选取一个元素