一、Python的发展
是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于1991年,Python2.x版本首发于2001年,Python3.x版本首发于2009年,现在Python3.x是主流版本,Python3.x版本以后不向下兼容。IEEE发布2017年编程语言排行榜中Python高居首位。2018年3月,该语言作者在邮件列表上宣布Python 2.7将于2020年1月1日终止支持。用户如果想要在这个日期之后继续得到与Python 2.7有关的支持,则需要付费给商业供应商。
二、Sublime的使用技巧
sublime中有一些常用的的快捷方式,这些快捷方式可以提高我们的开发效率。
ctrl + / ----- 单行注释
ctrl + s ----- 保存
ctrl + b ----- 编译(编译执行)
ctrl + n ----- 新建文件
ctrl + c ----- 复制
ctrl + v ----- 粘贴
ctrl + a ----- 全选
ctrl + x ----- 剪切
ctrl + z ----- 撤销
ctrl + y / ctrl + shift + z ----- 反撤销
ctrl + 鼠标左键 ----- 同时在多个位置设置光标
ctrl + f ----- 弹出搜索框
三、Python的基础语法知识
1.基本注意事项
- 版本号格式:A.B.C A-->重大修改(不向下兼容)B-->添加新的功能 C-->修复bug
- 编程语言中涉及到的符号,都是指的英文输入法状态下的符号
2.print函数
要点:
- print函数是python内置的函数,作用是在控制台打印该函数中的内容
- ()里面的单/双引号,是字符串的标志,不是内容
- print()函数可以打印所有类型的变量
- python2.x中,print函数的用法是:print 'hello world'
- python3.x中,print函数的用法是:print("Hello World!")
示例:
print("Hello World!")
print(1+2)
结果:
Hello World!
3
3.注释
要点:
- 注释就是代码源文件中,用来注解说明的文字,不会对代码的功能产生任何影响
- 注意:好的代码和好的程序员,需要对代码通过注释进行说明
- 提高代码的可读性,有利于代码后期的开发和维护
具体使用方法:
单行注释方式:# 后跟注释内容
快捷操作:ctrl + /
# 我是单行注释
多行注释方式:成对的3个双引号或者3个单引号
"""
这是多行注释
"""
'''
这是多行注释
'''
4.标识符
要点:
- 标识符是用来程序中命名用的。(比如:变量名、类名、函数名)
- 标识符是由字母、数字和下划线组成,并且数字不能开头(硬性要求) ----- python3.x中标识符中可以有中文(不推荐)
- 不能是关键字(保留字)(硬性要求)
- 大小写铭感(区分大小写)
- 要见名知意(规范)
- 不推荐使用python中的内置函数、类名作为标识符(规范)
示例:
变量1 = 2
print('变量1:', 变量1)
结果:
变量1: 2
5.关键字
要点:
- 系统保留的有特殊功能或者特殊意义的一些单词。这些单词不能用来命名变量/函数/类
查看python中的关键字:
import keyword
print(keyword.kwlist)
结果:
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', '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']
6.行与缩进
缩进:代码书写的位置和行开头的位置之间的空格。
在python中缩进的写法有严格的规范。同一级的代码必须写在同一个缩进下面。
如果在不该有空格产生的位置出现了多余的空格,程序会报错(IndentationError)。
在需要缩进的时候没有缩进会报错。
关于行的规范:
函数和类的声明的前后必须有两个换行,一般一个功能实现完,实现显下一个功能时换行。
示例:for循环内的语句需要缩进。
for i in range(10):
print(i)
7.多行语句
要点:
一条语句在多行显示
a.在需要换行的地方加反斜杠(\),然后换行
b.字典、列表。集合和元组等容器类型数据的字面量,在多好现实的时候可以直接换行python一条语句结束后可以不写分号;如果一行中要写多条语句,必须用分号隔开。
示例:
print('这是一条很长的语句句\
句句句句句句句句句句句句句句\
句句句句句句句句句句句句句句句句句句句句句句句句句句')
print([1,2,3,4,5,
6,7,8,9,
10,11,12])
print('hello'); print('world')
结果:
这是一条很长的语句句 句句句句句句句句句句句句句句 句句句句句句句句句句句句句句句句句句句句句句句句句句
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
hello
world
8.字面量
要点:
- 数据类型对应的具体的值
示例:
10,100,-12 --> 整形
12.5,3.1415936,-0.13 --> 浮点型
12e2,9e-2 --> 浮点型(科学计数法)
9 + 10j --> 复数
'hello world','123',"123","!sdf2" --> 字符串
True,False --> 布尔型
[1,2,'yang','234'] --> 列表
{'a' : 1, 'b' : 2} --> 字典
9.Python中的基本数据类型
Python中的基本数据类型有:数字(整形(int)、浮点型(float)、布尔型、复数)、字符串(str)、列表(list)、字典(dict)、集合(set)、元组(tuple)、none(代表空)
- 整形:int (在python2.x中有long) --> 值是所有的整数
- 浮点型:float --> 包含所有的小数
- 布尔型:bool --> 值只有True和False
- 复数:complex --> 值包含所有的复数
要点:
可以通过type()函数查看数据类型
示例:
print(type("hello"))
print(type(10e2))
结果:
<class 'str'>
<class 'float'>
四、变量
要点:
- 在程序中可以通过变量来存储数据(容器)
- 严格的来说,python中额变量是不需要声明的,可以直接赋值符号(=)给变量赋值,就是在声明变量
- 因为python是动态语言,在声明的时候,不需要指定变量的类型,并且同一个变量可以赋不同类型的值
- 格式:变量名 = 值
- 变量名:标识符,PEP8的命名方式(所有的字母小写,多个单词间用'_'隔开,例如:user_name)
- 驼峰式命名:第一个单词的首字母小写,后面额单词首字母大写(例如:userName)
- 一个数据有type(类型)、id(数据存储在计算机中的地址)和value(值)三个属性
- 变量存储数据的时候,有两种情况。第一种:存value --> 数字、字符串类型;第二种:存id --> 字典、元组、列表、集合、类和对象等
示例:
age = 18
print(age)
student_name = 'mark'
print("学生的名字为:",student_name, type(student_name))
# 查看grade的存储地址
grade = 9
print(id(grade))
结果:
18
学生的名字为: mark <class 'str'>
140734625666336
五、运算符
Python的运算符有:数学运算符、比较运算符、逻辑运算符、赋值运算符、位运算符(针对二进制的每一位)
1.数学运算符
Python中的数学运算符有:+、-、*、/、%、**、//
要点:
- +:求和
注意:求和操作,+两边必须都是数字类型
Ture --> 1 False --> 0 - -:求差
- *:求乘积
- /:求商
- %:求余数
- **:幂运算
x ** y: 求x的y次方
浮点数在计算机存储的时候,有的时候会有一定的误差 - //:整除
求商,只求商的整数部分
示例:
取2345的4
#方法一
print(2345%100//10)
#方法二
print(2345//10%10)
#方法三
*first,middle,last = '2345'
print(middle)
结果:
4
4
4
2.比较运算符
Python的比较运算符有:>、<、==、>=、<=、!=
比较运算符的结果全是布尔型:True、False
要点:
- >:
A > B:判断A是否大于B,如果是结果是True,否则是False - <:
A < B:判断A是否小于B,如果是结果是True,否则是False - ==:
A == B: 如果A和B相等,结果为True,否则为False - >=:
A >= B:判断A是否大于等于B,如果是结果是True,否则是False - <=:
A <= B:判断A是否小于等于B,如果是结果是True,否则是False - !=:
A != B:如果A和B不相等,结果为True,否则为False - 在python中可以像数学中一样连续判断
示例:
num = 10
print(5<num<15)
结果:
True
3.逻辑运算符
Python的逻辑运算符有:与(and)、或(or)、非(not)
要点:
- 逻辑运算符的运算数据是布尔值,结果也是布尔值
- A and B:A和B都为True时结果为True
- A or B:有一个或者两个为True,结果为True,都为False时结果为False。
- not A:如果是True,结果为False,反之为True。
示例:
age = 22
print(age > 18 and age < 28)
结果:
True
4.赋值运算符
Python的赋值运算符有:=、+=、-=、*=、/=、%=、**=、//=
要点:
- 赋值运算符的作用:将赋值符号右边的表达式的值赋值给左边的变量
- 表达式:有结果的语句,例如:10,'abc',10+20,30>6等
- 赋值符号的左边必须是变量
- 赋值符号是先算右边的结果,然后把结果赋值给左边额变量
示例:
number = 100
number += 10 # number += 10 同等于 number = number + 10
print(number)
number *= 2 # 同等于 number = number * 2
print(number)
number /= 5 # 同等于 number = numbere / 5
print(number)
结果:
110
220
44.0
5.运算符的优先级
优先级从低到高:赋值运算符<逻辑运算符<比较运算符<算术运算符
算数运算符中:先幂运算再乘除取余取整最后加减
如果不确定运算顺序,可以通过添加括号来改变运算顺序,括号优先级最高
六、进制转换
数据在计算机中的存储,存的都是二进制数
1.认识十进制、二进制、八进制、十六进制
- 十进制
基数:0,1,2,3,4,5,6,7,8,9
特点:逢10进1
12345= 5100+4101+3102+2103+110*4 - 二进制
基数:0,1
特点:逢2进1
1111 = 120+121+122+12**3
= 1+2+4+8
= 15 - 八进制
基数:0,1,2,3,4,5,6,7
特点:逢8进1
24 = 480+28**1
= 4+16
= 20 - 十六进制
基数:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
特点:逢G进1
A8 = 8160+1016**1
= 8+160
= 168 - 进制间的转换:
十进制转换成其他进制:整除取余法
八进制转二进制:一位八进制转换为3位二进制 --> 23 = 010 011
十六进制转二进制:一位十六进制转换为4位二进制 --> 23 = 0010 0011
2.python中的二进制、八进制、十六进制
- 十进制数
169 ----- 十进制数 - 二进制数
0b1111 ----- 二进制数(基数是0,1,并且前缀为0b或0B)
bin(整数) ----- 其他进制的整数转换为二进制数
示例:
print(bin(10))
print(bin(0o10))
print(bin(0x2f))
结果:
0b1010
0b1000
0b101111
- 八进制数
0o164 ------ 八进制数(基数是0到7,并且前缀为0o或0O)
oct(整数) ------ 其他进制的整数转换为八进制数
示例:
print(oct(0b1111))
print(oct(10))
print(oct(0x2f))
结果:
0o17
0o12
0o57
- 十六进制数
0x2f ------ 十六进制数(基数是0到f,并且前缀为0x或0X)
hex(整数) ------ 其他进制的整数转换为十六进制数
示例:
print(hex(0b1111))
print(hex(0o164))
print(hex(10))
结果:
0xf
0x74
0xa