【Python】Python语言基础(下)

❤️博客主页 iknow181
系列专栏 Python、JavaSE、JavaWeb、CCNP
欢迎大家点赞收藏⭐评论✍


在这里插入图片描述

目录

第十一章 控制结构

for语句

if语句

while语句

第十二章 函数

函数介绍

函数的定义

函数的调用

函数的传参

函数的传参方式

位置实参

关键字实参

默认值实参

函数的返回值

函数传递未知数量的实参

函数的模块调用

调用整个模块

调用模块中特定功能

第十三章 类(选修)

类相关术语介绍

对象

实例化

类的定义

类中的方法

初始化方法

定义类中的属性值

修改类中的属性值

第十四章 文件的操作

文件操作前言

文件的打开方式

文件的操作

文件的读取

两种读取方式

文件的写入

w操作写入

a操作写入

文件的复制

文件的管理

管理文件模块

删除文件

创建文件夹

重命名文件夹

删除文件夹

获取程序当前的工作目录

列出当前目录下有哪些文件

更改工作目录

判断一个对象是文件还是文件夹

第十五章 异常的处理

异常的概念

异常处理的语法

病态代码


第十一章 控制结构

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)
------------------------

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("程序执行正常,用户输入的就是年龄")

在这里插入图片描述

你可能感兴趣的:(Python,python,java,前端)