输出语句
#字符串拼接
print("hello word"+"北岭山脚鼠鼠")
#字符转义
print("He said \"Let\'s go!\"")
#换行
print("hello!\nHi!")
#三引号
print(""""北岭山脚鼠鼠
北岭山脚鼠鼠
北岭山脚鼠鼠
北岭山脚鼠鼠""")
结果为
变量
命名规则
组成:字母,数字,下划线
不能以数字开头
不同的类型都可以用同一个变量
python3.0以后支持中文变量名了
name="北岭山脚鼠鼠"
print(name)
name=25
print(name)
鼠鼠="孙吧老哥"
print(鼠鼠)
输出
数学运算
加减乘除都没有区别,次方用的是两个*号
如果要用到更复杂的运算,比如log,开方,三角函数等,就要在程序中引入数学库
import math
print(2**3)
print(9**0.5)
print(math.sqrt(9))
print(math.sin(1))
print(math.log2(8))
输出
数据类型
字符串类型
s="hello"
print(len(s))
print(s[2])
输出
空值类型
#赋控制
s=None
#打印类型
print(type(s))
s=25
print(type(s))
输出
常见type输出
交互模式下运行
在cmd下输入python可以进入交互模式,这时可以敲一行运行一行
好处:定义一个变量,直接输入变量名+回车就可以输出变量值了
输入语句
注意点:input返回的都是字符串,输入数字也是返回字符串
name=input("输入用户名")
age=input("输入年龄")
print(name+":"+age)
运行结果
类型转换
要和字符串拼接输出时要再次转换为str类型,否则会有报错
name=input("输入用户名")
age=int(input("输入年龄"))
age2=float(input("再次输入年龄"))
print((age)**2)
print((age2)**2)
print(name+str(age));
输出:
条件判断
age=int(input("年龄为"))
if age<18:
print("未成年人")
else:
print("成年人")
运行结果
嵌套条件语句
条件逻辑运算符号
and or not
age=int(input("年龄为"))
len=int(input("长度为"))
if(age>18 and len>18):
print("正常人")
运行结果
数据结构
列表
特点,可以放不同的数据
list=["tom","jerry"]
list.append("北岭山脚鼠鼠")
list.append(66.0)
print(len(list))
print(list)
输出如下
常用函数
哈希表
里面有键值对,可以通过键直接找到值,键的类型必需是不可变的,因此python提供了一个元组类型可以作为key
list= {"小明":18,
"鼠鼠":21}
#添加新元素
list["小红"]=22
#通过key查找value
print(list["小红"])
#判断键是否存在
print("小明" in list)
#删除键值对
del list["小明"]
#获取键值对数量
print(len(list))
list1={("小明",18):"123456",
("小明",21):"987654"}
print(len(list1))
输出如下
map常用方法
循环迭代
遍历map
range(x,y)表示从x到y的整数序列,range(x,y,z) 中z表示步长
while循环
for和while的几种使用
格式化字符串
format方法
f-字符串方法
使用{age:.2f}表示保留两位小数
自定义函数
def cal( a, b):
return a*b
print(cal(10,2))
输出
没有return就默认如同内容None
引入python库的模块
第三种方式可能会出现命名冲突,有同名函数的存在
也可以引入第三方库的模块
需要先安装别人写好的库才能引入别人的模块
PyPI · The Python Package Index
该网站可以对第三方库进行搜索
安装方法:
面向对象编程
命名风格:
封装
class CuteCat:
#构造函数
def __init__(self,name):
self.name=name
def sleep(self,loca):
return f"我特么在{loca}直接到处睡觉"
cat=CuteCat("tom")
print(cat.name)
print(cat.sleep("学校"))
输出
继承
文件操作
再linux系统中
在windows系统中
读文件的不同方式
循环逐行读取
手动关闭文件和自动关闭文件
with open("./ttt.txt", "r", encoding="utf-8") as f:
line=f.readline()
while line != "":
print(line)
line=f.readline()
输出
写文件
把r改成w或者a, 文件不存在会直接创建一个
w时如果源文件已经存在会自动清空
a则会在源文件后面再加上新的内容
还可以使用"r+",同时支持读写文件
f=open("./poem.txt","w",encoding="utf-8")
f.write("我欲乘风回去")
异常处理
常见异常类型
异常捕获
BUG测试
利用assert断言语句
单元测试库:unittest
测试类中测试方法必须以test_开头,这样才会被自动搜寻到,如果直接用assert断言处理的话,出现问题就会自动终止,所以使用unittest库里面自带的assertEqual方法,有两个参数第一个是待测试方法,第二个是预期结果
运行
在终端输入
python -m unittest
即可让库自动搜索所有继承了unittest.TestCase的子类,并运行以test_开头的方法
随后会展示结果,F表示不通过,.表示通过
unittest库中的常见测试方法
针对性方法会给出详细的失败原因
setUp方法
在运行测试方法前都会运行一次,用于定义测试方法中公共的资源