一、初始python
- python简介
- python历史
- python优缺点
- python应用领域
- 开发工具介绍
- 常用快捷方式
control+/ ------单行注释
control+s -----保存
control+b -----编译(编译执行)
control+n -----新建文件
control+c -----复制
control+v -----粘贴
control+a -----全选
control+x -----剪切
control+z -----撤销
control+y/ conteol+shift -----反撤销
按住control不放,让鼠标可以在多个位置设置光标
control+f-------弹出搜索框
二、python基础语法
1.注释
注释就是代码源文件中,用来进行注解说明的文字,不会对代码的功能产生任何影响
注意:好的代码和好的程序员,需要对代码通过注释进行说明
单行注释 +#
"""
这是多行注释
"""
'''
这是多行注释
'''
编程语言中涉及到的所有的符号,都是指的英文输入法状态下的符号
2.标识符
"""
标识符是用来命名用的。(比如:变量名、类名、函数名)
a.标识符是由字母、数字和下划线组成,并且数字不能该开头(硬性要求) ----prthon3.x中,标识符里面可以有中文
b.不能是关键字(保留字)(硬性要求)
c.大小写敏感(区分大小写,aaa和Aaa、AAA、AAa是不一样的)
d.要见名知义(规范)
e.不推荐使用python中的内置函数、类名去作为标识符(规范)
查找关键字
"""
3.关键字
系统保留的有特殊功能或者特殊意义的一些单词。这些单词是不能用来给变量\函数\类等命名的
[import keyword
print(keyword.kwlist)
结果如下
['False', 'None', 'True', 'and', 'as', 'assert', 'break',< br/>
'class', 'continue', 'def', 'del', 'elif', 'else', 'except',< br/>
'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is',< br/>
'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', < br/>
'try', 'while'< br/> 'with', 'yield']
4.行与缩进
"""
缩进:每一行代码的位置,与行开头位置之间的的空格
在python中,缩进的写法有严格的规范。同一级的代码,必须在同一个缩进下面
如果在不该有空格产生的位置出现了多余的空格,程序会报错(unexpected indent)
如果在需要缩进的时候没有缩进,也会报错
关于行的规范:
函数的声明的前后必须要有两个换行。一般一个功能实现完,实现下一个功能的时候最好也换行
"""
5.多行语句
"""
一条语句在多行显示。
a.在需要换行的地方加反斜杠(),然后再换行
b.字典、列表、集合和元组等容器类型数据的字面量,再多行显示的时候可以直接换行
python中,一条语句结束可以不写分号;但是如果一行中要写多条语句,那么每条语句之间必须使用分号隔开
"""
6.字面量
数据类型对应的具体的值
"""
10,100,-12 --->整数
12.5,3.1415926 --->小数
'hello world','123','abc' --->字符串
True,False --->布尔值
[1,2,'yu','cc']--->列表
"""
7.python中的基本数据类型
数字(整型(int)、浮点型、布尔、复数)、字符串(str)、列表(list)、字典(dict)、集合(set)、元组(tuple)、none-->代表没有和空
"""
整型:int (在python2.x有long)
浮点型:float -->包含所有的小数
布尔:bool -->值只有True和False
复数:complex -->值包含所有的复数
"""
可以通过type函数查看数据的类型:type(数据)
print(type(11e2))
结果
三、变量
1. 什么是变量
在程序中可以通过变量来存储数据(容器)
2.怎么声明变量
严格来说,python中的变量是不需要声明的,直接通过赋值符号(=)给变量赋值,就是在声明变量
因为python是动态语言,在声明变量的时候,不需要指定变量的类型,并且同一个变量可以赋不同类型的值
格式: 变量名 = 值
变量名:标识符,PEP8的命名方式(所有的字母都小写,多个单词之间用下划线隔开,例如user_name)
声明了一个变量age,并且赋值给18
赋值
age = 18
print(age)
结果
18
使用变量的时候,就相当于使用变量中存的值
student_age = 18
print(type(student_age))
结果
1.如果重新给一个变量赋值那么新赋的值会覆盖原来的值
2.同一个变量可以
student_age =18.5
print(student_age)
print(student_age,type(student_age))
结果
18.5
18.5
补充:
一个数据有type(类型)、id(数据存储在计算机中的地址)、value(值)三个属性
变量存储数据的时候,有两种情况。第一种情况,存value --->数字类型、字符串,第二种情况:存id --->字典、列表、集合、元组、类的对象等
四、运算符
数学运算符、比较运算符、逻辑运算符、赋值运算符、位运算符
1.数学运算符(+、-、、/、%、*(幂计算)、//)
+:求和
注意:求和操作,+两边必须是数字类型
True -->1 False -->0
print(10+20,True+1)
-:求差
print(100-12)
结果
82
*:求乘积
print(3.12*2)
6.24
/:求商
print(4/2,5/2)
2.0 2.5
%:求两个数相除的余数
print(3%2)
:幂运算
x**y:求x的y次方
浮点数在计算中存储的时候,有的时候会有一定的误差
number=2**3
print(number)
结果
8
//:整除
求商,但是只取商的整数部分
print(8//3)
结果
2
取2345中的4
print(2345%100//10)
print(2345//10%10)
结果
4
4
2.比较运算符
、<、==、>=、<=、!=
比较运算符的结果全是布尔:True、False
x>y:判断x是否大于y,如果是 结果是True,否则是False
result = 10>20
print(result,100>20)
结果
False Ture
<
与>相反
print(12<23)
结果
Ture
==
x==y:如果x和y相等结果是True,否则是False
number = 22
number2 = 23
print(number == number2)
结果
False
=、<=
13>=12 #True
23<=25 #True
!=
x !=y:如果x和y不相等,结果是True,否则是False
在python中,可以像数学中一样连续判断
number3 = 15
result = 10
结果
Ture
3.逻辑运算符
与(and)、或(or)、非(not)
逻辑运算符的运算数据是布尔值,结果也是布尔值
布尔1 and 布尔2:两个都为Ture结果才是Ture,否则都是False
需要两个或多个条件同时满足,就使用逻辑与布尔1 or 布尔2:只要有一个是Ture,结果就是Ture;两个都是False结果则是False
需要两个或者多个条件中满足一个就可以,就使用逻辑或not 布尔1: 如果是Ture,结果就是False;如果是False,结果就是Ture
需要不满足某个条件的时候才为Ture
写一个条件,判断一个的年龄是否满足青年的条件(年龄大于18并且小于28)
age = 20
print(age>18 and age<28)
结果
Ture
平时成绩大于90分,或者操评分大于100,并且英语成绩还不能低于80
score = 80
score2 = 90
english = 70
print('===',score>90 or score2>100 and english>=80)
结果
False
成绩不低于60
score = 70
print(score >= 60)
print(not score<60)
结果
Ture
4.赋值运算符
"""
=、+=、-=、=、/=、%=、*=,//=
赋值运算符额作用:将赋值符号右边的表达式的值赋给左边的变量
表达式:有结果的语句,例如:10,'abc',10+20,30>10.5等
赋值符号左边必须是变量
右边的结果,然后再把结果赋给左边的值
赋值符号,是先算
number =100
number +=10 #相当于:number =number+10
print(number)
结果
110
5.运算符的优先级
优先级从低到高:赋值运算符<逻辑运算符<比较运算符<算术运算符
算术运算符中:先幂运算乘除取余取整再加减
如果你不确定运算顺序,可以通过添加括号来改变运算顺序。有括号就先算括号里面的
result =10+20>15 and 7*8<30+60
print(result)
print(10+20*3/2-10%3)
True
39.0
五、进制转换
数据在计算机中的存储,存的都是二进制数(01010101...)
十进制、二进制、八进制、十六进制
- 十进制
基数:0,1,2,3,4,5,6,7,8,9,
特点:逢10进1
二进制
基数:0,1
特点;逢2进1
101011 = 1(2^0)+1(21)+0*(22)+1(2^3)+1(2^4)+1(25)八进制
基数:0,1,2,3,4,5,6,7
特点:逢8进1十六进制
基数:0-9,a-f(A-F)a=10,b=11,c=12,d=13,e=14,f=15
特点:逢16进1
2f=47
进制之间的转换
十进制转换成其他进制:整除取余法
八进制转二进制:一位八进制转换成三位二进制==>23=010011
十六进制转二进制:一位十六进制转换成四位的二进制 -->2f = 00101111
python中的二进制,八进制和十六进制
默认的数字都是十进制
169 #10进制数
a.基数是0,1,并且数字前加前缀0b表示二进制
0b1101
bin(整数)-->将其他进制的整数转换成二级制数
print(bin(10))
0b1010
b.基数是0-7,数字前面加前缀0o/0O表示八进制
0o176
oct(整数) -->将其他进制的整数转换成八进制
print(oct(10))
0o12
c.基数:0-9,a-f(A-F,并且数字前加0x/0X表示十六进制
0x1a
print(hex(10))
0xa