一、数据类型
python可以直接处理的数据类型有:整数、浮点数、字符串、布尔值、空值。
整数
浮点数
字符串:双引号内嵌套单引号,可以输出 i'm ok.
也可以用来实现, 换行 table
多行字符串用 ''' '''
布尔值: 可以对布尔值进行与或非运算/ 与and 或or 非not
空值
二、变量
a = 1/ a = "nadech" 与java不同,python在声明一个变量的时候不用指定变量的类型,直接赋值就可以了
在 执行a =1 的时候,python解释器实际上执行了两步操作:创建整数1;声明变量a,并且把变量a指向整数1
常量PI,即使声明为了常量,但是python没有真正的常量
python中整数除法是精确的:10/3 =3.333333333333 地板除法:10//3=3
保留两个小数点
a = 1 b = 3 print(a/b) #方法一: print(round(a/b,2)) #方法二: print(format(float(a)/float(b),'.2f')) #方法三: print ('%.2f' %(a/b))
三、编码方式
几种编码的方式和编码的进化!!!!
ASCII编码,只能编码127个字符,所以数量有所限制
GB2312(2个字节)中国用来编写中文并且建立在ASCII码上,不能与ASCII冲突。之后,韩国、日本都有自己的编码 and so on.
Unicode编码(2个字节),把所有语言都统一到一套编码里。缺点是2个字节,浪费存储空间。
UTF-8编码把一个Unicode字符根据不同的数字大小编码成1-6个字节,常用的英文字母被编码成1个字节,汉字通常是3个字节,只有很生僻的字符才会被编码成4-6个字节。UTF-8的好处就是兼容ASCII码,节省空间。
用记事本编辑的时候,从文件读取的UTF-8字符被转换为Unicode字符到内存里,编辑完成后,保存的时候再把Unicode转换为UTF-8保存到文件。
浏览网页的时候,服务器会把动态生成的Unicode内容转换为UTF-8再传输到浏览器。
四、python字符串的编码/字符串的格式化输出
单个字符的编码:
>>> ord('爱') 29233 >>> chr(29233) '爱' >>>
多个字符的编码:
当字符的内容只包含ASCII编码的内容时,可以直接使用:
>>> b"I LOVE YOU!" b'I LOVE YOU!'
>>> "I LOVE YOU!".encode() b'I LOVE YOU!'
多个字符且包含中文的时候,只能使用encode和decode
#从这里也可以看出在utf-8的编码中,一个中文需要三个字节
>>> "我爱你".encode("utf-8") b'xe6x88x91xe7x88xb1xe4xbdxa0'
#这里特别要注意b'xe6'和‘xe6'表示的完全不一样,前边表示一个bytes类型的数据,后者是一个str类型的字符串 >>> b'xe6x88x91xe7x88xb1xe4xbdxa0'.decode("utf-8") '我爱你'
len()可以用来计算str或者是bytes的长度
>>> len('我爱你') 3 >>> len( b'xe6x88x91xe7x88xb1xe4xbdxa0') 9
字符串的格式化,除了%s 还有%d %f %x等占位符,但是由于都可以用%s来输出,所以就没有必要使用其他的了。
除此之外还有 str.format()方式也可以用来格式化字符串,但是没有%s好用。但是当输入的字符串内容本身含有%,例如 7%时,需要使用 %%转义符
>>> "hello %s"%"nadech" 'hello nadech' >>> nadech = "YGR" >>> "hello %s"%nadech 'hello YGR’