零、文章目录
Python基础01-环境搭建与输入输出
1、Python概述
(1)为什么要学习Python
- 技术趋势:Python自带明星属性,热度稳居编程语言界前三
- 简单易学:开发代码少,精确表达需求逻辑;33个关键字,7种基本数据类型;语法规则简单,接近自然语言
- 应用广泛:Python语言涉及IT行业70%以上的技术领域
(2)Python语言的诞生
- 1989年,为了打发圣诞节假期,龟叔(吉多·范·罗苏姆)开始写Python语言的编译器
- 1991年,第一个Python编译器诞生
- Python这个名字,来自龟叔所挚爱的电视剧Monty Python’s Flying Circus (蒙蒂·蟒蛇的飞行马戏团)
(3)Python的优缺点
- 简单:Python是一种代表简单主义思想的语言。阅读一个良好的Python程序就感觉像是在读英语一样,Python的这种代码本质是它最大的优点之一。它使你能够专注于解决问题而不是去搞明白语言本身。
- 易学:就如同你即将看到的一样,Python极其容易上手。前面已经提到了,Python有极其简单的语法。
- 免费、开源:Python开源的. 简单地说,你可以自由地阅读它的源代码、对它做改动、这是为什么Python如此优秀的原因之一——它是由一群希望看到一个更加优秀的Python的人创造并经常改进着的。
- 可移植性:由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够工作在不同平台上)。如果你小心地避免使用依赖于系统的特性,那么你的所有Python程序无需修改就可以在下述任何平台上面运行。
- 丰富的库:Python标准库确实很庞大。它可以帮助你处理各种工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI(图形用户界面)、Tk和其他与系统有关的操作。记住,只要安装了Python,所有这些功能都是可用的。这被称作Python的“功能齐全”理念。
- **缺点:**Python语言非常完善,没有明显的短板和缺点,唯一的缺点就是执行效率慢,这个是解释型语言所通有的,同时这个缺点也将被计算机越来越强大的性能所弥补。
2、Python解析器
(1)Python解析器的作用
- Python解释器的作⽤:运⾏Python文件
(2)Python解析器种类
- CPython,C语言开发的解释器[官方],应⽤广泛的解释器。
- IPython,基于CPython的一种交互式解释器。
- 其他解释器
- PyPy,基于Python语言开发的解释器。
- JPython,运⾏在Java平台的解释器,直接把Python代码编译成Java字节码执⾏。
- IronPython,运⾏在微软.Net平台上的Python解释器,可直接把Python代码编译成.Net的字节码。
(3)下载Python解析器
- 下载地址:https://www.python.org/downloads/release/python-3120/
- 百度网盘:https://pan.baidu.com/s/17rkTQrkY6HWd1L5EHPoDig?pwd=1234
(4)安装Python解析器
- 双击可执⾏行行⽂文件 —[勾选添加环境变量量] – [Install Now],按提示操作即可。
3、PyCharm开发利器
(1)PyCharm的作用
-
PyCharm是⼀种Python IDE (集成开发环境),带有一整套可以帮助用户在使用Python语言开发时提高其效率的⼯具,
-
内部集成的功能如下:
-
Project管理
-
智能提示
-
语法高亮
-
代码跳转
-
调试代码
-
解释代码(解释器)
-
框架和库
-
…
-
(2)PyCharm的分类
- PyCharm分为专业版(professional)和社区版(community),本文章主要以社区版为基准进行操作和讲解。
(3)下载PyCharm软件
- 下载地址:https://www.jetbrains.com/pycharm/
- 百度网盘:https://pan.baidu.com/s/1NWDhx91K4gTjSya4-5-jDQ?pwd=1234
(4)安装PyCharm软件
- 双击安装包 – [选择安装位置] – [添加环境变量和快捷方式,关联文件扩展] --[Install] --[Finish]
(5)PyCharm基本使用
- 新建项目:打开PyCharm – [New Project] – 选择项根目录和解释器版本 – [Create]
- 新建文件并书写代码:项⽬根⽬录或根目录内部任意位置 – 右键 – [New] – [Python File] – 输⼊文件名 – [OK],如果将来要上传到服务器的文件,那么文件名切记不能使用中文。
- 编写Python代码:双击打开⽂文件,并书写一个最简单的Python代码
- 运⾏文件:选中文件–右键–Run,或者在文件内–右键–Run
(6)PyCharm基本设置
- [File] – [Settings]–[Appearance & Behavior]
- [Appearance & Behavior] – [Appearance]:Theme:修改主题,Use custom font :修改主题字体,Size:修改主题字号
- [Editor] – [Font]:Font:修改字体,Size:修改字号,Line Spacing:修改行间距
- [Project: 项目名称] – [Project Interpreter] – 选择目标解释器
- [File] – [Open]:打开项目,浏览选择目标项目根目录, 选择打开项目方式,打开项⽬的方式共三种。
- This Window:覆盖当前项目,从而打开目标项目
- New Window:在新窗口打开,则打开两次PyCharm,每个PyCharm负责一个项⽬
- Attach:把两个项目合并在一起,放在同一个窗口中
- [File] – [Close Project]:关闭项目
4、Python注释
(1)为什么需要注释
- 在我们编写Python程序时,为了提高程序的可读性,强烈建议大家为核心代码添加注释信息。
(2)注释代码与非注释代码对比
- 添加了注释的代码更加易于程序的阅读。
(3)Python注释的分类及语法
- 单行注释:单行注释只能注释一行内容
# 注释内容
# 在Python中可以使用(# 注释内容)来表示单行注释
print('hello world') # 单行注释,主要用于表示代码的输出结果 => hello world
- 多⾏注释:多行注释可以注释多行内容,常用于代码块注释情况
"""
第一行注释
第二行注释
第三行注释
"""
'''
第一行注释
第二行注释
第三行注释
'''
'''
注释的内容不止1行,就可以使用多行注释!
注意:这里既可以使用三个单引号也可以使用三个双引号,在注释中,两者效果完全相同!
'''
"""
多行注释在实际工作中的应用场景:
① 用于编写程序的设计逻辑
以下程序一共分为三个步骤
第一步:定义一个计数器
第二步:编写循环条件
第三步:在循环体内部更新计数器值
② 多行注释还可以用于函数的说明文档
sum_num()函数,主要用于求两个数的和
参数说明:
num1代表第一个参数,整数类型
num2代表第二个参数,整数类型
返回值说明:
当函数执行完毕后,其返回两个数的和!
"""
def sum_num(num1, num2):
return num1 + num2
(4)PyCharm注释快捷键
- 可以直接使用 Ctrl + / 来快速生成代码注释
5、Python变量
(1)变量是什么
- 变量是存储数据的容器
- 变量存储的数据是临时的
- 变量在程序运行过程中是可以发生改变的量
(2)变量的作用
- 通过变量来实现存储以方便后续操作
(3)变量的定义
- 基本语法:变量名 = 变量的值
- 注意事项:等号两边都要保留一个空格,变量名可以自定义,但是要满⾜标识符命名规则。
# 定义一个变量,c1变量,用于保存数据"可乐"
c1 = "可乐"
c2 = "牛奶"
# 打印输出变量
print(c1)
print(c2)
(4)标识符命名规则
-
标识符命名规则是Python中定义变量名称时一种命名规范
-
由数字、字母、下划线组成
-
不能数字开头
-
严格区分⼤小写
-
不能使⽤内置关键字作为变量名称
-
-
Python内置关键字如下
# help('keywords')
# 定义几个变量,用于保存一个人的信息
name = '刘国晓' # ''/""引号引起来的内容都称之为“字符串”
age = 23
address = '广州市天河区'
print(name)
print(age)
print(address)
# 在Python代码中,print()也可以同时输出多个变量
print(name, age, address)
(5)命名习惯
- 变量命名一定要做到见名知义。
- 大驼峰:即每个单词首字母都大写,例如: MyName 。
- 小驼峰:第二个(含)以后的单词首字母大写,例例如: myName 。
- 下划线:例如: my_name 。
(6)变量的使用
- 在Python中,变量必须要先定义后使用。
my_name ='YYY'
print(my_name)
schoolName ='XXX'
print(schoolName)
(7)变量的数据类型
- 在 Python中,我们为了应对不同的业务需求,也会把数据分为不同的类型
- 不同类型变量的定义及判断,判断方法 => type()
a = 1
print(type(a)) # <class 'int'> -- 整型
b = 1.1
print(type(b)) # <class 'float'> -- 浮点型
c = True
print(type(c)) # <class 'bool'> -- 布尔型
d = '12345'
print(type(d)) # <class 'str'> -- 字符串
e = [10, 20, 30]
print(type(e)) # <class 'list'> -- 列表
f = (10, 20, 30)
print(type(f)) # <class 'tuple'> -- 元组
h = {10, 20, 30}
print(type(h)) # <class 'set'> -- 集合
g = {'name': 'TOM','age': 20}
print(type(g)) # <class 'dict'> -- 字典
6、Python中的Bug
(1)Bug是什么
- 所谓bug,就是程序中的错误。如果程序有错误,就需要咱们程序员来进行问题排查,及时纠正错误
(2)Debug工具
- Debug工具是PyCharm IDE中集成的专门用来调试程序的工具,在这里程序员可以查看程序的执行细节和流程,以方便我们快速找出程序的Bug!
- Debug工具使⽤二步走:① 打断点 ② Debug调试
(3)打断点
- 断点位置:断点要定位在要调试Python代码段的第一行即可
- 打断点的方法:在需要调试代码行的行号位置右侧的空白处单击即可
(4)Debug调试
- 断点打好后,在文件内部任意位置 – 右键 – Debug文件名 – 即可调出Debug工具面板 – 单击StepOver/F8,即可按步执⾏代码。
(5)Debug输出面板分类
- Threads&Variables:显示变量和变量的细节
- Console:输出内容
7、Python格式化输出
(1)输出是什么
- 所谓输出就是程序输出给用户
# 1、定义一些变量
name = '张三'
age = 25
address = '广州市天河区'
# 2、变量的输出(普通输出)
print(name)
print(age)
print(address)
# 在Python,还允许多个变量同时输出
print(name, age, address)
(2)格式化输出
- 所谓的格式化输出即按照一定的格式输出内容。格式化符号:
(3)案例演示
- 百分号形式的格式化输出
'''
如果我们想把某些变量通过一定的格式进行输出展现,可以使用百分号形式实现
基本语法:
print(变量名称)
print('字符串%格式' % (变量名称))
print('字符串%格式 %格式 %格式' % (变量名称1, 变量名称2, 变量名称3))
'''
# 案例:定义两个变量name='ly', age=18,按照如下格式进行输出:我的名字是ly,今年18岁了。
name = 'ly'
age = 18
print('我的名字是%s,今年%d岁了。' % (name, age))
# 格式化字符串除了%s,还可以写为f‘{表达式}’,f-格式化字符串是Python3.6中新增的格式化⽅法,该方法更简单易读。
print(f'我的名字是{name},明年{age + 1}岁了。')
# 案例:定义两个变量title='大白菜',price=3.5,按照如下格式进行输出:今天蔬菜特价了,大白菜只要3.5元/斤。
title = '大白菜'
price = 3.5
print('今天蔬菜特价了,%s只要%f元/斤。' % (title, price))
# 在Python中,浮点数还可以进一步格式化,比如保留2位小数 => %.2f
print('今天蔬菜特价了,%s只要%.1f元/斤。' % (title, price))
# 案例:定义两个变量id=1,name='ly',按照如下格式进行输出:姓名ly,学号000001
id = 1
stuname = 'ly'
print('姓名%s,学号%d' % (stuname, id))
# 在Python中,%d整数类型还可以进一步格式化,如保留6位,不足的在前面填充0
print('姓名%s,学号%06d' % (stuname, id))
'''
案例:由于受到俄罗斯与乌克兰战争影响,原油价格上浮5%!
记住:如果需要在百分号形式的格式化输出中输出一个百分号,我们可以通过%%来实现!
'''
num = 5
print('由于受到俄罗斯与乌克兰战争影响,原油价格上浮%d%%!' % (num))
- 输出
我的名字是ly,今年18岁了。
我的名字是ly,明年19岁了。
今天蔬菜特价了,大白菜只要3.500000元/斤。
今天蔬菜特价了,大白菜只要3.5元/斤。
姓名ly,学号1
姓名ly,学号000001
由于受到俄罗斯与乌克兰战争影响,原油价格上浮5%!
- format形式格式化输出
'''
基本语法:
print('字符串{}'.format(变量名称1))
print('{}字符串{}'.format(变量名称1, 变量名称2))
强调:.format()形式的格式化输出只能在Python3中使用!
案例:定义两个变量,name='孙悟空',mobile='18878569090',按照以下格式进行输出"姓名:孙悟空,联系方式:18878569090"
'''
name = '孙悟空'
mobile = '18878569090'
print('姓名:{},联系方式:{}'.format(name, mobile))
- 输出
姓名:孙悟空,联系方式:18878569090
- f简写形式格式化输出
# 案例:定义两个变量,name='孙悟空',mobile='18878569090',按照以下格式进行输出"姓名:孙悟空,联系方式:18878569090"
name = '孙悟空'
mobile = '18878569090'
print(f'姓名:{name},联系方式:{mobile}')
# 案例:定义两个变量title='大白菜',price=3.5,按照如下格式进行输出:今天蔬菜特价了,大白菜只要3.5元/斤。
title = '大白菜'
price = 3.5
print(f'今天蔬菜特价了,{title}只要{price:.2f}元/斤。')
# 案例:定义两个变量id=1,name='ly',按照如下格式进行输出:姓名ly,学号000001
id = 1
name = 'ly'
print(f'姓名{name},学号{id:06d}')
- 输出
姓名:孙悟空,联系方式:18878569090
今天蔬菜特价了,大白菜只要3.50元/斤。
姓名ly,学号000001
(4)转义字符
- \n :换⾏符。
- \t :制表符,一个tab键(4个空格)的距离。
- 在Python中,print(), 默认自带end=“\n” 这个换行结束符,所以导致每两个print 直接会换行展示,⽤户可以按需求更改结束符。
'''
在Python中,通过\字符表示的特殊形式就称之为转义字符。转义字符常见的有这样两种形式:
① \t :制表符,等价于一个Tab键或者4个空格
② \n :换行符,一旦在字符串中遇到了\n,则后面的内容自动另起一行
扩展:print()完整写法print(变量名称, end='\n')代表在输出变量以后,会自动在变量的后面追加一个\n
'''
print('hello\npython')
print('*')
print('*\t*')
print('*\t*\t*')
print('*\t*\t*\t*')
print('*\t*\t*\t*\t*')
# 扩展:思考一个问题,为什么每次使用print()打印变量以后都会自动换行呢?
name = '张三'
age = 23
print(name, end='')
print(age, end='')
- 输出
hello
python
*
* *
* * *
* * * *
* * * * *
张三23
8、Python的input()输入方法
(1)输入是什么
- 在Python中,程序接收用户输入的数据功能即是输入。
(2)input基本语法
'''
在Python中,输出我们可以使用print()方法实现。接收由外部设备输入的内容,我们则可以使用input()方法实现。
基本语法:
变量名称 = input('代表提示用户输入信息:')
但是如果程序只有input()其实没有任何意义,我们一般拿到这个数据以后,还需要进一步加工,所以建议定义一个变量保存用户的输入内容
'''
password = input('请输入您要交易的交易密码:')
print(f'您好,您输入的交易密码为:{password}')
(3)输入的特点
- 当程序执行到
input
,等待用户输入,输入完成之后才能继续向下执行。 - 在Python中,
input
接收用户输入后,一般存储到变量,方便使用。 - 在Python中,
input
会把接收到的任意用户输入的数据都当做字符串处理。
'''
input()除了可以接收数据以外,还隐藏了两个特殊的功能:
① input()方法,永远都是str字符串类型
② input()方法还具有一个"暂停"功能,阻塞后续代码的继续执行,直到用户输入完成以后,代码才可以继续向下执行
'''
content = input('请输入您要显示的内容:')
print(type(content))