记录python听课笔记

文章目录

  • 记录python听课笔记
  • 一,函数
    • 1.介绍python里的函数
    • 2.用户自定义函数
    • 3.变量的作用域
    • 4.参数的传递
    • 5.参数的默认值
    • 6.向函数内部批量传递数据
  • 二,Python面向对象的编程
    • 1.声明类
    • 2.构造函数和析构函数
    • 3.继承
  • 三,文件
    • 1.读取创建好的mypython.txt并打印里的内容
    • 2.with语句
    • 3.上下文管理器

一,函数

1.介绍python里的函数

实现某种特定功能的代码块
程序简洁,可重复调用、封装性好、便于共享
系统函数和用户自定义函数


print(pow(2,3))              #幂函数 2^3
print(round(3.1415,3))       #四舍五入函数,第二个参数是要保留多少小数位
print(round(3.56))
print(divmod(5,3))           #将商和余数都放进元组中

2.用户自定义函数

def add(a,b):                #加函数c=a+breturn c                 #可以返回一个或多个
print(add(1,2))
def add_mul(a,b):            #计算加和乘add=a+bmul=a*breturn add,mul           #返回多个用,隔开
x,y=add_mul(1,2)             #用xy来接收返回值
print("add:",x,";mul:",y)

3.变量的作用域

局部变量(Local Variable):在函数中定义的变量,仅在定义它的函数内部有效。
全局变量(Global Variable):在函数体之外定义的变量,在定义后的代码中都有 效,包括在它之后定义的函数体内。

a=100
def setNumber():a=9a=a+1print("setN:",a)         #10
setNumber()
print(a)                     #100

4.参数的传递

按值传递:形参和实参分别存储,相互独立。
在内部函数改变形参的值时,实参的值不会随之改变。

def func(num):               num+=1                   #函数内部改变形参的值print("num:",num)        #打印形参 num:11
a=10
func(a)                      #调用函数,a为实参
print("a:",a)                #a:10

5.参数的默认值

当函数中有多个参数时,参数的默认值只能从最右面开始依次设置
def 函数名 (参数1=默认值,参数2=默认值…):
函数体

def add(a,b=2):return a+b
print(add(1))                #第二个参数默认值b=2
print(add(2,3))              #b=3 默认值实效

6.向函数内部批量传递数据

可以使用列表、字典变量作为参数,向函数内部批量传递数据。
当使用列表或字典作为函数参数时,在函数内部对列表或字典的 元素所做的修改,会改变实参的值。所以一般使用列表和字典的副本list[::],避免修改实参的值

def sum(list):               #当使用列表字典当形参时函数内部的改变会改变实参sum=0for x in list:sum+=xreturn sum
list=[1,2,3,4,5]
print(sum(list))

二,Python面向对象的编程





1.声明类

class 类名: 类名首字母大写
类属性=初值
方法(参数列表)
方法中必须有一个参数self,而且它是参数列 表中的第一个参数
由同一个类可以生成很多个对象,每一个对象, 都有一个专属的self,代表这个对象自身

class Person:money=10000def say_hello(self):                #定义函数加:print("hello!")
#创建对象 对象名=类名()
mingge=Person()
print(mingge.money)
mingge.say_hello()
#添加对象属性只属于该对象
mingge.major="computer"
print("mingge's major is:",mingge.major)
#修改类属性 全改变
xiaoqiang=Person()
Person.money=9000
print(mingge.money,xiaoqiang.money)
#删除对象 del 对象名
del xiaoqiang
print(mingge.money,xiaoqiang.money)      #会出错

2.构造函数和析构函数

构造函数:在创建对象时,用来完成初始化操作
当创建对象时,系统会自动调用构造函数。可以把对成员变量赋初值的语句写在构造函数中,从而保证每个变量 都有合适的初始值。
析构函数:在清除对象时,回收和释放对象所占用的资源。
在Python中,构造函数和析构函数也可以省略。

class Person:def __init__(self,name,age,gender="男"):self.name=nameself.age=ageself.gender=genderdef __del__(self):print("Bye bye-from",self.name)def printInfo(self):print("姓名:",self.name,"年龄:",self.age,"性别:",self.gender)
mingge=Person("明哥",31)                    #创建对象时将参数传给构造函数
xiaoqiang=Person("小强",23,"男")
mingge.printInfo()
xiaoqiang.printInfo()
del mingge                                  #删除对象时会调用析构函数
del xiaoqiang



3.继承

继承(inheritance):子类能够继承父类中所有非私有的成员变量和成员函数。
class 子类名(父类名)
类属性=初值
方法(参数列表)

class Person():money=10000def say_hello(self):print("hello!")
class Teacher(Person):pass
amy=Teacher()
print(amy.money)
amy.say_hello()

三,文件





1.读取创建好的mypython.txt并打印里的内容

f=open("mypython.txt")
print(f.read())

readline读一行指针向下转移一行

f=open("mypython.txt")
print(f.readline(5))            #读取第一行的前五个 也就是pytho
print(f.readline())             #还是第一行之前结束的位置 也就是n
print(f.readline())             #第二行

末尾写入并读取

f=open("mypython.txt","a+")     #每次执行都会在后面追加一次hello
#f.write("hello")
f.close()
f=open("mypython.txt","r")
print(f.readline())
print(f.readline())
f.close()

2.with语句

3.上下文管理器

上下文管理器是Python中的一种协议,它保证了每次代码执行的一致性
一旦进入上下文管理器,就一定会按照规定的步骤退出 如果合理的设计了退出上下文管理器的步骤,就能够很好的处理异常。
上下文管理器被最多用到的场景是资源清理操作。
实现上下文管理器,只要在类定义时,实现__enter__()方法和__exit__()方法即可


python笔记2(函数 面向对象 文件编程 上下文管理器)相关推荐

  1. 第十章、python字符串操作与with语句及上下文管理器------字符串的匹配与查找

    目录 10.1 python的字符串的操作 10.1.1 python的字符串的匹配与查找 (1)实例 (2)find(或rfind).index(或rindex)与match.search.find ...

  2. Python中必须知道的知识点:上下文管理器

    在Python中让自己创建的函数.类.对象支持with语句,就实现了上线文管理协议.我们经常使用with open(file, "a+") as f:这样的语句,无需手动调用f.c ...

  3. 读书笔记:《流畅的Python》第15章 上下文管理器和else块

    # 第15章 上下文管理器和else块""" 本章内容提要:with语句和上下文管理器for while try语句的else子句 """# ...

  4. python上下文管理器

    什么是上下文管理器? 基本语法 with open('test.txt') as f:print f.readlines() 1. 上下文表达式:with open('test.txt') as f: ...

  5. 深入理解 Python 中的上下文管理器

    图|李思瑶 文|MING 提示:前面的内容较为基础,重点知识在后半段. with 这个关键字,对于每一学习Python的人,都不会陌生. 操作文本对象的时候,几乎所有的人都会让我们要用 with op ...

  6. python上下文管理关键字_详解 Python 中的 with 与 上下文管理器

    with 这个关键字,对于每一学习Python的人,都不会陌生. 操作文本对象的时候,几乎所有的人都会让我们要用 with open ,这就是一个上下文管理的例子.你一定已经相当熟悉了,我就不再废话了 ...

  7. python 上下文管理器、 else 块、@contextmanager

    文章目录 1. else 2. with上下文管理器 3. contextlib模块实用工具 4. @contextmanager 装饰器 learn from <流畅的python> 1 ...

  8. 此上下文中不支持函数定义。请在代码文件中创建函数。_深入解析Python上下文管理器,让你不再迷茫!...

    1. 上下文管理器 一个类只要实现了 __enter__() 和 __exit__() 这个两个方法,通过该类创建的对象我们就称之为上下文管理器. 上下文管理器可以使用 with 语句,with语句之 ...

  9. 云学python (第5章对象带你飞之储存 上下文管理器pickle 包)《vamei-从Python开始学编程》 笔记

    2.上下文管理器 文件操作常常和上下文管理器一起使用.上下文管理器(context manager)用于规定某个对象的使用范围.一旦进入或者离开该使用范围, 则会有特殊操作被调用,比如为对象分配或者释 ...

最新文章

  1. excel 运算符在php里不起作用,目标单元格引用无效是什么意思
  2. ajax 的理论以及需要的常用参数
  3. python——类和对象之__dict__属性的使用
  4. axure如何页面滑动时广告位上移_新手APP运营如何做广告位投放
  5. CGAL4.4+VC2008编译
  6. python有几种容器_Python中几种内置的容器(Containers)类型:列表、字典、集合和元组的比较和该注意的点...
  7. 远程桌面管理工具Remote Desktop Connection Manager
  8. win2008服务器共享文件夹权限设置,win2008文件夹共享权限怎么设置
  9. STM32F401RE Nucleo 在 keil MDK上的使用
  10. AX 2009 删除已经发出领料单的订单行
  11. 虚拟资源项目是什么?依靠虚拟资源项目月入万元能实现吗?
  12. 快速编程的捷径——计算机达人成长之路(40)
  13. 3y开发都不的不写单元测试,然后被被批了
  14. 骁龙888发布,小米11首发,有14家厂商首批搭载!
  15. Xmind基础教程-保存到印象笔记
  16. 计算机组成原理实验-logisim实现自动售糖机
  17. ipad 导入电脑中文件
  18. Spring Bean 是什么?
  19. IOS内购SDK和U7SDK接入文档
  20. 源码分析如何注解使用AOP

热门文章

  1. 聚焦自动驾驶环境感知,AVVision Special Session (ICAS'21) 征稿开启
  2. 单图像三维重建、2D到3D风格迁移和3D DeepDream
  3. Deep Manta:单目图像下2d到3d由粗到精的多任务网络车辆分析
  4. java基于servlet的文件上传
  5. Tensorflow杂记
  6. Advanced Sci | 打破生成式深度学习限制:低量数据下的“one-shot”药设计法
  7. SQLite | Python3导入csv到SQLite3
  8. python投掷骰子实验_Python小程序--模拟掷骰子
  9. mac txt 换行符_推荐两款免费的网页代码编辑器(Win和Mac系统)
  10. 普鲁克分析(Procrustes Analysis)评估物种-环境/功能关联度的一个示例