目录
本篇及以后内容需要使用Python编译软件pycharm,关于pycharm的安装在上篇文章有详细说明,还没有安装的伙伴们可以先去看一看。 pycharm安装教程(安装必看)
一、Python概述
1. 编程语言
计算机的存在是来进行运算的,我们需要与计算机进行交互来完成我们需要的运算操作,那么制定的一套与计算机交互的语法规则就称之为编程语言。
【我们不熟悉一门语言就是因为不熟悉这门语言的语法规则,例如学习英语语句时老师会先讲语法规则,根据语法规则再进行语言的学习,所以学编程 === 学语法规则】
常见的编程语言有:Python、C、C++、C#、OC、php、html5、js、Java等等
2. Python简介
2.1 Python的发展史
Python由荷兰人Guido van Rossum于1989年发明的,第一个公开发行版发行于1991年
1999年:支持网站开发,负责后端。
2000年:2.0产生,这个时候构成了现在 python语言框架的基础。
2004年:经典版2.4被使用很久,同时 python的Web框架Django诞生了。
2008年10月:python2.6。
2008年12月:python3.0【之前 Python 的内容有很多重复的,就做了版本更新 升级为3.0,但是这个版本与之前的语言不兼容,所以就做了小版本更新,例如出现的2.6.1 …2.6.6做了语言之间的过渡】。
2010年:Python2.7【也就是2.6 与2.7是到3.0的一个过渡】。
Python2.x 是遗产, Python3.x 是现在和未来的语言
Python是一种比Java还要古老的编程语言,2010年之前关注度并不是特别高,但最近几年在大数据和机器学习方面得到了非常广泛的应用。在TIOBE Index最近发布的编程语言排行榜上,Python蹿升到了前3名的位置,是目前炙手可热的编程语言
2.2 Python的特点
- Python是一种解释性语言【开发过程中没有了编译这个环节,类似于PHP或者Perl语言】
- Python是交互式语言【这意味着,可以在一个 Python 提示符 >>> 后直接执行代码】
- Python是面向对象语言【Python支持面向对象的风格或代码封装在对象的编程技术】
- Python是跨平台的语言【它可以运行在Windows、Mac os或者Linux系统上,也就是说,在Windows上书写的Python程序,在Linux上也是可以运行的。类似于Java】
2.3 Python的优缺点
优点
- 易于学习【Python有相对较少的关键字,结构简单,有一个明确定义的语法,学习起来更加简单】
- 易于阅读【Python代码定义的更清晰】
- 易于维护【Python的成功在于它的源代码是相当容易维护的】
- 一个广泛的标准库【Python的最大优势之一是丰富的库,跨平台的,在nuix、windows和mac os上的兼容性很好】
- 互动模式【互动模式的支持,可以在终端输入执行代码并获得结果的语言】
- 可移植性【基于其开发源代码的特性,Python已经被移植到许多平台】
- 可扩展性【如果需要一段运行很快的关键代码,或者想要编写一些不愿开发的算法,可以使用C或者C++完成那部分程序,然后从你的Python程序中调用】
- 数据库【Python提供所有主要的商业数据库的接口,如:MySQL,MongoDB,Redis等】
- GUI编程(图形化界面)【Python支持GUI,可以创建和移植到许多系统调用】
- 可嵌入性【可以将Python嵌入到C或者C++程序,让使用程序的用户获得“脚本化”的能力】
缺点
- 运行速度慢【和C语言相比非常慢,因为Python是解释型语言,代码在执行时会一行一行的翻译成CPU能理解的机器码,这个翻译过程非常耗时,所以很慢,而C语言是运行前直接编译成CPU能执行的机器码,所以非常快】。
- 代码不能加密【如果要发布Python程序,实际上就是发布源代码,这一点跟C语言不同,C语言不用发布源代码,只需要把编译后的机器码(就是windows上常见的xxx.exe)发布出去,要从机器码反推出C代码是不可能的,所以,凡是编译型的语言,都没有这个问题,而解释型的语言,则必须把源码发布出去】。
3. Python的应用
3.1 Python在一些知名公司的应用
- YouTube:世界上最大的视频网站
- Dropbox:美国最大的在线云存储网站
- Facebook:是美国的一个社交网络服务网站
- 知乎:国内最大的问答社区
- 春雨医生:国内知名的在线医疗网站
- 搜狐、豆瓣、腾讯、网易、百度、阿里、淘宝、土豆、新浪等
3.2 Python擅长的领域
- Web开发:Python可以实现后端开发,使用Flask或Django框架较多
- 爬虫:数据采集
- 数据分析:Python,Excel,Power BI ,SPSS等
- 机器学习/数据挖掘:算法
- 自动化测试:爬虫selenuim
- 自动化运维
- 人工智能
二、第一个Python程序和注释
1. 第一个Python程序
print("hello world!") # 我的第一个Python程序和注释
运行后可能出现的问题:程序无法运行,原因可能是Python环境丢失或者无效。
解决方案:
Windows: 左上角file —> settings —> Python Project —> Python interpreter —> 加载Python环境
Mac:左上角PyCharm—> Preferences—> Python Project —> Python interpreter —> 加载Python环境
2. 第一个Python注释
注释是编写程序时,写程序的人给代码做的一些解释和提示,能提高代码的可读性,以便于以后的参考和修改。注释是解释性文本,在运行程序时,会被程序跳过,不作处理【简单来说,在程序中出现的任何内容,如果不想被执行,都可以使用注释来进行处理】。
- 单行注释。写在 # 后面
- 多行注释【块注释】
a. 三个单引号包裹
b. 三个双引号报告
# 单行注释
'''
多行注释。三个单引号包裹
'''
"""
多行注释。三个双引号包裹
"""
# 如果要一次性注释多行代码或取消多行代码的注释,则可以采用快捷键
# 首先选中代码,Windows:ctrl + / Mac:command + /
三、关键字和标识符
1. 关键字
Python关键字也被称为保留字,它是官方所定义的,具有特殊含义的单词,开发者不能使用这些单词作为变量、函数、类等自定义的名称。
Python常见的关键字
False | class | from | or |
---|---|---|---|
None | continue | global | pass |
True | def | if | raise |
and | del | import | return |
as | elif | in | try |
assert | else | is | while |
except | lambda | with | finally |
nonlocal | yield | break | for |
not |
注意:关键字区分大小写。
如果想要知道这些关键字的具体作用,可以使用内置函数help()查看。
help("class") # 查看“class”关键字说明
help("if") # 查看“if”关键字说明
2. 标识符
2.1 什么是标识符
在Python程序中自定义的一些字符名称。
2.2 合法标识符的规则和规范
规则:规则必须遵守,如果不遵守代码会报错。
- 只能由数字,字母,下划线组成,不可以是其他的特殊字符【&,*,¥等】
- 开头不能是数字或者空格,不能是Python的关键字,如:if
- while,for,import… 严格区分大小写,小写的a和大写的A是两个不同的标识符
规范:规范可以不遵守,但是代码不美观
- 尽量做到见名知意:尽量使用具有描述性的简单的英文单词
- Python官方推荐的写法:所有字母全部小写,不同单词之间使用下划线连接,如:stu_name
- 遵循驼峰命名法则:不同的单词之间使用首字母大写的方式进行分隔
小驼峰:首单词正常,从第二个单词开始首字母大写,例如:highScore
大驼峰:从首单词开始每个单词的首字母均大写,例如:HighScore,面向对象中类的定义使用大驼峰
四、输入输出
1. 输出print
- print()是一个系统功能,表示输出,将指定的数据输出到控制台上
- print(values值,sep分隔,end结束,file文件,flush刷新)
# 1.基本使用【掌握】
# a. print():表示换行
print("start") # start
print() # (换行)
print('over') # over
# b. 输出单个数据
print('abc') # abc 'xx',"xxx" 字符串类型
print(19) # 19 数字型:整型
print(23.5) # 23.5 数字型:浮点型
# c. 输出多个数据
print(23,56,7,87,9,9,'abc','3443',19) # 23 56 7 87 9 9 abc 3443 19
# 2.进阶使用
# a. sep:分隔符,当输出多个数据的时候,默认使用空格分隔,也可以自定义其他符号
print(23,56,7,87,9,9,'abc','3443',19) # 23 56 7 87 9 9 abc 3443 19
print(23,56,7,87,9,9,'abc','3443',19,sep=' ') # 23 56 7 87 9 9 abc 3443 19
print(23,56,7,87,9,9,'abc','3443',19,sep='*') # 23*56*7*87*9*9*abc*3443*19
print(23,56,7,87,9,9,'abc','3443',19,sep='@@@@@') # 23@@@@@56@@@@@7@@@@@87@@@@@9@@@@@9@@@@@abc@@@@@3443@@@@@19
# 当输出单个数据的话,sep不起作用
print(10,sep='*') # 10
# b. end:结束符,当一个print执行完毕,默认会有\n进行换行,也可以自定义成其他符号
print('aaaa') # aaaa
print('aaaa',end='\n') # aaaa (aaaa下面有换行)
print('aaaa',234,56,67,8,89,9,end='***') # aaaa 234 56 67 8 89 9***
2. 输入input
- input()是一个系统功能,表示输入,从控制台输入指定的数据,然后将数据获取到程序中。
- input()的工作原理:代码从上往下执行,当执行到input的时候,程序会进入阻塞状态。目的是为了等待用户的输入,当用户输入完毕,按下回车键,则表示输入完成,用户输入的数据会获取到程序中。
# 1.基本用法
# 语法:标识符 = input('提示信息')
print('start~~~~~') # start~~~~~
data = input("请输入内容:") # 等待用户输入。用户输入完成后将输入的数据赋值给data变量
print('end~~~~~~~',data) # end~~~~~~~ '输入的内容'
# 注意问题:从控制台输入的数据,无论什么数据,通过input获取到程序中,都是字符串