之所以有python的出现,是因为Python的作者吉多·范罗苏姆(Guido van Rossum)在学习和使用了其他语言(如:C/C++、Pascal、shell等)之后,希望能够得到一个既能够像C语言那样,能够全面调用计算机的功能接口,又可以像shell那样可以轻松的编程的语言。于是1991年,第一个Python编译器(同时也是解释器)诞生。它是用C语言实现的,从一出生,Python已经具有了:类(class),函数(function),异常处理(exception),包括表(list)和词典 (dictionary)在内的核心数据类型,以及模块(module)为基础的拓展系统。
Python崇尚优美、清晰、简单,是一个优秀并广泛使用的语言,是一个有着自己哲学的语言。有那么一句关于python的座史铭:人生苦短,我用python。可见使用python编程将是一件多么有趣的事情!
Python的意思是蟒蛇,由于作者是当时风靡全球的英国六人喜剧团体,巨蟒剧团(Monty Python)的忠实粉丝,所以,就把此计算机语言的名字叫做:Python
1991年,第一个Python编译器(同时也是解释器)诞生。
Python目前有两个版本,Python2.x和Python3.x,现阶段用的比较多的是Python3.x
我们编写代码时会得到一个.py结尾的文件,要想运行执行此文件就需要python解释器
解释器由一个编译器和一个虚拟机构成,编译器负责将源代码转换成字节码文件,而虚拟机负责执行字节码。
所以,解释型语言其实也有编译过程,只不过这个编译过程并不是直接生成目标代码,而是中间代码(字节码),然后再通过虚拟机来逐行解释执行字节码。
打开官网:http://www.python.org
选择相应系统,点击下载文件,即可下载(自动)。
如果希望选择不同版本,则需要选择不同操作系统下的版本。
选择“Install Now”,并勾选下面的Add Python3.7 to PATH(此处是自动配置环境变量),之后默认安装完成
如果Step1中未勾选下面的Add Python3.7 to PATH,安装成功后就需要配置环境变量。因为我安装过程中勾选了,因此通过我的电脑 - 属性 - 高级设置 - 环境变量,可以查看如下图:
点击开始菜单,运行命令cmd,进行dos模式,输入python,即可进行python的交互式环境:
PyCharm是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制。此外,该IDE提供了一些高级功能,以用于支持Django框架下的专业Web开发。
PyCharm的下载网站:Download PyCharm: Python IDE for Professional Developers by JetBrains
下载”professional”,专业版
Step1:在弹出的PyCharm安装欢迎页面中,点击“Next按钮”进入下一步
Step2:根据your computer处理器选择32位或64位,创建桌面快捷方式、关联*.py文件
Step3:选择开始菜单文件夹,选择Install
Step4:开始安装
Step5:安装完成,立刻运行Pycharm
Step6:选择是否导入开发环境配置文件,此处选择不导入
Step7:阅读和接受这些条款和协议,毫无疑问,果断接受
Step8:注册码:软件激活方式
Step9:漂亮的原谅色界面就出现了
Step10:点击创建新项目
Step11:自定义项目存储路径,默认关联Python解释器,点击Create
Step12:新建项目后,新建python文件
Step13:新建hello.py文件,输入print('hello world!')
Step14:选择文件右键,选择“Run hello”,在控制台输出” 'hello world”
变量
标识符
保留字
常量
注释
变量基本上就是代表某值的名字,用来存储一些之后可能会变化的值。
在Python中,变量的使用环境非常宽松,等号( = )是赋值语句,可以把任意数据类型赋值给变量。
如下为定义一个名为name的变量:
>>> name='smith'
此操作解释:name是我们创建的变量,=是赋值语句, smith是变量值,需要用引号标记。整句话的意思为:创建变量name并赋值为smith 。(注意:字符串必须以引号标记开始,并以引号标记结束。)
标识符是开发人员在程序中自定义的一些符号和名称,标识符是自己定义的,如变量名 、函数名等。一个标识符可以是大写或者小写字母、数字、下划线任意顺序组合,但不能以一个数字开始。否则容易与数字、常量相混淆。python是区分大小写
见名知意
起一个有意义的名字,尽量做到看一眼就知道是什么意思(提高代码可 读性) 比如: 名字 就定义为 name , 定义学生 用 student
驼峰命名法
驼峰式命名法(lower camel case): 第一个单词以小写字母开始;第二个单词的首字母大写,例如:myName、aDog
保留字即关键字,我们不能把它们用作任何标识符名称。Python 的标准库提供了一个 keyword 模块,可以输出当前版本的所有关键字
>>> keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
常量表示“不能变”的变量
Python中是没有常量的关键字的,只是我们常常约定使用大写字母组合的变量名表示常量,也有“不要对其进行赋值”的提醒作用
如同我们在看书时做笔记一样
Python语言会通过注释符号识别出注释的部分,将它们当做纯文本,并在执行代码时跳过这些纯文本
在Python语言中,使用 # 进行行注释
多行注释使用连续单个单引号或者双引号
Python3 中有六个标准的数据类型:Number(数字)、String(字符串)、Boolean(布尔)、List(列表)、Tuple(元组)、Sets(集合)、Dictionary(字典)。后面4种之后的课程再讲
不可变数据(4个):Number(数字)、String(字符串)、Tuple(元组)、Boolean(布尔)
可变数据(3个):List(列表)、Dictionary(字典)、Set(集合)。
Python3支持三种不同的数值类型:
整型(int)、浮点型(float)、复数(complex)。
整型(int),通常被称为是整型或整数,是正或负整数,不带小数点。
•整型加法如下:•>>> 25+25•50•整型减法:•>>> 51-50•1•整型乘法:•>>> 51*2•102•整型除法:•>>> 153/51•3.0•>>> 155/513.0392156862745097
在整数除法中,除法(/)计算结果是浮点数,即使是两个整数恰好整除,结果也是浮点数,如果只想得到整数的结果,丢弃可能的分数部分,可以使用地板除(//),整数的地板除(//)永远是整数,即使除不尽。
改成如下写法:
>>> 153//51
3
>>> 155//51
3
地板除(//)只取结果的整数部分,Python还提供一个余数运算,可以得到两个整数相除的余数。如下:
>>> 153%51
0
>>> 155%51
2
浮点型(float),浮点型由整数部分与小数部分组成,浮点型也可以使用科学计数法表示。
先看示例:•>>> 3.3*102•336.59999999999997按预计应该一位小数,但输出结果却有这么多位小数。是因为整数和浮点数在计算机内部存储的方式是不同的,整数运算永远是精确的,而浮点数运算则可能会有四舍五入的误差。
如下输入:
>>> 3.3*102+15.5
352.09999999999997
浮点除法:
>>> 153/51.0
3.0
>>> 155/51.0
3.0392156862745097
浮点地板除:
>>> 155//51.0
3.0
>>> 155%51.0
2.0
复数( (complex)),复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型。
Python支持复数,Python的复数我们当前阶段使用或接触的比较少,此处就不做具体的讲解,有一个概念即可,有兴趣可以自行查阅相关资料。
a=4.7+0.666j #定义一个复数
print(a) #输出这个复数
print(a.real) #输出实部
print(a.imag) #输出虚部
字符串是 Python 中最常用的数据类型。我们可以使用引号('或")来创建字符串
var1 = 'Hello World!'
Python字符串运算符
Python字符串格式化%
•Python 支持格式化字符串的输出 。尽管这样可能会用到非常复杂的表达式,但最基本的用法是将一个值插入到一个有字符串格式符 %s 的字符串中。•print("我叫%s今年%d岁!" % ('小明', 10))•输出结果:我叫小明今年10岁!
str.format()
Python字符串格式化符号:
Python三引号
python三引号允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符
三引号让程序员从引号和特殊字符串的泥潭里面解脱出来。
一个典型的用例是,当你需要一块HTML或者SQL时,这时用字符串组合,特殊字符串转义将会非常的繁琐。
注意:在 Python2 中是没有布尔型的
它用数字 0 表示 False,用 1 表示 True。
到 Python3 中,把 True 和 False 定义成关键字了,但它们的值还是 1 和 0,它们可以和数字相加。
True 数字1、'0'、[0]自动转化
False 数字0、空字符串''、空列表 []、空字典{}自动转化
运算符我知道,我们前面学习的加(+)、减(-)、乘(*)、除(/)、地板除(//)、取余(%)等都是运算符,是一些特殊符号的集合。操作对象就是由运算符连接起来的对象。
Python支持以下8种运算符:
•(1)算术运算符。(2)比较(关系)运算符。•(3)赋值运算符。(4)逻辑运算符。•(5)位运算符。 (6)成员运算符。•(7)身份运算符。(8)运算符优先级。
以下变量a为10,变量b为5:
以下变量a为10,变量b为20:
以下变量a为10,变量b为20:
按位运算符是把数字看作二进制来进行计算的。Python中的按位运算法则如下。以下变量a为60,变量b为13:
Python语言支持逻辑运算符,以下变量a为10,变量b为20:
Python还支持成员运算符,测试实例中包含了一系列的成员,包括字符串,列表或元组。
身份运算符用于比较两个对象的存储单元
以下表格列出了从最高到最低优先级的所有运算符:
Python的输出
•输出比较简单,直接向屏幕上输出指定文字,例如‘hello world’,使用如下代码即可•>>> print('hello world')•输出多个字符串使用‘,’逗号隔开,就可以连成一串输出•>>>print('hello world', 'hello python')
Python的输入
•input() 可以让用户输入字符串并保存到变量•name=input('请输入您的名字:') #提示用户输入名字•print("您好!%s" %name)
条件语句能够改变Python程序的执行流程, 是执行这个代码块还是另一个代码块。
凡是需要判断来确定下一步如何执行的程序都要使用条件语句。
(1)单分支
格式:
if(表达式):
语句序列
功能:如果条件表达式的值为真,则执行后面的语句序列。
(2)双分支
格式:
if(表达式):
语句序列1
else:
语句序列2
功能:如果“条件表达式”的判断结果为真,则执行语句序列1;否则,执行语句序列2。
if/elif语句是if语句的扩展版本,它包含多个条件,用于作出复杂的决策。
假设航空公司提供了儿童优惠票价:不超过2岁的儿童免票;2-13岁的儿童打折;13岁及以上儿童与成人同价。
if 语句内还可以使用if语句,这样就构成了if语句的嵌套。
•格式:if(表达式1):
if(表达式2):语句序列1
elif(表达式3):语句序列2
…
else:语句序列3
elif(表达式n):
…
else:
…
循环用于重复地执行代码块。
Python中有两种主要的循环:for循环和while循环。
for循环通常比while循环更容易使用,也不那么容易出错,但没有while循环灵活。
格式:For 变量 in 集合:
…
功能:每次从集合中取出一个值,并把值赋给变量。集合可以是元组、列表、字典等数据结构.说明:•for循环通常与range()函数一起使用,range()函数返回一个列表,for循环遍历列表中的元素。•Range()函数格式:range(start,stop[,step]),参数start表示列表开始值,默认为0;参数stop表示列表结束值,不能缺省,循环到stop-1停止;参数step表示步长,默认值为1。
格式:While条件表达式:
语句序列
功能:当条件表达式为真时,依次执行while中的语句,直到循环表达式的值为假。
一般来说,固定次数的循环问题使用for循环和while循环都可以解决,而循环次数不固定的循环问题只能使用while循环解决。
与条件语句相同,循环也可以嵌套。
与C、C++类似,在Python中除了提供顺序执行和选择控制、循环控制语句外,还提供了一类跳转语句。这类语句的总体功能是中断当前某段程序的执行,并跳转到程序的其他位置继续执行。
Python的跳转语句有:break语句和continue语句。
break 语句可以跳出 for 和 while 的循环体
continue语句被用来告诉Python跳过当前循环块中的剩余语句,
然后继续进行下一轮循环
循环语句可以有 else 子句,它在穷尽列表(以for循环)或条件变为 false (以while循环)导致循环终止时被执行,但循环被break终止时不执行
pass是空语句,是为了保持程序结构的完整性。
pass 不做任何事情,一般用做占位语句