启动安装包,在安装向导首页勾选【Add Python 3.7 to PATH】 ,如果忘了勾选,后续需要自己去系统环境变量里添加Python编译器环境;接着还是强烈建议选择自定义路径安装的方式,点击【Customize installation】
有需要环境安装包的伙伴可以联系WX公众号(凌晨笔记)
3:选择自定义路径安装方式后,来到“自定义配置”界面,默认就是选择全部特性,所以直接点击【Next】按钮即可。
4:首先,勾选【Install for all users】 ;然后,设置安装路径,一般我们建议的安装路径是C:\Python3.7,C盘可以替换成你电脑中的任何根目录,3.7替换成所安装的任何大版本;最后,点击【Install】进行安装。
5:这里省略安装过程,当安装成功后,会显示”Setup was successful”字样,点击【Close】关闭该窗口,整个Python编译器的安装过程结束。Python编译器安装后没有桌面快捷方式
6:进入到cmd,输入python命令验证环境是否安装成功,如果成功,显示Python版本号。
每一门开发语言都需要集成开发环境,英文的全称是”Integrated Development Environment”,缩写则是耳熟能详的”IDE”,PyCharm是Python开发语言公认的最佳IDE,市场份额占有率最高,没有之一!开发这款IDE工具的公司叫JetBrains,是一家俄罗斯的公司,这家公司开发了很多著名的IDE和插件工具。
任何开发语言都需要一款靠谱的集成开发环境作为拍档,因为需要漂亮地写代码、编译“英语+数字+(汉字)”的代码让计算机认识等,下面就是安装PyCharm这款IDE的过程。
同样有需要环境安装包的伙伴可以联系WX公众号(凌晨笔记)
1:启动安装包,来到安装向导首页,点击【Next】
2:以默认安装路径进行安装,点击【Next】 。
3:在安装配置界面,默认是4个选项都没有勾选,全部勾选上,这里介绍2个:
4:Create Desktop Shortcut
创建PyCharm工具的桌面快捷启动图标
5:Create Associations
创建文件关联,打开.py后缀名的文件默认都以PyCharm工具打开
6:继续点击【Next】直到软件安装完毕,需要重启电脑,也可以稍后重启(问题不大),点击【Finish】关闭“安装已完成”界面。
7:双击桌面上的PyCharm图标启动IDE软件。
8 :首次启动时,会有一个导入“软件设置”的窗口,你可以选择之前的“老设置(需导出)”;一般情况下,都是选择【Do not import settings】进行全新设置
9: 如果你的电脑之前从未装过PyCharm,则首次启动时会出现下面的“保护隐私”界面,勾选并点击【Continue】按钮即可。
10:同样的,如果电脑上出现“数据分享”界面,建议点击【Don’t Send】不分享数据。
11:在设置首页需要先强制选择一个主题风格(放心,以后可以改),开发人员一般都喜欢用暗黑风格,为了教学时,同学们可以看得清晰,老师会选择明亮风格进行教学;然后,点击【Skip Remaining and Set Defaults】跳过剩余的设置,使用推荐的设置完成整个设置过程,跳转到下一个环节。
12:点击【Create New Project】创建新项目
13: 在创建新项目之前,先配置一下Python解释器,使得PyCharm这款IDE可以“识别”使用Python语法写出来的英文、字母、符号和(汉字);具体的配置步骤见下图中的数字。
14:设置Python项目的目录位置,建议在C盘根目录下创建一个“大文件夹”,如下图的C:\BWF_Python_Projects,点击【OK】完成项目目录位置的改变。
15:点击【Create】就可以完成最终新项目的创建了(项目位置就是你新建的“大文件夹”)
16:首次进入会出现一个每日提示窗口,对我们来说作用不大,反选掉【Show tips on startup】 ,然后点击【Close】 ,以后启动时就不会再出现了。
如何卸载?
1.1 Python卸载
控制面板 --> 程序和功能 --> Python 3.7.1 (64-bit) --> 右键,卸载。
控制面板 --> 程序和功能 --> Python Launcher --> 右键,卸载。
1.2 PyCharm卸载
控制面板 --> 程序和功能 --> JetBrains PyCharm Community Edition 2019.1 --> 右 键,卸载。
卸载时勾选上所有勾选框就可以做到完全卸载,即:不保留本地历史、不保留
设置等。
2:安装报错,dll库丢失,如何解决?
1. 退出杀毒软件(电脑管家、鲁大师、360等)。
2. 安装修复dll库的软件。
3. 以管理员方式进行安装。
一款软件设计开发语言,其它著名的开发语言有Java、C++、.net、PHP、C语言等...
能独立部署开发环境。
上手就写,而且不断地写“测试工程师”的代码,在实践中找出不足,然后不断加强。一开始不要买书,不要总是束之高阁,等有了一定的基础后,可以买一门Python经典权威书籍当字典使用,或者当信仰使用也未必不可。
什么衡量标准算掌握了一门语言?
学习大纲:
语言的变量
语言的结构
语言的面向过程(函数)
语言的面向对象
1:鼠标右键项目文件夹 --> New --> Python File
2:为新的Python文件命名,然后点击【OK】
3:新建Python文件成功后,会自动打开该文件,开始遨游代码的海洋...
4:写上“全世界的程序员入会代码”
5:当你发现代码区域的文字很小的时候,可以通过PyCharm的Settings设置解决问题。
6:搜索”font”关键字,在General设置项里,勾选【Change font size (Zoom) with Ctrl+ Mouse Wheel】这个选项,意思是“通过鼠标滚轮放大或缩小字体大小”,然后点击Settings窗口右下角的【Apply】,最后点击【OK】使功能生效。
7:鼠标右键“左侧项目文件导航栏中的py文件”或“py文件窗口标题”打开右键菜单,点击【Run ‘python文件名’】执行Python程序(脚本),这是执行程序的基本方式,后续学习的unittest单元测试的执行方式是特殊方式。
8:程序代码执行完毕后,PyCharm的界面下方的“4: Run”窗口中会出现执行结果。
9:print语句会出现在执行结果窗口中。
10:exit code 0代表程序顺利执行完毕,正常退出
Python语言和所有语言一样,都有常量和变量
常量:亦称“常数”,是反映事物相对静止状态的量。
变量:亦称“变数”,是反映事物运动变化状态的量。
python文件:KM-02.py
# 1、变量
# 将9这个数字赋值给a变量(从右往左赋值)
a = 9
# 8把9覆盖掉了
a = 8
# 最后打印出来的结果是8
print(a)
# 小结:Python中,变量是先赋值再使用
# 2、常量
# a是变量,但是'a'代表常量,是一个字符串(str)类型的常量
print('a')
# 9是常量,可以直接使用,但不可以作为变量名称,直接使用的概念有很多,这里是在print()方法中直接使用
print(9)
Python的(常见)值有6种类型: (1) 整数型 - int (2) 浮点型 - float (3) 字符串型 - str (4) 布尔型 - bool (5) 元组型 - tuple (6) 列表型 - list (7) 字典型 - dict
python文件:KM-03.py
# 1整数型 - int
a = 1
print(a)
print(type(a))
print(2)
print(type(2))
# 知识补充: type()方法可以返回入参的值的类型,如上
# 2 整数相加
print(a+1)# 3浮点型 - float
b = 3.14159
print(type(b))
# 4 整数和浮点数相加
print(a+b)# 5字符串型 - str
# Python里没有char类型(字符型)的概念;
# 只要是被一对单引号或一对双引号引用的,都是string类型,
# 字符型的值可以是任何值,包括中文,日文,阿拉伯文,特殊字符,标点符号等
jeremy_str = 'This is a string type of the Python.'
yj_str = "******这是Python的一个字符串类型。******"
# 6整数和字符串相加
a_str = '1'
# print(a + a_str) # 数字无法和字符串相加,所以会报错,注释掉这行代码,不然程序报错后无法执行后续代码
#7 字符串和字符串拼接
b_str = '2'
print(a_str + b_str)# 8布尔值 - bool
a_bool = True
b_bool = False
# 9 布尔值的"与","或"关系
print(a_bool and b_bool)
print(a_bool or b_bool)# 10 元组型 - tuple
# 元组是不可变数组
a_tuple = (1, 2, 3, 4, 5, 6)
b_tuple = (1, 3, 2, 4, 6, 5)
c_tuple = ('1', '2', '3')
d_tuple = ('张三', '李四', '王五')
e_tuple = ('张三', 18, '李四', 20)
# 11 元组打印
print(d_tuple)
# 12 通过下标(即:索引,从0开始)读取元组中的单个元素
print(e_tuple[0])
# 13下标越界
# print(a_tuple[6]) # 下标越界报错,注释掉这行代码,不然程序无法执行后续代码
# 14 切片读取
# 核心用法1:如果是[x:y]形式,先看y:y代表一共显示几个下标的值;再看x:x代表从哪个下标开始显示
print('切片实验1:', a_tuple[1:5]) # 结果:(2, 3, 4, 5)
# 过程分解:
# i. 先看y,一共显示元组中的5个下标(从前到后,自然顺序)的值:(1, 2, 3, 4, 5)
# ii. 再看x,从切割出来的(1, 2, 3, 4, 5)中的第1个下标“即:自然顺序的第2个”开始显示:(2, 3, 4, 5)
# *** 核心用法1的分支写法 ***
print('切片实验2:', a_tuple[:3]) # 结果:(1, 2, 3)
print('切片实验3:', a_tuple[1:]) # 结果:(2, 3, 4, 5, 6)
print('切片实验4:', a_tuple[:]) # 结果:(1, 2, 3, 4, 5, 6),全部读取,等价于print(a_tuple)
# 核心用法2:如果是[x:y:z]形式,x和y的规则一样,z代表下标间隔,即:每隔z位显示值
print('切片实验5:', a_tuple[1:5:2]) # 每隔2位显示值,结果:(2, 4)
print('切片实验6:', a_tuple[1:6:2]) # 每隔2位显示值,结果:(2, 4, 6)
print('切片实验7:', a_tuple[1:5:1]) # 每隔1位显示值,z值写了等于没写,结果:(2, 3, 4, 5)
# 知识补充:print打印语句越来越多,我们难以分辨,建议加上“打印时的注释”#15 列表型 - list
# 列表是可变数组,可变的含义:列表里的元素值可追加、可插入、可修改、可删除、可排序
a_list = [‘水浒传第一话’,‘水浒传第二话’,‘水浒传第三话’]
# 16 列表打印
print(a_list)
# 17 读取列表中的单个元素:用法和元组一模一样
print(a_list[0])
# 18 切片读取:用法和元组一模一样
print('列表的切片读取:', a_list[1:])
# 19 追加元素
a_list.append('水浒传第四话')
print('追加元素后的列表:', a_list)
# 20 插入新元素
# list.insert(index, object)方法有2个参数:
# index参数是新元素插入的下标位置,object参数是新元素的值
a_list.insert(3, '水浒传第四话')
print('插入新元素后的列表:', a_list)
# 21 修改元素
a_list.pop(3) # 第一步:通过下标先移除要删除的值
print('使用pop()方法先移除下标位置的值,移除后的列表:', a_list)
a_list.insert(3, '水浒传第四话') # 第二步:在下标位置插入新元素
print('修改后的列表:', a_list)
# 22 删除元素
# 除了pop()方法可以删除列表元素的值以外,还有2个方法
# i. 给出具体的要删除的元素的值来进行删除
a_list.remove('水浒传第四话')
print('删除后的列表:', a_list)
# ii. 清空列表所有值
a_list.clear()
print('清空后的列表:', a_list)
# 23 倒序排序
b_list = ['豹子头林冲', 25, '花和尚鲁智深', 30]
b_list.reverse()
print('倒序排序后的列表:', b_list)
# 24 正序排序
c_list = [-1, -12, 3, 0, 9, 8, 3.14159, ]
c_list_sorted = sorted(c_list) # sorted()是Python内置函数,
# 排序后,不改变原始list列表,
# 返回正序排序结果
print('使用sorted()函数排序:', c_list_sorted)
c_list.sort() # 排序后,会改变原始list列表
print('正序排序后的列表:', c_list)
# 25 使用sort()方法进行列表的正序排序时,规定列表里的元素的值必须是数字(整数、负数、小数、0)
error_list = [-1, -12, 3, 0, 9, 8, 3.14159, '100']
# error_list.sort() # 注释掉这句代码,执行后会报错:TypeError: '<' not supported between instances of 'str' and 'int'# 26 字典型 - dict
# 字典是以键值对的形式表现的,具体格式:{"键1": "值1", "键2": "值2", "键n": "值n" }
# 字典最标准写法如下:
aa_dict = {
"豹子头林冲": "25",
"花和尚鲁智深": "30"
}
print(豹子头林冲_dict) # 其实python的变量名是可以写中文的,不过工作中千万别这样
# 27 通过字典的键名读取对应的值
aa = aa_dict['豹子头林冲']
print('豹子头林冲年龄:', aa)
# 28 读取字典里所有的键的信息
print('字典里所有键的信息:', aa_dict.keys())
# 29 读取完整的字典数据(每一个键及其对应的每一个值)
print('完整的字典数据:', aa_dict.items())
# 30 修改字典数据(新增键值对、修改键值对)
# 通过键的设置来决定字典数据的新增或删除
# i. 如果字典中没有给出的键 => 新增
aa_dict['言承旭'] = 18
print('新增键值对后的新字典:', 豹子头林冲_dict)
# ii. 如果字典中已有给出的键 => 修改
aa_dict['言承旭'] = '18'
print('修改键值对后的新字典:', 豹子头林冲_dict)
# 注意:以上是将18整数修改成18字符串
# 31 删除字典里的键值对(梁山伯与祝英台的故事)
# 通过pop()方法,传入键的名称进行删除
aa_dict.pop('花和尚鲁智深')
print('删除键值对后的新字典:', 豹子头林冲_dict)
python文件:KM-04.py
# Python的运算符号
# 1 赋值/等于
a = 1
if a == 1:
pass# (2) 大于或等于
if a >= 1:
pass# (3) 小于或等于
if a <= 1:
pass# (4) 不等于
if a != 1:
pass# (5) 加、减、乘、除
a = 10
b1 = 5
b2 = 3
b3 = 0
c1 = a + b1
c2 = a - b1
c3 = a * b1
c4 = a / b1
c5 = a / b2
# c6 = a / b3 # 注释掉这行代码,否则Python会报出“零除”错误
# 知识补充:
# 在Python中,str字符串对象有一个自带的方法format(),它的作用是美化字符串,
# 打印语句里只有一个字符串,下面的两种写法效果一样
print('c1~c5的运算结果分别是:{}, {}, {}, {}, {}'.format(c1, c2, c3, c4, c5))
print('c1~c5的运算结果分别是:{0}, {1}, {2}, {3}, {4}'.format(c1, c2, c3, c4, c5))# (6) 取余
x = 8
y = 3
z = x % y
print('{0}除以{1}的余数是:{2}'.format(x, y, z))# (7) 平方/次方计算
aa = 4
bb1 = aa * aa # 4的平方等于16
# Python的次方计算符号是连续的两个星号:**
bb2 = aa**2 # 4的2次方等于16
bb3 = aa**3 # 4的3次方等于64
print('{0}的平方是:{1}'.format(aa, bb1))
print('{}的2次方是:{}'.format(aa, bb2))
print('{0}的3次方是:{1}'.format(aa, bb3))# (8) 优先运算
a = 1 + 1 * 2
b = (1 + 1) * 2
print('1 + 1 * 2 = {}'.format(a))
print('(1 + 1) * 2 = {}'.format(b))# (9) 加等、减等、乘等、除等
a = 3
b = 1
# a += b 等价于 a = a + b
a += b # 4 = 3 + 1
print('加等的结果:', a)
# a -= b 等价于 a = a - b
a -= b # 3 = 4 - 1
print('减等的结果:', a)
# a *= b 等价于 a = a * b
a *= b # 3 = 3 * 1
print('乘等的结果:', a)
# a /= b 等价于 a = a / b
a /= b # 3.0 = 3 / 1
print('除等的结果:', a)# (10)“与”,“或”关系
a = 1
b = 2
if a == 1 and b == 2:
print('and运算符要求左右两边的条件必须都满足。')if a == 1 or b == 2:
print('or运算符要求左右两边的条件只满足1个即可,2个都满足那是最好了,但是不可以一个都不满足。')# (11) 范围内运算以及not的用法
student = '张三'
stu_list1 = ['张三', '李四']
stu_list2 = ['李四', '王五']
print('张三在学生列表1里吗?', student in stu_list1)
print('张三在学生列表2里吗?', student in stu_list2)
print('张三不在学生列表2里吗?', student not in stu_list2)# (12) 对换符号(Python独家发售)
a = 111
b = 222
print("对换之前:{} --- {}".format(a, b))
a, b = b, a
print("对换之后:{} --- {}".format(a, b))
I==>用户输入-input
O===》用户输出 ==》print 学完了
python文件:km-05.py
# I/O交互
# 【程序案例】自动计算出本次期末考试的总成绩
stu_name = input('请输入你的姓名:')
chinese_score = input('请输入你的语文考试成绩:')
math_score = input('请输入你的数学考试成绩:')
english_score = input('请输入你的英语考试成绩:')# ------------------------------------------------------------------
# 计算总成绩时的错误示例:total_score = chinese_score + math_score + english_score
# 错误原因分析:input()方法可以让我们在运行程序时输入数据,
# 但是这个方法返回的数据类型是str字符串类型,
# 即使你输入了100,但其实是'100'字符串,
# 所以最后三个“字符串”的成绩不是“相加”而是“拼接”。
# ------------------------------------------------------------------
# ------------------------------------------------------------------
# 正确示例:
total_score = int(chinese_score) + int(math_score) + int(english_score)
# 正确姿势:使用Python自带的int()方法可以把数字型字符串转成int整数型
# int('666') ==> 666
# int('3.14159') ==> 3
# int('六六六') ==> 报错
# 其他常用的“数据类型转换”方法还有:
# str(666) ==> '666'
# float(3) ==> 3.0
# ------------------------------------------------------------------
print('{}同学,你好,你本次期末考试的总成绩是:{}分。'.format(stu_name, total_score))
今天到这里啦(*^_^*) ——————————掰掰