基本的语法

肯定严格区分大小写之类的

一行就是一条语句,每一条语句以换行结束

一条语句需要多行编写的时候,在一行的末尾以\结束,下一行和这行就是同一条语句

python是严格缩进的,缩进代表的是代码块

在python中#表示注释

python中使用变量是不需要声明的,直接给变量赋值就行了,而且python是动态类型的语言,可以为变量赋任何类型的值,赋值后又可以修改成任意类型的值

python的数值分为三种:整数,浮点数,复数

整数int

在python中所有的整数都是int类型的,而且它不像其他语言那样有大小限制的,python的int类型是没有限制的,可以是一个无限大的整数,如果数字的长度过于长,还可以用下划线进行分割,例如a=45_46_45,这里a的值就是454645,编译的时候将_忽略了

浮点数float

python的不同进制的表示

二进制:以0b开头

八进制:以0o开头

十六进制:以0x开头

python的字符串

字符串

使用时需要用单引号(’’)或者双引号("")引起来,两者不能混合着用,相同的引号不能嵌套着用

长字符串

使用三个引号来表示长字符串,’’‘或者""",长字符串可以换行,而且还会保留文本中的格式

10. 转义字符

python可以使用(反斜杠)作为转义字符,例如:

\‘表示’

\“表示”

\t表示四个空格,就是一个tab键

\n表示换行

\\表示反斜杠

\uxxxx表示利用Unicode进行编码的,比如在Unicode编码里面,第0048个是H,如果你写a=’\u0048’,a就表示字符H.为什么是四个数字?因为Unicode编码里面用四位`进行编码

10. 格式化字符串(四种方法)

①:两个字符串可以进行加法连接,但是不可以和其他数据类型进行加法运算

②:print(变量1,变量2),这里打印后变量1和变量2也是拼接起来的,而且这里是没有数据类型限制的,两个变量什么类型都行,不同类型也可以

③创建字符串的时候可以指定占位符,例如:

a=‘hello%s’%变量 #这里就是用变量替换了字符串a的%s的占位符

%s

#这个表示任意的占位符,在%s的位置可以填充字符串,整数,浮点数等等,

而且这里的占位符还可以做限制,例如%2.3s #这个表示这个占位符最少有两位,如果不足两位就在前面填充空格补完整到两位,如果超过三位就不要后面的

%f

#这个是浮点数的占位符,这里的%4.1f 和上面的就有点区别了,4还是不够四位补空格,但是1就是小数点后面保留一位小数

%d

#这个是整数的占位符

④格式化字符串,就是可以通过在字符串前面添加一个f来创建一个格式化字符串,在格式化字符串中是可以直接加入变量的,比如a=f’啦啦啦{x1}{x2}’ #这里的x1和x2是一个变量,什么类型都可以

字符串复制,就是将字符串和一个数字进行乘法运算,这时就会将字符串复制到那个数字的次数

布尔值(Boolean,在python里面简写成bool)

一共有两个True和False,

其实bool的数据类型也是属于整形,True相当于1,False相当于0,1+True等于2的

None(空值),就什么都没

类型检查的函数:type() #这个函数传入一个变量,返回这个变量的数据类型

对象(object)

python也是面向对象的语言,对象是内存中专门用来存储指定数据的一块区域,它实际就是一个容器,上面的数值,字符串,bool,None都是对象

对象的结构:对象里面都会存储这三种数据:id,type,value

id:

就是这个对象的标识,每一个对象都只有一个唯一的id,如果要查看,可以通过id()函数来查看对象的id,这个id是由解释器生成的,一旦创建就永远不可能改变,在cpython中,id就是对象的内存地址

type:

python是强类型的语言,对象一旦创建,类型就不能修改

value:

对象中存储的具体数据,可变对象的值可以改变,不可变对象的值不能改变,int ,str,Boolean…的值都是不可以改变的

17. 变量和对象的关系

在变量中不是直接将python的对象直接存储进去,而是存储对象的id,在python中,变量就好像给对象起了一个别名.

如果你执行了a=10a=ba=20#这时候b里面存储的值是没有改变的还是10,就是b里面的id没有变,所以python里面的变量是相互独立的,其中一个改变了不会影响其他的

18. 类型转换

不是说python是强类型语言吗?类型怎么还可以转换呢?

其实是这样的,类型转换不是改变这个对象本身的类型,而是创建一个新的需要的类型的对象,然后将当前对象的值赋值给新的对象的值

对于类型转换有四个函数int(),float(),str(),bool()

int()

#将其他的对象类型转化成整型

规则:

True—>1 False---->0

浮点数就直接删了小数点后面的东西,直接取整

字符串,将合法的整数字符串转化成对于数字,不合法报错ValueError

其他的和int()差不多,说下bool()

bool()

将其他对象转化成布尔值,任何对象都可以转换成bool值,

规则:所有的表示空的对象都转化成False,例如0,none,其他的都转换成True

19. 运算符

算术运算符

数学中的±

/就不说了,还有

// 表示整除,保留计算后的整数,返回一个整数,

** 表示幂运算,比如2 ** 3等于8

赋值运算符

=,+=,-=,

=,/=,**=,//=,%= #简单,不多说

注意一下:就是对于浮点数运算,返回的结果还是浮点数,比如10.0//4的结果是2.0

关系运算符

/>,/>=,/

注意一下:

①就是如果是两个字符串进行大于(等于)或小于(等于)的运算时,比较的是字符串对应的Unicode编码,比如’a’>‘b’ #False,因为a的编码在b的前面

如果字符串是多位的字母,这时就是逐位进行比较的,而且是前面如果比较出来大小,后面的就不再进行比较了,比如’5’

②这里的比较==和!=比较的是两个对象的value(值),而不是id,只要是值是一样的就返回True,比如(1 ==True) #这里返回的是True,因为他们两个的值都是1

③如果要想比较两个对象的id是否一样,有is和is not

is是比较两个对象是否是同一个对象,比较的是id

is not相反

逻辑运算符

and:逻辑与

逻辑运算的与运算

python的与运算是短路的与运算,如果第一个就是False了,就不会理第二个值是什么

or:逻辑或

逻辑运算的或运算

python的或运算也是短路的或运算,如果第一个就是True,就不会理第二个值是什么

not:逻辑非

对于布尔值是取反操作,

对于非布尔值是将它转化成布尔值再取反

非布尔值的与或运算

python对非布尔值进行与或运算的时候,python会将它们当作布尔值进行运算,最终会返回其中一个原值

与运算规则:本来就是找False,如果第一个值是False,就不会看第二个值,直接返回第一个值,否则返回第二个值

或运算规则:本来就是找True ,如果第一个值是True,就不会看第二个值,直接返回第一个值,否则返回第二个值

再python中独特的逻辑运算符用法:连着写,比如:

print(10<20<30) #True

这里相当于10<20 and 20<30

条件运算符(也叫三元运算符

语法:语句1 if 条件表达式 else 语句2

执行流程:先对条件表达式进行求值,

如果条件表达式是True,就执行语句1,并且返回执行结果

如果条件表达式是False,就执行语句2,并且返回执行结果

比如:求较大值a=23 b=26

max=a if a>b else b

运算符优先级

查表吧,不常用.(例如and比or高)