python语言的一些基础方法和定义的介绍,快速入门
for循环
for循环可以对列表、字典、字符串(各个字符)等进行迭代
for循环的基本结构
其中的变量名可以自己取,迭代的对象是上文代码中已经存在的。
range()
用法如下,首部数字包括在内,尾部数字不包括。如果只输入有一个元素的话起始值默认为0,输入的元素为皆谓之
可以有步长(间隔)
举例
list1 = ["天","苍","苍","野","茫","茫"]
for i in range(len(list1)):
print(list1[i])
运行结果
while循环的基本结构
list1 = ["天","苍","苍","野","茫","茫"]
print(len(list1))
i = 0
while i < len(list1):
print(list1[i])
i = i + 1
结果
格式化字符串
format方法
使用format方法时不需要转换数据类型
也可意用“:.2f”来指定保留几位小数(2f表示保留两位)
如
或
f-字符串
也可以进行变量的替换
定义函数
进行自定义函数,实现期望需求,在定义代码时,代码不会被执行只有在调用代码时,代码才会被执行。
举例
但是此时sector_area只是一个在函数中的变量,它的作用域仅仅在函数内部,出了函数他就不存在了
此时可以加入return语句,将函数里的变量返回出来,这样在函数外面就可以继续使用函数里定义的变量了
引入模块
python官方文档查看内置函数
内置函数
当内置函数不能满足需求时,我们要引入新的模块
除了可以引用官方库的模块以外,还可以使用第三方库的模块,但在引用之前需要先安装
定义类
如果知道什么是面相对象编程的话,那么对类一定不会陌生。
类的命名方法即为驼峰命名法
类中包括对象的属性和方法
类有一个特殊的方法叫做构造函数,主要作用是定义实例对象的属性,“self”本身也是一个参数,约定俗成用“self”,作用是吧属性的值绑定在实例对象上,“self”后面还可以跟其他的参数。这里的“self”在创建对象时不用手动传入。
实例
定义属性和方法
练习
class Student:
def __init__(self,name,student_id):
self.name = name
self.student_id = student_id
self.student_grades = {"语文":0,"数学":0,"英语":0} #赋予成绩初始值
# 定义设置成绩方法
def set_grades(self, course,grade):
if course in self.student_grades:
self.student_grades[course] = grade
# 定义打印所有成绩方法
def print_grades(self):
print(f"学生{self.name}(学号:{self.student_id})的成绩为:")
for course in self.student_grades:
print(f"{course}:{self.student_grades[course]}")
zhang = Student("张三","1001")
zhang.set_grades("语文","98")
zhang.set_grades("数学","99")
zhang.set_grades("英语","97")
zhang.print_grades()
运行结果
类继承
子类可继承父类的属性和方法
子类在继承父类的属性时应该用super
相对路径
上一层目录用“.”表示
上上一层用“. .”表示
相对路径同一根目录下的文件可以直接通过文件名查找到文件
PyCharm可以直接找到文件的路径
用绝对路径和相对路径找到文件的位置后就可以对文件进行操作了
读文件
open(“文件的路径”)即可打开文件,此时默认为读取模式
但是也可以设置为自己需要的模式。open()会返回一个文件对象。
还可以选择用何种编码方式来读取文件
read方法
第二次读取会读到空,因为第一次读取文件已经读完,并且记录了所读到的位置。
文件特别大时会可能会导致内存读爆,此时可以限制读取文件的字节
readline方法
此方法一般和while连用
readlines方法
对比三种方法
读完文件需要去关闭文件,此时有两种方法
写文件
先用open()打开文件,第二个参数设置为“w”,如果文件不参在则会创建一个文件,不会报错。如果文件已经存在,会把文件中原来的内容清空。
write()可以在文件中写入内容
但是write()不会自动帮助换行,如果需要换行的话可以在输入内容的后面加上换行符号
如果不想清空原来文件中的内容,可以把模式改为“a”即附加模式(也会帮助创建文件)
无论是写入模式还是附加模式都没办法在写入时同时读取文件
此时可以把模式改为“r+”
捕捉异常
提前预判因为交互而出现的错误,防止程序崩溃
try/except也是从上往下运行,直到碰到符合条件的情况,那么后面的except程序就不再运行了。
捕捉异常以后记得结束程序(有时候程序可能不会结束)
测试代码
assert
assert后面跟上我们认为应该为真的代码,如果为假。就会报错,此时程序会终止。所以这点不是很方便。此外我们可以运用专业的库
unittest就是一个很常用的Python单元测试库,单元测试的意思是对软件中的最小可测试单元进行验证。如比如验证某函数某方面表现是否符合预期。unittest库是Python自带的,不需要额外安装。但是需要引入。
一般实现代码和测试代码会分开放置,测试代码用专门的文件去测试
测试失败用”F“表示,此时也会提醒是哪个方法出错。
一些其他的常用测试方法
一些简化操作
在测试不同的方法时需要建立实例对象,此时会有代码重复的现象。在测试这些方法时测试的
可以利用setUp方法只创建一次实例
python的高阶和匿名函数
函数可以被作为参数传入函数,被传入了函数的函数被叫做高阶函数
当被传入的函数不常用时,可以把它作为匿名函数,把它作为lambda(匿名函数的关键字)。匿名函数不需要写return
匿名函数规格
匿名函数也可以被调用,调用时的格式
匿名函数后面不能有多个语句或者表达式,只能有一个语句,只适合比较简单的情况。