前言
一、函数定义
函数就是在我们写的代码太多,容易乱的时候,使用函数,调用起来很方便。
简单的函数定义:
#add_ab是函数的名称
def add_ab(a,b):
print(a+b)#可以用return表示的是返回值 ,print表示的打印出来值
add_ab(3,5)#结果为8
在定义函数的时候可以设定默认值:
def add_number(a,*args):#*args不限制的意思
for i in args:
a += i
return a
add_number(1,2,3,4)#结果是10,表示a=1.
存入脚本:
#把下面的代码保存在teng.py文件里面去
%%writefile teng.py
w = 10
def w_add(w_list):
w_sum = 0
for i in range(len(w_list)):
w_sum += w_list[i]
return w_sum
w_list = [1,2,3,4,5]
print(w_add(w_list))
#运行脚本
%run teng.py
#导入脚本
import teng
#可以调用里面的参数
print(teng.w)#结果是10
#可以改变里面的变量值
teng.w = 100
#直接导入模块中的一些变了
from teng import w_add,w#这样可以直接用
#直接导入模块中所有的
from teng import *
#删除这个模块
import os
os.remove('teng.py')
处理异常模块:
当出现上面图的错误时,我们希望它有所提醒:
当我们运用模块时不可能只有一个异常,所有我们在except Exception:
去定义,这样不管出现怎么的异常都会提醒。
文件操作:
w = open('路径+文件名.扩展名')
#读文件
w_read = w.read()
#一行一行的读
lines = w.readlines()
print(lines)
#关闭文件
w.close()
#在python写文件
txt = open('路径+文件名.扩展名','w')##'w'模型时覆盖的模式,'a'的模式是追加的模式
txt.write('wdjkfdknjfnvjfnv')
txt.write('\n')#换行
txt.write('bshlbfj')
txt.close()
#用with可以确保文件是关闭了的
with open('路径+文件名.扩展名','w') as f:
f.write('wang yi bo')
二、类
类与面向对象挂钩的,类可以创建多个对象。
类:是对事物的抽象,比如:汽车模型
对象:是类的一个实例,比如:QQ轿车、大客车
范例说明:汽车模型可以对汽车的特征和行为进行抽象,然后可以实例化为一台真实的汽车实体出来。
python类的定义
使用class关键字定义一个类,并且类名的首写要大写;
当需要创建的类型不能用简单类型表示时就需要创建类;
类把需要的变量和函数组合在一起,这种包含也称之为“封装”。
Python类的结构
class 类名:
[类变量名=初始值]
[def 方法名(self,参数)]#self是表示方法自身
方法体
类中包含:
- 变量:由于Python的变量使用前不需要声明,所有类中单独声明的变量一般为类的变量,其他为实例变量(定义时有self前缀)
- 方法:可以多个方法,方法默认含参数self,代表实例本身
对象的创建:
创建对象的过程称之为实例化;当一个对象被创建后,包含三个方面的特性:对象的句柄、属性和方法。其中句柄时用来区分不同对象的,对象的属性和方法与类中的成员变量和成员函数对应。
类中每一个函数(属性或方法 都有一个参数self ,这个self就是指的类,这也是与普通函数的主要区别)
类的构造方法
构造方法一般在创建类的实例(也就是新的对象)时自动执行,用来初始化新创建的实例。
–init–()方法:用于对象的初始化,【注】该方法前后为连续两个下划线
class people:
'帮助信息:XXXXXXX'
#所有的实力都会共享的
number = 100##类变量
#构造函数,初始化的方法,当创建一个类的时候,首先会调用它
def __init__(self,name,age):
self.name = name
def display(self):
print('number = :',people.number)
def display_name(self):
print(self.name)
people.__doc__#结果:'帮助信息:XXXXXXX'
p1 = people('wangyibo',23)
p2 = people('tengxi',18)
p1.name#结果:'wangyibo'
p2.display()#结果:number = : 100
p1.display()#结果:number = : 100
#修改一些值
p2.name = 'zeng'
p2.name#结果:'zeng'
#删掉一些变量
del p2.name
p2.name#就会报错
#用hasattr来查看变量是否指定一些值
hasattr(p1,'name')#结果:True
getattr(p1,'name')#返回p1的名字'wangyibo'
setattr(p1,'name','wangyifeng')#改变p1的名字
delattr(p1,'name')#删除变量的名字
类变量与实例变量的区别:
- 类变量为所有类的实例所共享,一个类的类变量只有一处存储空间;而每个实例变量都有自己的存储空间,相互独立,互不影响
- 访问类变量课通过类名,也可以通过实例名;而实例变量的访问只能通过实例名
例名:
实例变量name:p1.name
类变量number:p1.number或people.number
类的继承
格式:
class 子类名(父类名1,父类名2…)
定义子类新特性
子类继承父类,会将父类中所有类变量、实例变量和方法继承下来,再子类中可直接使用,可以继承多个父类。
#定义父类
class Dog:
def setName(self,name):
self.name = name
def bark(self):
print("汪,汪,汪!我是"+self.name+"!")
#定义子类
class GuideDog(Dog):
def __init__(self,name):
Dog.setName(self,name)#调用基类的setNam()方法
#定义子类自己的guide()方法
def guide(self):
print('我正在引导我的主人!')
gDog1 = GuideDog("忠诚卫士")
gDog1.bark()#调用继承的bark()方法
gDog1.guide()#调用自己的bark()方法
#结果:汪,汪,汪!我是忠诚卫士!
# 我正在引导我的主人!
三、时间
import time
print(time.localtime(time.time()))#time.struct_time(tm_year=2021, tm_mon=1, tm_mday=29, tm_hour=9, tm_min=49, tm_sec=20, tm_wday=4, tm_yday=29, tm_isdst=0)
画图的需要用
print (time.strftime('%Y-%m-%d %H:%M:%S',time.localtime()))#2021-01-29 09:53:14
#日历
import calendar
print(calendar.month(2021,1))
提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。