目录
1.Python概述
1.1为什么要学习Python?
①技术趋势,热度前三
②简单易学,语法规则简单,33个关键字,7种基本数据类型
③应用广泛,涉及IT行业70%以上的技术领域:自动化运维、自动化测试、数据分析、web应用开发、桌面应用开发、操作系统管理、服务器软件、人工智能。
1.2Python语言的诞生
1989年,为了打发圣诞节假期,龟叔(吉多·范·罗苏姆)开始写Python语言的编译器。
1991年,第一个Python编译器诞生Python这个名字,来自龟叔所挚爱的电视剧Monty Python's Flying Circus (蒙蒂·蟒蛇的飞行马戏团)
1.3Python语言的优缺点
优点
简单、易学、免费、开源、可移植性、丰富的库
缺点
没有明显的短板与缺点,唯一的缺点就是执行效率慢,这个是解释型语言所通有的,同时这个缺点也将被计算机越来越强大的性能所弥补。
1.4Python解析器的作用
由于Python属于高级语言,其并不能直接在计算机中运行,因为缺少Python语言的运行环境:Python解析器
Python解析器的作用:就是把Python代码转换为计算机底层可以识别的机器语言,如0101...
2.Python开发工具PyCharm
2.1PyCharm的主要作用
PyCharm是⼀种Python IDE (集成开发环境),带有一整套可以帮助用户在使用Python语言开发时提高其效率的⼯具,内部集成的功能如下:
Project管理
智能提示
语法高亮
代码跳转
调试代码
解释代码(解释器)
框架和库
......
安装流程不再赘述
2.2PyCharm软件的使用
2.2.1创建Python项目
第一步:创建项目
第二步:设置项目路径,必须放在C盘以外的盘符(非常重要!!!)
配置完成后,单机Create创建Python项目。
2.2.2新建文件与代码书写
如果将来要上传到服务器的文件,那么文件名切记不能使用中文。
2.2.3运行代码
运行hello world结果
2.2.4设置或更换Python解析器
打开File文件,找到Settings设置,如下图所示:更换Python解析器
2.2.5PyCharm软件本身设置
① 软件主题(软件未来的样式)
② 编码字体的设置
③ 代码字号的设置(文字大小)
打开File文件 => Settings设置,找到界面设置:
主题设置:
字体与字号设置:
字体设置:
字号设置:
2.2.6打开项目与关闭项目
打开项目:本身项目已经存在了,我们直接打开。
选择项目目录(文件夹)即可,如下图所示:
① This Window => 覆盖当前项⽬,从⽽打开目标项目
② New Window => 在新窗⼝打开,则打开两次PyCharm,每个PyCharm负责一个项⽬
③ Attach => 把两个项目合并在一起,放在同一个窗口中
关闭项目:对已经运行项目进行关闭操作。
#作为一个合格的程序员,拥有良好的代码习惯是至关重要的,其中学会用注释就是其中之一。
3.Python注释
3.1注释的作用
首先强调一件事:Python代码 => Python解析器 => 机器语言,但是注释经过了Python的解释器并不会解析与执行。因为其主要就是进行代码的注释。
注释作用:提高代码的阅读性
为了提高程序的可读性,强烈建议大家为核心代码添加注释信息。
3.2Python注释的基本语法
- 单行注释
单行注释,以"#"(Shift + 3)号开头,只能注释一行内容
# 注释内容
示例代码:
第一种:代码行的上面
# 输出hello world字符串
print('hello world')
第二种:放在代码的后面(代码后面保留2个空格)
print('hello world') #输出hello world字符串
- 多行注释
多行注释:可以同时注释多行代码或程序,常用于代码块的注释
基本语法:
"""
注释内容
第一行
第二行
第三行
"""
或
'''
注释内容
第一行
第二行
第三行
'''
示例代码:
"""
Hi, 大家好
我是黑马程序员的小伙伴
从今天开始,我们将一起学习Python这门语言
"""
'''
Hi, 大家好
我是黑马程序员的小伙伴
从今天开始,我们将一起学习Python这门语言
'''
print('Hi, 大家好')
print('我是黑马程序员的小伙伴')
print('从今天开始,我们将一起学习Python这门语言')
-
PyCharm注释小技巧(快捷键)
在PyCharm中,我们可以使用 Ctrl + /
来对代码或程序进行快速注释。
3.3PyCharm常用快捷键
3.3.1代码提示
在PyCharm中,当我们输入Python关键字中的前2~3个字符,其会自动进行代码提示。这个时候,我们只需要按回车即可以快速的输入某个内容。
3.3.2代码保存
编写代码时,一定要养成一个好的习惯,使用Ctrl + S
快速对代码进行保存操作。
个人建议,当写完一行代码时,就按一次。
3.3.3撤销与恢复
如果不小心删除了某行代码,这个时候我们可以快速按Ctrl + Z
就可以快速进行恢复。每按一次就撤销一次,如果撤销多了,怎么办?
答:还可以通过Ctrl + Y
进行恢复操作
4.Python中的变量(重点)
4.1变量的学习目标(案例)
案例:实现两个变量的交换
cup1号杯:可乐(cola)
cup2号杯:牛奶(milk)
经过一系列Python操作以后
cup1号杯:牛奶(milk)
cup2号杯:可乐(cola)
4.2引入变量的概念
什么是量:量是程序中的最小单元。
那什么是变量呢?
① 变量是存储数据的容器
② 变量存储的数据是临时的
③ 变量在程序运行过程中是可以发生改变的量
4.3变量的作用(举个例子)
淘宝注册案例:
① 写入用户名、密码
② Python程序要接收用户名和密码(临时存储)
③ 把刚才接收的用户名和密码永久的存储起来(数据库)
为了解决以上问题,Python开发了变量这样一个概念,可以把用户输入的一些信息,临时的保存起来,保存的这个容器就是Python变量。
4.4变量的定义
基本语法:
变量名称 = 变量的值
注:等号的两边都要保留一个空格,其实Python中建议符号的两边尽量都要保留一个空格
说明:在Python程序中,这个等号和日常生活中的等号不太一样,其有一个专业名词:赋值运算符,其读法:要从右向左读,把变量的值通过 = 赋值给左边的变量。
4.5变量的命名规则
标识符命名规则是Python中定义变量名称时一种命名规范,具体如下:
① 由数字、字母、下划线(_)组成
② 不能数字开头
③ 严格区分大小写
④ 不能使用内置关键字作为变量名称
下划线 => Shift + -减号
举个栗子:
① abc、abc123、_abc、hello(合理)
② 123abc、@abc、abc-123(不合理)
③ _(下划线) => 请问这可以是一个变量名称么?答:可以
注意:在Python变量命名时,不建议使用_开头,因为其与后面要学习的私有属性想冲突
④ 变量abc和变量ABC是同一个变量么?答:不一样,这是两个完全不同的变量
⑤ 记不住Python关键字怎么办?答:借助于help()方法
>>> help('keywords')
4.6推荐一些变量的命名规则(建议)
① 变量命名一定要做到见名知义。
② 大驼峰:即每个单词首字母都大写,例如: MyName 。
③ 小驼峰:第二个(含)以后的单词首字母大写,例如: myName 。
④ 下划线:例如: my_name 。(个人喜好用下划线)
4.7变量的定义与调用
在Python中,记住:变量一定要先定义,后使用,否则会报错。
定义:
name = 'itheima'
address = '北京市顺义区京顺路99号'
调用:
print(name)
print(address)
或
print(name, address)
4.8变量的定义与使用常见问题
① 变量与字符串如何区别:
在Python中,如果要赋值的内容添加了单引号或者双引号,其就是Python中的一种数据类型:叫做字符串(日常生活中的文本信息)
② print打印变量时,喜欢为其添加引号
print(name) # 输出变量name对应的值(变量值) 与 print('name') # 输出'name'这个字符串
③ PyCharm快捷键 => Ctrl + Alt + L
=> 代码格式化(写完代码用来检测格式)
5.Python中变量的数据类型
5.1为什么要学习数据类型
变量的定义非常的简单,但是很多小伙伴可能会想:变量除了存储这种字符类型的数据以外,还能存储其他类型的数据么?其实,在 Python中,我们为了应对不同的业务需求,也会把数据分为不同的类型,如下图所示:
面试题:请手写出Python中的7种数据类型?
答:数值类型、布尔类型、字符串类型、列表类型、元组类型、集合类型、字典类型
今天我们只需要了解前3种即可。
问题:如何判断一个变量到底是什么类型?
答:① 使用type(变量名称)方法,返回变量的数据类型 ==>print(type(变量名))
② isinstance(变量名称,数据类型),只能返回True或False(真的还是假的)
5.2数值类型
数值类型就是我们日常生活中的数字,数字又分为两种形式:整数 与 小数(带小数点)
整数类型:int类型
小数类型:float类型
案例1:定义一个人的信息,姓名:Tom、年龄18岁
name = 'Tom'
age = 18
print(type(age))
案例2:定义一个超市收银系统,写入一个名称:大白菜,价格:3.5
name = '大白菜'
price = 3.5
print(type(price))
5.3布尔类型
布尔类型是与逻辑相关一种数据类型,只有两个值:True(真)与False(假)
案例1:手工定义一个flag变量,其值为True
flag = True
print(flag)
print(type(flag))
其实在Python中,很多程序的返回结果也可以是True或False,比如isinstance()
num = 10
print(isinstance(num, int)) # True
print(isinstance(num, bool)) # False
5.4字符串类型
在Python变量定义中,如果其赋值的内容是通过单引号或双引号引起来的内容就是字符串str类型。
msg = '这家伙很懒,什么都没有留下...'
print(type(msg))
5.5其他类型(了解)
# 1、list列表类型
list1 = [10, 20, 30, 40]
print(type(list1))
# 2、tuple元组类型
tuple1 = (10, 20, 30, 40)
print(type(tuple1))
# 3、set集合类型:去重
set1 = {10, 20, 30}
print(type(set1))
# 4、dict字典类型:查询、搜索
dict1 = {'name':'itheima', 'age':18}
print(type(dict1))
6.Python中的Bug
6.1认识bug
所谓bug,就是程序中的错误。如果程序有错误,就需要咱们程序员来进行问题排查,及时纠正错误。
6.2解决bug三步走(编译型错误)
- 查看错误页面
- 看错误的行号
- 根据具体的错误,具体分析(名称错误、少些字符、没有定义)
6.3PyCharm代码调试(运行时错误)
Debug工具是PyCharm IDE中集成的专门用来调试程序的工具,在这里程序员可以查看程序的执行细节和流程,以方便我们快速找出程序的Bug!
Debug的工具使用两步走:① 打断点 ② Debug调试
注:Debug还可以用于了解程序的运行流程
6.4下断点
断点应该放在哪个位置:答:代码可能出错的代码段的第一行
如果有流程结构的放在关键字的开始:if、while、for……
6.5Debug调试
6.6单步调试
step over一步一步执行
遇到小闪电图标就代表这一行,可能出错了。
7.Python中的格式化输出
7.1格式化输出
目前为止,我们所有的输出都是直接通过print(变量名称)形式直接打印的。但是实际工作中,我们可能需要对变量的输出进行格式化操作(按照一定格式进行输出)。
变量的格式化
7.2百分号格式化输出
基本语法:
print(变量名称)
print('字符串%格式' % (变量名称))
print('字符串%格式 %格式 %格式' % (变量名称1,变量名称2,变量名称3))
%格式常见形式如下:
格式符号 | 转换 |
%s | 字符串 |
%d | 有符号的十进制整数 |
%f | 浮点数 |
%c | 字符 |
%u | 无符号十进制整数 |
%o | 八进制整数 |
%x | 十六进制整数(小写ox) |
%X | 十六进制整数(大写OX) |
%e | 科学计数法(小写'e') |
%E | 科学计数法(大写'E') |
%g | %f和%e的简写 |
%G | %f和%E的简写 |
例:定义两个变量name='itheima', age=18,按照如下格式进行输出:我的名字是itheima,今年18岁了。
案例:定义两个变量title='大白菜',price=3.5,按照如下格式进行输出:今天蔬菜特价了,大白菜只要3.5元/斤。
title = '大白菜'
price = 3.5
# 格式化输出“今天蔬菜特价了,大白菜只要3.5元/斤。"
print("今天蔬菜特价了,%s只要%.2f元/斤。" % (title, price))
其实除了%f可以设置小数点位数以外,%d也可以填充序号。
案例:定义两个变量id=1,name='itheima',按照如下格式进行输出:姓名itheima,学号000001
id = 1
name = 'itheima'
print('姓名%s,学号%06d' % (name,id))
7.3format方法格式化输出
基本语法:
print('字符串{}'.format(变量名称1))
print('{}字符串{}'.format(变量名称1,变量名称2)
案例:定义两个变量,name='孙悟空',mobile='18878569090',按照以下格式进行输出"姓名:孙悟空,联系方式:18878569090"
name = '孙悟空'
mobile = '18878569090'
print('姓名:{},联系方式:{}'.format(name,mobile))
7.4f简写形式格式化输出(推荐)
在Python3.6以后版本,为了简化format输出操作,引入了一个简写形式:
name = '孙悟空'
mobile = '18878569090'
print(f'姓名:{name},联系方式:{mobile}')
7.5格式化输出中的转义字符
在字符串中,如果出现了\t和\n,其代表的含义就是两个转义字符
\t :制表符,一个tab键(4个空格键)的距离
\n :换行符
案例:
print('*\t*\t*')
print('hello\nworld')
特别说明:默认情况下,每个print()方法执行完毕后,都会输出一个\n换行符。如果不想让print()方法换行,可以添加一个end参数
print( ' * ' , end=' ')
8.Python中的标准输入
8.1print()输入方法
往往只有input()方法,其意义不大,我们还应该使用一个变量来临时接受用户的输入,已方便后期的操作。
变量名称 = input('提示信息:')
案例:银行系统中的,输入密码的过程
password = input('请输入您的银行卡密码:')
print(f'您输入的银行卡密码为:{password}')
8.2input()方法重要事项
记住:所有由input()方法获取的数据都是“字符串”类型
name = input('请输入您的姓名:')
age = input('请输入您的年龄:')print(type(name)) # <class 'str'>
print(type(age)) # <class 'str'>
小结:
① input()可以用于接收由外部设备输入的信息,但是如果用户没有输入任何内容,则input()函数会中止当前代码的继续执行,处于等待状态,直到用户输入结束。
② 所有由input()方法获取的数据都是“字符串”类型