一.python 入门
初始python
python的历史
python的优缺点
python应用
编程工具:IDLE,IPython,Sublime
常用快捷方式:
ctrl+-->添加单行注释,ctrl+s-->保存,ctrl+b-->编译执行,ctrl+n-->新建文件,ctrl+c-->复制,ctrl+v-->粘贴,ctrl+a-->全选,ctrl+x-->剪切,ctrl+z-->撤销,ctrl+y-->反撤销,ctrl+f-->弹出搜索框
print函数是Python内置函数,作用是在控制台打印print后面()的任何内容
在python2.x中,print‘hello world’不用加括号
在Python3.x中,print后需要加括号
a。b。b 版本号。a--》重大修改(不向下兼容);b--》添加新功能;c--》修复bug
二.python基础语法
1.注释
注释就是代码源文件中,用来进行朱姐说明的文字,不会对代码的功能产生任何的影响
好的代码和好的程序员,需要对代码通过注释进行说明
开头单行注释
“““ 内容”””或者‘‘‘ 内容 ’’’ 多行注释
编程语言中涉及的所有符号都是指英文输入法状态下的符号
2.标识符
标识符是用来程序中命名用的。(比如:变量名,类名,函数名)
a.标识符是字母,数字和下划线组成,并且数字不能开头(硬性)python3.x标志符中支持中文但不推荐使用
b.不能是关键字(保留字)(硬性)
c.大小写敏感(区分大小写,a和A不一样)
d.要见名知义(规范)
e.不推荐使用python中的内置函数,类名去做标识符(规范)
3.关键字
系统保留的有特殊功能或者特殊意义的一些单词。这些单词不能用来给变量或者函数或者类命名的
import keyword
print(keyword.kwlist)
4.行与缩进
缩进:每一行代码的位置,与行开头位置之间的空格
在python中缩进的写法有严格的规范。同一级的代码必须写在同一个缩进下面。
如果在不该有空格产生的位置出现了多余的空格,程序会报错(IndentationError);如果需要缩进的时候没有缩进也会报错
关于行的规范:
函数和类的声明的前后必须要有两个换行。一般一个功能实现完,实现下一个功能的时候最好也换行。
5.多行语句
一条语句在多行显示
a.在需要换行的地方加(\),然后在换行
b.字典,列表,集合和元组等容器类型数据的字面量,在多行显示的时候可以直接换行
python中,一条语句结束,可以不写分号;但是如果一行中要写多条语句,那么每条语句必须用分号隔开。
6.字面量
数据类型对应的具体的值
整数(10.100),小数(0.1),字符串(‘abc,“!78u”),布尔值(true,false),数字(12e2),复数(9+10j),
列表【1,2,‘hu’,】,字典{‘a’:1,‘b';‘123’}
7.python中的基本数据类型
数字(整形(int),浮点型,布尔,复数),字符串(str),列表(list),字典(dict),集合(set),元组(tuple),none(代表没有和空)
整型:int(在python2.x中有long)--》值是所有的整数
浮点型:float--》包含所有的小数和科学计数
布尔:bool--》值只有True(1)和False(0)
复数;complex--》值包含所有的复数
可以type函数查看数据类型:type(数据)
print(type(10e2))
三.变量
变量
在程序中可以通过变量来存储数据
怎么声明变量
严格来说,python中变量是不需要声明的,直接通过赋值符号(=)给变量赋值,就是在声明变量。
因为python是动态语言,在声明变量的时候,不需要指定变量的类型。并且同一个变量可以赋不同类型的值
格式: 变量名=值
变量名:标识符,PEP8的命名方式(所有的字母都小写,多个单词之间用下划线隔开列入:user_name)
驼峰式命名:第一个单词首字母小写,后边每个单词的首字母都大写(例如:userName)
声明了一个变量age,并赋值18
age=18
print(age)
使用变量的时候,就相当于使用变量中存的值
student_age=20
print(type(student_age))
- 如果重新给一个变量赋值,那么新赋值会覆盖原来的值
- 同一个变量可以赋不同类型的值
student_age=18.5
student_age='abc'
print(student_age,type(student_age))
补充:
一个数据有type(类型),id(数据储存在计算机中的地址)和value(值)三个属性
变量存储数据的时候,有两种情况。第一种情况:存value--->数字类型、字符串,第二种情况:存id--->列表,字典,集合,元组,自定义类的对象。
四.运算符
数学运算符、比较运算符、逻辑运算符、赋值运算符、位运算符(针对二进制的每一位)
1.数学运算符(+、-、、/、%、*、//)
+:求和
注意:求和操作,+号两边必须是数字类型
True--->1 False--->0
print(10+20.4,True+1)
number=100+11
print(number)
-:求差
print(100-12)
:求乘积
print(3.142)
number=39
print(number)
/:求商
print(4/2)
print(5/2)
%:求两个数相处的余数
print(3%2)
print(101%10)
:幂运算
xy:求x得y次方
浮点数在计算机储存的时候,有的时候会有一点的误差
number=(2*3)
print(number)
//:整除
求商,但是只取商的整数部分
print(5//2)
取一个二位整数的十位数(78)
print(78//10)
取2345中的4:
print(2345%100//10)
print(2345//10%10)
2.比较运算符
'''>,<,==,>=,<=,!=
比较运算符的结果全是布尔:True,False
1.>x>y:判断x是否大于y,如果是结果是True,否则是False
resulut=10>20
print(resulut)
其余比较同理
在python中,可以像数学中一样,连续判断
numer=15
resulut=10<number<20 #判断number是否在10到20之间
print(resulut)
3.逻辑运算符
与(and),或(or),非(not)
运算数据是布尔值,结果也是布尔值
布尔1 布尔2 进行逻辑运算
and:都为Ture ,结果才是Ture
需要两个或者多个条件同时满足,就使用逻辑与(and)
or:一个为Ture,结果为Ture
需要两个或者多个条件其中一个满足时,就使用逻辑或(or)
not: not 布尔1,如果布尔1是T,结果是F,反之亦然。
需要不满足这个条件的时候,在该条件前加not
成绩不低于60分
score=70
print(score>=60)
print(not score<60) #都可以
写一个条件,判断一个人的年纪是否满足青年的条件(年纪大于18并小于28)
age=20
print(age>18 and age<28)
4.赋值运算符
=,+=,-=,=,/=,%=,*=,//=
赋值运算符的作用:将赋值符号右边的表达式的值赋给左边的变量
表达式:有结果的语句。例如:10,'abc',10+20,30>10.5等
赋值符号的左边必须是变量
赋值符号,是先算右边的结果,然后再把结果赋给左边的变量
number=100
number +=10 #相当于:number=number+10
print(number)
number *=2
print(number)
其余运算同理。
5.运算符的优先级
优先级从低到高:赋值运算符<逻辑运算符<比较运算符<算数运算符
算术运算符中:先幂运算再乘除取余取整在加减
如果你不确定运算顺序,可以通过添加括号来改变运算。有括号先算括号里面的。
resulut=10+20>15 and 7*8<30+60
resulut=30>15 and 56<90
resulut=True and Ture
result=True
print(resulut)
五.进制转换
数据在计算机里面的储存,存的都是二进制数(0101010101...)
1. 认识十进制、二进制、八进制、十六进制
1,十进制
基数:0,1,2,3,4,5,6,7,8,9
特点:缝10进1
2,二进制
基数;0,1
特点:缝2进1
101011=1(2^0)+1(21)+0*(22)+1(2^3)+0(24)+1*(25)
=1+2+0+8+0+32
=43
3.八进制
基数:0,1,2,3,4,5,6,7
特点:缝8进1
24=4(8^0)+2(8^1)=20
4.十六进制
基数:0-9,a-f --a=10,b=11,c=12,d=13,e=14,f=15
特点:缝16进1
2f=32+15=47
十进制转换成二进制:除2取余
123~1111011
其余同理:整除取余法(除到0)
八进制转二进制:一位八进制转换成三位二进制--->23=010 011
十六进制转换二进制:一位十六进制转换成四位的2进制--->2f = 0010 1111
2.python中的 二进制,八进制,和十六进制
默认的数字都是10进制
基数是0,1,并且数字前加前缀0b表示二进制(例如 0b1011)
bin(整数)-->将其他进制的整数转换成二进制
print(bin(10))#--->0b1010
基数是0-7,并且数字前加前缀0o表示八进制(例如 0o176)
oct(整数)-->将其他进制的整数转换成八进制
print(oct(10))#--->0o12
基数是0-9,a-f,并且数字前加前缀0x表示十六进制(例如 0x1a)
print(0xff)#--->255
hex(整数)-->将其他进制的整数转换成十六进制
print(hex(10))#---> 0xa