❤️博客主页: iknow181
系列专栏: Python、JavaSE、JavaWeb、CCNP
欢迎大家点赞收藏⭐评论✍
目录
第十一章 控制结构
for语句
if语句
while语句
第十二章 函数
函数介绍
函数的定义
函数的调用
函数的传参
函数的传参方式
位置实参
关键字实参
默认值实参
函数的返回值
函数传递未知数量的实参
函数的模块调用
调用整个模块
调用模块中特定功能
第十三章 类(选修)
类相关术语介绍
类
对象
实例化
类的定义
类中的方法
初始化方法
定义类中的属性值
修改类中的属性值
第十四章 文件的操作
文件操作前言
文件的打开方式
文件的操作
文件的读取
两种读取方式
文件的写入
w操作写入
a操作写入
文件的复制
文件的管理
管理文件模块
删除文件
创建文件夹
重命名文件夹
删除文件夹
获取程序当前的工作目录
列出当前目录下有哪些文件
更改工作目录
判断一个对象是文件还是文件夹
第十五章 异常的处理
异常的概念
异常处理的语法
病态代码
for i in (集合):
循环体代码1
循环体代码2
循环体代码n
else:
循环完执行的代码1
for i in range(0, 10):
print(i)
else:
print("循环执行完成")
----------------------------
0
1
2
3
4
5
6
7
8
9
循环执行完成
if的语法格式:
if 条件测试:
条件测试满足条件时执行的代码1
条件测试满足条件时执行的代码2
条件测试满足条件时执行的代码n....
elif 条件测试:
条件测试满足条件时执行的代码1
条件测试满足条件时执行的代码2
条件测试满足条件时执行的代码n....
else:
不满足条件测试的条件时执行的代码1
不满足条件测试的条件时执行的代码2
不满足条件测试的条件时执行的代码n....
瘦西湖,
6岁及以下免票,
6-18岁半价50,
18岁及以上100
age = int(input("请输入您的年龄:"))
if age <= 6:
print("你免票!")
elif 6 < age <= 18:
print("半价50!")
else:
print("全票100!")
-----------------------------------
While语法格式:
While 条件测试:
满足条件测试执行的循环体代码1
满足条件测试执行的循环体代码2
满足条件测试执行的循环体代码n
i = 0
while i < 10:
print(i)
i = i + 1
age = int(input("请输入您的年龄:"))
while age != 'q':
if age <= 6:
print("你免票!")
age = int(input("请输入您的年龄:"))
elif 6 < age <= 18:
print("半价50!")
age = int(input("请输入您的年龄:"))
else:
print("全票100!")
age = int(input("请输入您的年龄:"))
--------------
break:中断,当代码运行到break的时候,直接退出当前循环 continue:当代码运行到continue的时候,回到条件测试处重新开始
通过表达式计算
def greet_user():
print("Hello")
定义函数时的注意事项: 1.函数的定义和正文代码之间空两行 2.函数和函数之间也要空两行 Pycharm提供了快速调整格式的快捷键
def greet_user():
print("Hello")
print("Hi")
greet_user()
-----------------------
Hello
Hi
函数分为实参和形参 由实参传递给形参
def greet_user(user): # 形参
print("Hello" + user)
username = input("请输入你的大名:")
greet_user(username) # 实参
-----------------------------------
请输入你的大名:root
Helloroot
位置实参也是默认的传参方式 实参1-->形参1 实参2-->形参2 ...
def func1(system, version):
print(system)
print(version)
sys = input("请输入您的系统:")
ver = input("请输入您的版本:")
func1(sys, ver) # 将sys实参按照位置传递给形参system,将ver实参按照位置传递给形参version
---------------
请输入您的系统:Windows
请输入您的版本:11
Windows
11
def func1(system, version):
print(system)
print(version)
sys = input("请输入您的系统:")
ver = input("请输入您的版本:")
func1(version=ver, system=sys) # 将实参的值赋给形参
----------------------------
请输入您的系统:Windows
请输入您的版本:11
Windows
11
如果选择使用默认值实参,在定义的时候,需要将有默认值的形参放在最后。 如果一个形参定义了默认值,且没有实参传递给该形参的情况下,使用默认值。 如果一个形参定义了默认值,但是有实参传递给该形参且值不相同,则使用实参的值。
def func1(version, system="Windows"):
print(system)
print(version)
sys = input("请输入您的系统:")
ver = input("请输入您的版本:")
func1(ver, sys)
-------------------------
请输入您的系统:Linux
请输入您的版本:CentOS8
Linux
CentOS8
可以将函数体代码中运算的结果返回
def func2(x):
y = x + 1
return y
a = int(input("请输入一个值:"))
print(func2(a))
---------------------
请输入一个值:1235
1236
在函数中,如果遇到多个实参传递给形参的情况,需要使用到* 如果要用一个形参接收多个实参的值,可以在前面*
def func1(*value): # 如果定义了带*的形参,必须放在定义的最后
print(type(value))
for i in value:
print(i)
func1(1, 2, 3, 4, 5)
------------------------
1
2
3
4
5
可以将函数作为.py文件导入到另一个py文件中使用
直接调用.py的文件名 如:调用function.py这个py文件作为导入函数
import function
from function import func1
编程思想: 面向对象: 面向过程:
类:具有相同特征和属性的事物的统称,比如说:人类,狗类。
对象是指将类实例化出来的内容,比如:人类--->张三,狗类--->二狗
由类生成对象的过程就叫做实例化
类的定义需要遵循驼峰命名法 首字母必须大写,且不能有空格和下划线,如果有需要区分单词,则通过大小写来判断
class Dog:
def walk(self): # 在类中定义了一个方法
print("叫")
# 实例化
goudan = Dog()
goudan.walk()
-------------------
叫
只要使用了类,就会有初始化方法
class Dog:
def __init__(self):
print("这里是初始化方法")
goudan = Dog()
class Dog:
def __init__(self, str1):
print("这里是初始化方法")
self.name = str1
def walk(self):
print("%s 走!" % self.name)
goudan = Dog("狗蛋")
goudan.walk()
print(goudan.name)
--------------------------
这里是初始化方法
狗蛋 走!
狗蛋
1.直接修改
class Dog:
def __init__(self, str1):
print("这里是初始化方法")
self.name = str1
def walk(self):
print("%s 走!" % self.name)
goudan = Dog("狗蛋")
goudan.walk()
print(goudan.name)
goudan = Dog("二狗")
goudan.walk()
print(goudan.name)
---------------------
这里是初始化方法
狗蛋 走!
狗蛋
这里是初始化方法
二狗 走!
二狗
2.新定义一个类,来做事情
class Dog:
def __init__(self, str1):
print("这里是初始化方法")
self.name = str1
def walk(self):
print("%s 走!" % self.name)
def change_name(self, str1):
self.name = str1
goudan = Dog("狗蛋")
goudan.walk()
print(goudan.name)
goudan.change_name("旺财")
goudan.walk()
print(goudan.name)
------------------------
这里是初始化方法
狗蛋 走!
狗蛋
旺财 走!
旺财
文件就分为两种: 文件(file) 目录(directory)
只读:r,指针指向文件的开头处 写:w,指针指向文件的开头处,如果原文件有内容,则会覆盖掉 追加:a,指针指向文件的末尾处,如果原先有文件,就相当于添加新内容 open()方法打开文件 打开文件的默认方式就是只读
file1 = open("test1.txt")
如果你想以w方式打开文件
file1 = open("test1.txt", 'w')
如果想以a方式打开文件
file1 = open("test1.txt", 'a')
先创建test1.txt,输入123 #一次性读取完文件的全部内容 1.相对路径读取
file1 = open("test1.txt")
text = file1.read() # read方法读取file1的文件
print(text)
-----------
123
2.绝对路径读取
file1 = open("C:\\Users\\iknow\\PycharmProjects\\new\\test1.txt")
text = file1.read() #
print(text)
----
123
如果读取的文件中有中文,需要加编码方式才能正确识别, "utf-8",万国编码
file1 = open("C:\\Users\\iknow\\PycharmProjects\\new\\test1.txt", encoding='utf-8')
text = file1.read()
print(text)
----------
123
456
789
你好
# 一行一行读文件内容
file1 = open("test1.txt", encoding='utf-8')
text = file1.readline()
print(text)
-------------
123
# 用readline()方法读取完文件的所有内容
file1 = open("test1.txt", encoding='utf-8')
while True:
text = file1.readline()
if text:
print(text)
else:
break
file1.close() # 关闭文件
-------------------------
123
456
789
你好
w操作会覆盖原先的内容
file1 = open("test1.txt", 'w', encoding='utf-8')
file1.write("今天是10月11日")
file1.close()
# 如果要写入的文件并没有创建,则系统会创建这个文件并将值直接写入
file2 = open("test2.txt", 'w', encoding='utf-8')
file2.write("1")
file2.close()
a操作会在原先内容的后面追加
file1 = open("test1.txt", 'a', encoding='utf-8')
file1.write("今天天气还不错")
file1.close()
# 把一个文件的内容读取出来,写入到另一个文件中
file1 = open("test2.txt", encoding='utf-8')
text = file1.read()
file2 = open("test3.txt", 'a', encoding='utf-8')
file2.write(text)
file1.close()
file2.close()
import os
import os
os.remove("test2.txt") # 写文件的路径
import os
os.mkdir("2023-10-11")
import os
os.rename("2023-10-11", "2022-10-11")
import os
os.rmdir("2022-10-11")
import os
print(os.getcwd())
C:\Users\iknow\PycharmProjects\new
import os
print(os.listdir())
['.idea', '2023-10-12', 'main.py', 'test1.txt', 'venv', '函数.py', '异常处理.py', '文件操作.py']
os.chdir()
import os
print(os.getcwd())
os.chdir("D:\\")
print(os.getcwd())
------------
C:\Users\iknow\PycharmProjects\new
D:\
import os
print(os.path.isdir("2023-10-12")) # 如果是目录(文件夹),返回True
----------
True
import os
print(os.path.isdir("test1.txt")) # 如果是文件,返回False
--------
False
异常就是指程序不正常退出 程序的返回值只有是0才是正常的,其他都不正常
try:
可能会导致异常的代码
except:
出现异常后执行的操作
else:
没有出现异常进行的操作try:
age = input("请输入你的年龄:")
if int(age) <= 18:
print("免票")
else:
print("你需要支付门票2500元")
except:
print("警告 警告 你该输入数字,你懂什么是数字吗?啊?")
else:
print("程序执行正常,用户输入的就是年龄")
有可能用户输入的不是数字,会出现异常,导致程序报错。
age = input("请输入你的年龄:")
if int(age) <= 18:
print("免票")
else:
print("你需要支付门票2500元")
应该做下异常处理
try:
age = input("请输入你的年龄:")
if int(age) <= 18:
print("免票")
else:
print("你需要支付门票2500元")
except ValueError:
print("警告 警告 你该输入数字,你懂什么是数字吗?啊?")
else:
print("程序执行正常,用户输入的就是年龄")