黑马程序猿的python学习视频:https://www.bilibili.com/video/BV1qW4y1a7fU/

===============================================================

目录

一、文件操作

一、 文件的读取

1. 打开文件open()

2. 读取文件10个字节read(10)

3. 读取文件全部信息read()

4. 读取文件readLines()

5. 读取文件readLine()

6. for循环读取文件行

7. 文件的关闭close

8. with open

二、 文件的写入

三、 文件的追加

二、 异常

1. 了解异常

​​​​​​​2. 异常的捕获try: except:

三、 python模块

四、 python包

​​​​​​​1. 新建python软件包

​​​​​​​2. 第三方包

​​​​​​​3. 第三方包下载

1. pip下载第三方包

2. pycharm下载第三方包

​​​​​​​五、 案例:str字符串反转和切片

一、 案例:读取文件信息

二、案例:追加文件信息

​​​​​​​六、 json

1. dumps:python数据转json

2. loads:json字符串转python数据

七、 类和对象

1. 类的成员方法

2. 构造方法__init__

3. 内置方法

4. 内置方法__str__

5. 内置方法__lt__ 大于和小于

6. 内置方法__le__ 大于等于和小于等于

7. 内置方法__eq__ ==

8. 私有成员变量和私有成员方法

八、 继承

1. 单继承语法

2. 单继承实例

3. 多继承语法

九、复写

​​​​​​​十、类型注解

1. 变量的类型注解

​​​​​​​2. 函数(方法)的类型注解

​​​​​​​3. Union类型

​​​​​​​十一、 多态


一、文件操作

一、 文件的读取

​​​​​​​1. 打开文件open()

f = open("D:/test.txt","r",encoding="UTF-8")

print(type(f))

<class '_io.TextIOWrapper'>

2. 读取文件10个字节read(10)

f = open("D:/test.txt","r",encoding="UTF-8")

print(type(f))

print(f"读取10个字节的结果:{f.read(10)}")

读取10个字节的结果:1111111111

3. 读取文件全部信息read()

f = open("D:/test.txt","r",encoding="UTF-8")

print(type(f))

print(f"读取全部内容的结果:{f.read()}")

读取全部内容的结果:111111111111111

22222222222222

33333333333333

4

5

6

7

8

4. 读取文件readLines()

f = open("D:/test.txt","r",encoding="UTF-8")

lines = f.readlines()

print(lines)

['111111111111111\n', '22222222222222\n', '33333333333333\n', '\n', '4\n', '5\n', '6\n', '7\n', '8\n']

5. 读取文件readLine()

一次读取一行

6. for循环读取文件行

f = open("D:/test.txt","r",encoding="UTF-8")

for line in f:

print(line)

111111111111111

22222222222222

33333333333333

4

5

6

7

8

7. 文件的关闭close

解除文件的占用

f = open("D:/test.txt","r",encoding="UTF-8")

f.close()

8. with open

执行完语句块 会自动close

with open("D:/test.txt","r",encoding="UTF-8")as f:

for line in f:

print(f"{line}")

111111111111111

22222222222222

33333333333333

4

5

6

7

8

二、 文件的写入

f= open("D:/test.txt","w",encoding="UTF-8")

f.write("hello");

f.close()

open的时候 使用w作为写入

如果没有路径会创建路径

如果有文件 那就覆盖原来的内容

写完之后 记得close一下或者flush一下 就能写进去

​​​​​​​三、 文件的追加

f= open("D:/test.txt","a",encoding="UTF-8")

f.write("world");

f.flush()

f.close()

二、 异常

1. 了解异常

​​​​​​​2. 异常的捕获try: except:

三、 python模块

导入模块

import time # 引入时间模块 导入python内置的time模块

time.sleep(1)

导入模块中的功能

from time import sleep # 引入时间模块 中的sleep功能

sleep(1)

导入模块中的全部功能

from time import * # 导入模块中的全部功能 *代表所有

sleep(1)

取别名

import time as a

a.sleep(1)

四、 python包

​​​​​​​1. 新建python软件包

新建成功后会有一个.py后缀的文件

如果有:代表是软件包

没有的话:代表是普通文件夹

​​​​​​​2. 第三方包

​​​​​​​3. 第三方包下载

1. pip下载第三方包

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple numpy

2. pycharm下载第三方包

打开pycharm 右下角的python3.10点击后 选择解释器设置

就能看到刚才安装的第三方包numpy

点击加号 添加其他第三方包

搜索pandas,选中pandas,然后点击选项 输入

-i https://pypi.tuna.tsinghua.edu.cn/simple

点击 安装软件包

下方会出现一个安装的进度条

安装成功

​​​​​​​五、 案例:str字符串反转和切片

def str_reserse(s):

"""

功能是将字符串反转

:param s:将被反转的字符串

:return:反转后的字符串

"""

return s[::-1]

def substr(s,x,y):

"""

功能是按照给定的下标完成给定字符串的切片

:param s:即将被切片的字符串

:param x:切片的开始下标

:param y:切片的结束下标

:return:切片完成后的字符串

"""

return s[x:y]

if __name__ == '__main__':

print(str_reserse("123"))

print(substr("12345",1,2))

321

2

一、 案例:读取文件信息

def print_file_info(file_name):

"""

功能:将给定路径的文件内容输出到控制台

:param file_name:即将读取的文件路径

:return:None

"""

f=None

try:

f=open(file_name,"r",encoding="UTF-8")

content=f.read()

print(f"文件的全部内容如下:{content}")

except Exception as e:

print(f"程序出现异常:{e}")

finally:

if f: # 如果变量是None 表示false;如果有任何内容 就是true

f.close()

if __name__ == '__main__':

print_file_info("D:/aa.txt")

def print_file_info(file_name):

"""

功能:将给定路径的文件内容输出到控制台

:param file_name:即将读取的文件路径

:return:None

"""

f=None

try:

f=open(file_name,"r",encoding="UTF-8")

content=f.read()

print(f"文件的全部内容如下:{content}")

except Exception as e:

print(f"程序出现异常:{e}")

finally:

if f: # 如果变量是None 表示false;如果有任何内容 就是true

f.close()

if __name__ == '__main__':

print_file_info("D:/test.txt")

程序出现异常:[Errno 2] No such file or directory: 'D:/aa.txt'

文件的全部内容如下:helloworldworld

二、案例:追加文件信息

def append_to_file(file_name,data):

"""

功能:将指定的数据追加到指定的文件中

:param file_name:指定的文件路径

:param data:指定的数据

:return:None

"""

f = open(file_name,"a",encoding="UTF-8")

f.write(data)

f.write("\n")

f.close()

if __name__ == '__main__':

append_to_file("D:/test.txt","嘿嘿")

​​​​​​​六、 json

1. dumps:python数据转json

先导入json包

使用 json.dumps对python数据转成json

ensure_ascii=False:可以读取中文

"""

演示 json数据和python数据的互相转换

"""

import json

data=[

{"name":"张三","age":12},

{"name":"李四","age":15},

{"name":"王五","age":11}

]

json_str = json.dumps(data,ensure_ascii=False)

print(json_str)

[{"name": "张三", "age": 12}, {"name": "李四", "age": 15}, {"name": "王五", "age": 11}]

2. loads:json字符串转python数据

import json

s='[{"name": "张三", "age": 12}, {"name": "李四", "age": 15}, {"name": "王五", "age": 11}]'

python_list_data = json.loads(s)

print(python_list_data)

[{'name': '张三', 'age': 12}, {'name': '李四', 'age': 15}, {'name': '王五', 'age': 11}]

七、 类和对象

1. 类的成员方法

class Student:

name=None

age=None

def say_hi(self):

print(f"大家好,我是{self.name}。")

stu = Student()

stu.age=11

stu.name="张三"

stu.say_hi()

大家好,我是张三。

2. 构造方法__init__

class Student:

name=None,

age=None

def __init__(self,name,age):

self.name=name

self.age=age

print("创建了一个student对象")

stu = Student("张三",19)

print(stu.name)

print(stu.age)

创建了一个student对象

张三

19

3. 内置方法

__init__

构造方法

__str__

字符串方法

__lt__

小于、大于符号比较

__le__

小于等于、大于等于符号比较

__eq__

==符号比较

4. 内置方法__str__

class Student:

name=None,

age=None

def __init__(self,name,age):

self.name=name

self.age=age

print("创建了一个student对象")

def __str__(self):

print("调用了__str__")

return f"Student对象,name:{self.name},age:{self.age}"

stu = Student("张三",19)

print(stu)

print(str(stu))

创建了一个student对象

调用了__str__

Student对象,name:张三,age:19

调用了__str__

Student对象,name:张三,age:19

5. 内置方法__lt__ 大于和小于

class Student:

name=None,

age=None

def __init__(self,name,age):

self.name=name

self.age=age

print("创建了一个student对象")

def __str__(self):

print("调用了__str__")

return f"Student对象,name:{self.name},age:{self.age}"

def __lt__(self,other):

return self.age<other.age

stu1 = Student("张三",19)

stu2 = Student("李四",20)

print(stu1<stu2)

print(stu1>stu2)

创建了一个student对象

创建了一个student对象

True

False

6. 内置方法__le__ 大于等于和小于等于

class Student:

name=None,

age=None

def __init__(self,name,age):

self.name=name

self.age=age

print("创建了一个student对象")

def __str__(self):

print("调用了__str__")

return f"Student对象,name:{self.name},age:{self.age}"

def __lt__(self,other):

return self.age<other.age

def __le__(self,other):

return self.age<=other.age

stu1 = Student("张三",19)

stu2 = Student("李四",20)

print(stu1<=stu2)

print(stu1>=stu2)

创建了一个student对象

创建了一个student对象

True

False

7. 内置方法__eq__ ==

class Student:

name=None,

age=None

def __init__(self,name,age):

self.name=name

self.age=age

print("创建了一个student对象")

def __str__(self):

print("调用了__str__")

return f"Student对象,name:{self.name},age:{self.age}"

def __lt__(self,other):

return self.age<other.age

def __le__(self,other):

return self.age<=other.age

def __eq__(self,other):

return self.age==other.age

stu1 = Student("张三",20)

stu2 = Student("李四",20)

print(stu1==stu2)

创建了一个student对象

创建了一个student对象

True

8. 私有成员变量和私有成员方法

使用两个下划线 去声明成员变量或方法

class Student:

__age=10

def __oneFf(self):

print("私有成员方法被调用...")

def 调用我呀(self):

if(self.__age==10):

print("我十岁啦")

else:

self.__oneFf()

stu = Student()

stu.调用我呀()

我十岁啦

八、 继承

1. 单继承语法

class 类名(父类名):

类内容体

2. 单继承实例

class Phone:

IMEI=None # 序列号

productor="老的厂商" # 厂商

def call_by_4g(self):

print("4G通话...")

# 单继承

class Phone2023(Phone):

face_id="10001" # 面部识别ID

def call_by_5g(self):

print("2023年新功能:5G通话...")

phone=Phone2023()

print(phone.productor)

phone.call_by_4g()

phone.call_by_5g()

老的厂商

4G通话...

2023年新功能:5G通话...

3. 多继承语法

class 类名(父类名1,父类名2,父类名3...):

类内容体

注意:如果只想继承父类,不想拓展新功能 可以使用pass关键字

例如:

class 类名(父类名1,父类名2,父类名3...):

pass

九、复写

​​​​​​​十、类型注解

1. 变量的类型注解

​​​​​​​2. 函数(方法)的类型注解

​​​​​​​3. Union类型

​​​​​​​十一、 多态

三、python基础语法进阶篇(黑马程序猿-python学习记录)相关推荐

  1. 二、python基础语法篇(黑马程序猿-python学习记录)

    黑马程序猿的python学习视频:https://www.bilibili.com/video/BV1qW4y1a7fU/ ====================================== ...

  2. 七、python-PySpark篇(黑马程序猿-python学习记录)

    黑马程序猿的python学习视频:https://www.bilibili.com/video/BV1qW4y1a7fU/ ====================================== ...

  3. 五、python-地图可视化篇(黑马程序猿-python学习记录)

    黑马程序猿的python学习视频:https://www.bilibili.com/video/BV1qW4y1a7fU/ ====================================== ...

  4. 六、python操作mysql篇(黑马程序猿-python学习记录)

    黑马程序猿的python学习视频:https://www.bilibili.com/video/BV1qW4y1a7fU/ ====================================== ...

  5. Python基础语法入门篇(一)

    Python基础语法入门篇(二) 1. 注释 在我们工作编码的过程中,如果一段代码的逻辑比较复杂,不是特别容易理解,可以适当的添加注释,以辅助自己 或者其他编码人员解读代码. 注释是给程序员看的,为了 ...

  6. python视频教程黑马-python视频教程免费:求黑马程序员python教程?

    python后端开发需要学什么? 第一阶段:Python语言基础 主习Python最基识,如Python3.数据类型.字符串.函数.类件操作等.阶段课程结束后,学员需要完成Pygame实战飞机大战.2 ...

  7. 下载python教程-Python基础教程下载【黑马程序员完整版】

    课程介绍 目录大纲: 1-3 天内容为Linux基础命令 4-13 天内容为Python基础教程 14-15 天内容为 飞机大战项目演练 视频概括: 第一阶段(1-3天): 该阶段首先通过介绍不同领域 ...

  8. JAVA基础语法笔记(黑马程序员系列)

    1. Java概述 1.1 Java语言发展史(了解) 语言:人与人交流沟通的表达方式 计算机语言:人与计算机之间进行信息交流沟通的一种特殊语言 Java语言是美国Sun公司(Stanford Uni ...

  9. python基础语法手册_说一说python中的几个基础语法

    学一门语言,基础语法一定要扎实.就如盖房子一样,地基打得好,任凭风吹雨打,学习python也一样,学习很多东西都会花大量的时间来学习基础语法,对于毫无编程经验的新手而言,这样的无疑是很友好的,那么我们 ...

最新文章

  1. python处理csv文件缺失值_python处理数据中缺失值
  2. 自己开发的Grid组件 针对IOS的
  3. linux grep sed awk
  4. 快捷键截屏_QQ的Ctrl+Alt+A快捷键除了截屏,竟然还有这么多好用的功能!
  5. jdbc mysql 报错 ssl_Mybatis使用JDBC连接数据库报错及解决方案
  6. Android跨屏拖动item,android中如何实现两个listview中的item可以互相拖拽移位?
  7. filter_var()函数
  8. 通过MySQL存储原理来分析排序和锁
  9. 台达vfd一ⅴe变频说明书_PLC运动控制实例解析:PLC与变频器系统
  10. Zabbix安装和使用配置小结
  11. loadrunner要点总结
  12. Word2007中公式和文字混排,文字和公式总是没法对齐
  13. 这个1500个+Javascript特效代码,瞬间提升你的开发效率
  14. clion ros debug clion配置ros环境及调试
  15. nvidia卸载程序无法继续运行_nvidia安装程序无法继续 不兼容怎么办 nvidia安装程序无法继续安装怎么办...
  16. 技术经理、架构师、技术总监、VP、CTO,这些岗位都是如何挣出来
  17. 电脑与手机竟然还能这样传文件!
  18. 直观认识Windows
  19. 【慕课网】人工智能-语音入门|公开课知识整理
  20. [Unity Mirror] 自定义角色生成

热门文章

  1. Python | 阿尔法基本图形绘制
  2. 下载任意网站内容到本地
  3. fMRI提取ROI时间序列
  4. C/C++ 折半查找与顺序查找【对比分析】
  5. Java 类的初始化
  6. 浙里办APP的系统架构分析
  7. 判断点与多边形的关系(3):角度和法
  8. android 设备报警功能,危险时刻,手机这样设置紧急求助报警,苹果/安卓用户都要知道!...
  9. OpenStack 给nova组件 vnc 配置https(SSL)自验证签名证书
  10. 基于STM32的智能灯光亮度调节器【正点原子】(一)