Python学习笔记
这是B站上的一个三小时快速入门Python的学习笔记,用于我对该视频中所涉及的知识点进行快速的回顾与复习
1.字符串
1.字符串连接
print()
函数里的字符串可用加号+
来连接
例如:print("hello"+" world")
2.单双引号转义
当输出print("hello "world"")
时系统会报错,因为判定"hello "
为一个字符串并将其输出,就不知道后面的world""
是什么了,所以为了解决这个问题我们可以单双引号结合使用例如:
1 | print("hello 'world'") |
又或者是直接使用转义字符\
1 | print("He said \"Let\'s go!\"") |
3.换行
换行的时候不能直接在代码里换行
1 | print("hello |
这样运行会报错的,正确的换行因该是使用\n转义字符来换行
1 | print("hello\nworld") |
4.三引号跨行字符串
遇到要换多行的时候可以使用三引号来输出整段的内容
使用print()来换多行输出一首诗:
1 | print("白日依山尽") |
或是使用多个\n来逐行输出,这些方法都太麻烦了,可以直接把内容放在 """
里,来实现跨行的字符串输出:
1 | print("""白日依山尽 |
2.变量
1.变量的赋值
Python语句的执行是从上到下的,因此变量需要先定义后使用,例如
1 | my_numb = "123" |
必须先定义my_numb才能print输出,否则会报错
其次就是变量里的值是可变的:
1 | my_numb = "123" |
运行这段代码可以发现,我们可以把变量的值赋给其他变量,也可以直接修改变量里的值
2.变量的命名
在Python中变量的命名一般使用下划线命名法如:user_name
和user_age
这些直观的命名,不要用拼音和abc来命名,且命名的时候只能用字母、数字和下划线来命名,且第一个字符不能是数字
3.数学运算
正常的加+
减-
乘*
除/
都可以在键盘上输入,
优先级为:
( )
>**
>*
和/
>+
和-
其中**
为乘方,2的三次方可以用2**3
来表示
但是对于一些复杂的公式我们可以导入math库来使用数学公式:
1 | import math #首先需要导入math库 |
通过以上这样的方式来使用,例如:
1 | import math |
其中的sqrt()函数是开方函数
4.注释
良好的注释习惯可以帮助自己和他人理解代码
#
单行注释
"""
多行注释"""
5.数据类型
数据类型 | 示例 |
---|---|
字符串 str | “Hello” “哟!” |
整数 int | 6 或 -3 |
浮点数 float | 6.0 或 10.07 |
布尔类型 bool | True 或 Fales |
空值类型 NoneType | None |
之后会讲到列表、字典等
字符串str
可以用len()
函数获取字符串的长度
len(‘6’)
=> 3
len(‘hi!!’)
=> 4
len(‘\n’)
=> 1 转义字符只算一个字符
也可以提取字符串中的单个字符
1 | str = "hello" |
使用type()函数来返回该对象的类型
1 | str = "hello" |
6.input()
1 | age = input("你几岁了?\n") |
int()
、float()
、str()
函数可以把内容转换为对应的数据类型,例如:
1 | age = input("你几岁了?\n") |
先把输入的字符串装换为int
类型进行计算,之后输出的时候再以str
类型进行输出
7.条件语句if
1.条件语句的格式
1 | if 条件: |
具体运用:
1 | i = int(input("输入一个数来判断与60的大小关系")) |
2.嵌套条件语句
1 | if 条件: |
3.多条件判断
1 | if 条件: |
综合循环和多条件实例:
1 | a = int(input("输入你的成绩\n")) |
8.逻辑运算
and
一假则假or
一真则真not
取bool的反值
实例:
1 | a = input("输入你的性别\n") |
9.列表
1.列表的使用
name_list = [“张三”,”李四”,”王五”]
print(name_list)
name_list.append
(“老六”)
name_list.remove
(“张三”)
print(name_list[0])
其中append
添加列表元素,remove
移除列表元素
2.数字列表的使用
num_list = [25,22,33]
max_num =max
(num_list)
min_num =min
(num_list)
sorted_num =sorted
(num_list)
print(max_num,min_num,sorted_num)
其中max
函数输出列表中的最大值,sorted
函数输出从小到大排好序的列表
10.字典
1.字典的使用
字典名 = {键 : 值 , 键 : 值}
其中,字典里的键必须是不可变的数据类型,不能使用变量来作为键
键和值用:
冒号来对应
contacts = {“张三”:18,”李四”:15,”王五”:17}
print(“张三的岁数是”,contacts["张三"]
)
可以用contacts["老六"]=19
来新建字典元素
当出现键的名称相同时,比如通讯录中有多个张三,可以用元组tuple=(张三,21)
来作为字典里的键,例如:
contacts = {
("张三",18)
:1111111111,
(“张三”,17):222222222,
(“张三”,16):3333333333}
print(contacts["张三",18]
)
=>11111111
2.字典的操作
in操作
“张三”
in
contacts
in
可以判断键是否在字典里,然后返回一个bool值
del操作
del
contacts[“张三”,18]
del
可以删除字典中该键值的内容
字典名操作
字典名.values()
#返回所有值
字典名.keys()
#返回字典里所有的键
字典名.iteams()
#返回所有的键值对
3.字典小练习
1 | print("网络热门词汇查询") |
11.for循环
for
变量名in
可迭代的对象
输出0到5,示例:
1 | for i in range(0,6): |
其中range(起始值,结束值,步长)
函数是整数数列
range
( 0 , 6 )
以上表示0到5的数列,其中起始值是0,结束值是6,步长默认为1,range()函数的元素里不包括结束值6
12.while循环
for
循环需要有明确的循环对象或次数,但while
循环可以在循环次数未知的情况下一直循环直至跳出循环
1 | while 条件A: |
当A为真时执行B,直至A为假时跳出循环
具体示例:
1 | total = 0 |
13.字符串格式化
format方法
语法:”{ }”.formatformat
函数对于字符串的格式化:
1 | print("我叫{0},我今年{1}".format("小明",18)) |
保留两位小数的一般方法为:
1 | a = 0.123456 |
当然也可使用format
方法,如下:
1 | a = 0.123456 |
f-字符串
也可以在字符串前面加字母f来实现字符串的格式化
1 | a = "小明" |
14.函数
语法格式:
1 | def 函数名: |
例如:
1 | def add(a1, a2): |
函数的返回值
使用return可以返回值,并且可以用变量来接收函数的返回值
1 | def add(a1, a2): |
15.模块的引入
方法1:使用import语句
1 | import math |
方法2:使用from…import…语句
1 | from math import sqrt |
这样就不用在前面加math.
了
方法3:使用from…import*
1 | from math import* |
但第二种和第三种在使用的时候会出现和其他库里的函数产生命名冲突或是混淆的情况,比如不知道是哪个库的函数,同时在代码上也不直观
16.类和对象
1.类
格式:
1 | class 类名: |
类名一般首字母大写
对象的创建: 对象名=类名(属性,属性)
对象的属性: 对象名.属性
示例:
1 | class Cat: |
2.类方法
需要再类里进行定义
1 | class 类名: |
使用时:
对象名.类方法(参数,参数)
3.类的综合应用
定义学生类有学生的姓名、学号和成绩,创建设置成绩和输出成绩的类方法
1 | class Student: |
4.继承
子类会继承父类的属性和方法
格式:
1 | class 子类名(父类名): |
综合应用
1 | class Employee: #员工类 |
17.文件的操作
1.文件的路径
绝对路径:在根目录下的路径
C:\user
相对路径:文件现对于当前文件的目录
父目录..\
2.文件的操作
打开文件
变量 = open(“路径”,”r”,encoding=”utf-8
“)r
只读w
只写
encoding=”utf-8
“
读文件
1.read(字节数)
函数,读取内容并打印
2.readline()
读取一行返回一行
1 | f = open("./data.txt","r",encoding="`utf-8`") |
3.readlines()
读取全部文件内容,并返回行列表
1 | f = open("./data.txt","r",encoding="`utf-8`") |
关闭文件
1.文件变量名.close()
2.with
open(“./data.txt”) as
f:
print(f.read)
使用with
…as
语句在执行完里面的语句后子自动关闭文件
写文件
w
写入模式(会覆盖原文件)a
附加模式(接着原来的文件写入)
write()
函数不会换行
如果既要读取也要写入可以使用r+
r+
打开一个文件用于读写。文件指针将会放在文件的开头
。
a+
打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾
。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
更多文件操作模式在菜鸟教程里查看https://www.runoob.com/python3/python3-file-methods.html
18.异常处理
语法:
1 | try: |
异常处理的应用:
1 | try: |
finally
无论程序正常结束与否都执行,else
是除提及到的异常以外的其他情况
19.测试
1.使用assert进行测试(不常用)
1 | assert bool表达式 |
表达式为真继续运行,表达式为假提示AssertionError
并终止程序
2.unittest库
1 | import unittest |
实例:
需要测试的my_calculator.py文件
1 | def my_adder(x,y): |
测试文件
1 | import unittest |
在终端输入
python -m unittest
就可以看到测试结果,测试通过为·
,不通过为F