❤️博客主页: iknow181
🔥系列专栏: Python、JavaSE、JavaWeb、CCNP
🎉欢迎大家点赞👍收藏⭐评论✍
目录
第十一章 控制结构
for语句
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的语法格式:
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语法格式:
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)
------------------------
<class 'tuple'>
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操作写入
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操作写入
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("程序执行正常,用户输入的就是年龄")