预热:
官网下载python 64位版,选中添加环境变量到PATH
Vscode下 扩展搜Chinese,安装语言包
新建文件,保存为.py
F5运行,弹出解释器选择项,选择安装好的解释器
基本用法
字符串
.title() .upper() .lower()
字符串拼接 str1+ "" +str2
.lstrip() .rstrip() .strip()
字符串,外面的单双引号随意,可以用转义\在里面添加单双引号
.split() 分割
int(字符) 转数字格式
数字
浮点运算,精度会有问题!
str(数字) 转字符格式
列表 类似于matlab语法
查
[0] 左起第一个
[-1] 右起第一个
增
.append() .insert(num,' ')
删
del list[num] list.pop() list.pop(num) list.remove('…')
改
list[num] = '…'
其他
排序sort(),可选reverse=
临时排序 sorted(,reverse=)
反转 .reverse()
长度 len()
遍历 for I in list:
Print()
缩进代表这一行属于哪一块
List(range(2,11,2))
min() max() sum()
squres = [i**2 for i in range(1,11)]
列表切片
print(squres[0:3]) 下标从0开始 缺省从端开始或结束
print(squres[1:4]) 左开右闭 1,2,3 对应第2,3,4的元素
遍历切片就是遍历取出来的子列表
元组
初始化后只能查,严格来说只能重新给元组变量赋值更改
字典
dic{'key'-value:'key'-value:…}
增加 dic['key'] = value
改 dic['key'] = new_value
删除 del dic['key']
嵌套在列表中当字典数组使用,字典的嵌套自身比较复杂
输入
input()
函数
def func():
关键字实参,para1=,para2=,… 可以不按顺序传过去
形参有默认值可以不传递,缺省为默认值,这样实参就变为可选的了
参数是 "传对象引用",表现为参数可变-传引用,参数不可变-传值
def param(*params):
for param in params:
print(param)
param('aaa','ddd','eee','cccc')
指针接受多个函数
模块调用
import name
name.func()
import name as n
n.func()
from name import func()
func()
from name import func() as f
f()
导入所有函数
from module import *
9. 规范
参数列表中等号两边不要有空格
类self
每个与类相关联的方法调用都自动传递实参self,它是一个指向实例本身的引用,让实例能够访问类中的属性和方法。
会自动传递,因此我们不需要传递self
类中每个函数第一个参数都是self
子类继承父类
class Car():
def __init__(self,make,model,year):
self.make = make
self.model = model
self.year = year
def get_name(self):
print(self.make)
my_car = Car('CHINA','trek','1997')
my_car.get_name()
class ElecricCar(Car):
def __init__(self,make,model,year):
super().__init__(make,model,year)
my_elecric_car = ElecricCar('JP','car','1900')
my_elecric_car.get_name()
输出:
CHINA
JP
文件读写
with open() as :
Str = str.Replace('','')
Try-except-else
自动化测试
import unittest
from test import get_format_name
class NameTestCase(unittest.TestCase):
def test_name(self):
formatted_name = get_format_name('Alice','Bob')
self.assertEqual(formatted_name,'Alice Bob')
unittest.main()