一、数据类型:数字

整数(int)

一般意义上的数包含八进制(以数字0开头)十六进制(以0x开头

长整数(long)

无限大小的数,在其末尾加小写字母l或者大写字母L(python3版本后没有

浮点数(float)

小数,用E/e表示的幂,如2.7 、1234e+10

复数(complex)

附属的虚部由字母j/J结尾,如1+2j

简单示例:


1.1运算符

运算符

描述

**

乘方运算符

*

乘法运算符

/

除法运算符

//

整除运算符

%

取余运算符

+ 、 -

加减法运算符

I

位或

^

位异或

&

位于

<<

左移运算

>>

右移运算

>>> 2 ** 5 (乘方运算)

32

>>> 3 * 2 (乘法)

6

>>> 4 / 2 (除法)

2.0

>>> 7 / 2

3.5

>>> 7 // 2 (整除)

3

>>> 7 % 2 (取余)

1

>>> 5 ^ 3 (101 异或011 为 110 ===> 6)

6

>>> 11 | 5 (1011 位或 0101 为 1111 ===>15)

15 即非0为真

>>> 10 | 4 (1010 位或 0100 为 1110===>14)

14

>>> 12 & 11 (相与运算)

8

>>> 12 & 12

12


在python中存在浮点数精度缺失的问题,这实际上不是bug,其实在很多的编程语言中都会出现,这是由于在python中默认用53为二进制数表示小数部分,而在浮点数默认输出的时候取前16位,二进制和十进制在转换之间无限接近,但不完全子同,计算机在处理运算时,先将十进制数转换为二进制,在转换为十进制,这中间就会出现精度缺失,我们经常用round(x,y)函数,x表示进行的运算,y表示小数点后保留的个数。例如:round(0.1+0.2, 1)=.03,这里遵循四舍五入的原则。


二、数据类型:字符串

python中的字符用于表示和存储文本。字符串通常由单引号、双引号或者三引号包围。


简单示例

>>> str1 = 'hello'

>>> str1

'hello'

>>> print(str1) //print的时候会默认去掉单引号和双引号

hello

>>> str2 = "python"

>>> str3 = 'a = 1 + 2 '

>>> print(str3)

a = 1 + 2

>>> str4 ='can\'t'

>>> str4

"can't"

>>> str5 = "cant't" //双引号自带转译,转译的功能比单引号强

>>> str5

"cant't"

2.1 字符串中的转译字符

常见的转译字符

转义字符

含义

\n

换行符

\t

制表符

\r

回车

\

表示\

\’

标识一个单引号,而不是字符串结束

\"

标识一个双引号,而不是字符结束

简单示例

>>> t = 'hello \tpython'

>>> print(t)

hello python

>>> t

'hello \tpython' //只有在使用print函数输出字符串的时候,才会解释字符串中的转译字符

>>> t = 'hello \npython'

>>> print(t)

hello

python

>>> t = 'hello \rpython' //\r真正实现了其回车的功能(回到某行开头,把前面的输出覆盖了,不管前面的内容有多长都会被全部抹去)

>>> print(t)

python

2.2 操作字符串

在python中,可使用运算符“+”、“*”对字符串进行操作,另外,python中提供很多对字符串的操作函数。

m

简单示例

>>> str = 'hi, python!' //p前面有一个空格,用于去区分单词

>>> str.capitalize()

'Hi, python!'

>>> str.count('p') //字符p的个数

1

>>> str.find('p') //p字符的起始位置

4

>>> str.find('c') //-1表示未找到

-1

>>> str.isalpha() //仅字母?

False

>>> str.isalnum() //仅字母数字?

False

>>> str.isdigit()//仅数字?

False

>>> str.islower()//字母仅小写?

True

>>> str.isupper()//字母仅大写?

False

>>> str.join('HI') //连接字符串,以str字符串为分隔符连接参数中的每一项。

'Hhi, python!I'

注意:以上的操作并不会改变str本身的值,仅返回修改后的值,若是要修改str的值,则要使用复制语句来实现srt = str.函数()实现

strint.join()函数功能

>>> str = 'how'

>>> str.join('--')

'-how-'

>>> str.join('---')

'-how-how-'

>>> str.join('----')

'-how-how-how-'

>>> str.join('-') //参数字符仅有一个时,返回参数

string.split()函数功能

>>> str = 'how'

>>> str = 'how are you !'

>>> str.split() //不指定时默认以空格分隔

['how', 'are', 'you', '!']

>>> str.split(None,1) //指定一次分割

['how', 'are you !']

>>> str.split(None,0) //0次分割,相当于不分割

['how are you !']

>>> str.split('o',) //指定使用“o”分割

['h', 'w are y', 'u !']

>>> str.split('o',1) //使用“o”分割,分割一次

['h', 'w are you !']


2.3 字符串的索引和分片

Python中的字符串相当于一个不可变序列的列表。一旦声明一个字符串,则该字符串中的每个字符都有了自己固定的位置。在Python中可以使用“[ ]” 来访问字符串中指定位置上的字符,这种方式类似于C语言中的数组。

与数组类似,在Python字符串中,字符的序号也是从0开始的,即string[0]表示字符串string中的第一个字符。

与C语言不同的是,Python 还允许以负数表示字符的序号,负数表示从字符串尾部开始计算,此时最后一个字符的序号为-1,而不是-0。

>>> str = '123456789'

>>> str[0] //第一个字符串

'1'

>>> str[4] //第五个字符串

'5'

>>> str[-1] //倒数第一个

'9'

>>> str[-3] //倒数第三个

'7'

>>> str[-0] //-0=0,即第一个

'1'

>>> str[1:4] //第二个到第五个,但不包含第五个

'234'

>>> str[1:-1] //第二个到最后一个,但不包含第最后一个

'2345678'

>>> str[0:-2]

'1234567'

>>> str[:-2]

'1234567'

>>> str[0:]

'123456789' //所有输出

2.4 格式化字符串

在python中,字符串的字符顺序是不可变的,但是在某些情况下,可能又有要根据某些情况修改字符串的内容,这时可以使用格式化字符串的功能。

在python中,可以在字符串中使用以“%”开头的字符,以在脚本中改变字符串中的内容。

%c

单个字符

%d

十进制整数

%o

八进制整数

%s

字符串

%x

十六进制整数,其中字母小写

%X

十六进制整数,其中字母大写

>>> s = 'so %s day !'

>>> print(s % 'happy')

so happy day !

>>> s = '1 %c 1 %c 2'

>>> s % ('+','=')

'1 + 1 = 2'

>>> 'x = %x ' % 0xA

'x = a '

>>> 'x = %X ' % 0xA

'x = A '

2.5 .format方法

.format()方法较%使用起来简单,这里可以修改字符对应的顺序,如下所示,在槽中添加数字,默认从0开始,这里不指定的话,则遵循一一对应的顺序。


槽内部格式化操作

python提供了六种格式控制标记

填充,对齐宽度简单示例:

数字处理简单示例

2.6字符串,数字类型的转换

**字符串 ——> 数字 int()函数 **

数字 ——> 字符串 str()函数

>>> '4' + 10

Traceback (most recent call last):

File "", line 1, in TypeError: can only concatenate str (not "int") to str

>>> int(4) + 10

14

>>> str(4) +'10'

'410'

>>> str = 10

>>> str(4) +'10'

Traceback (most recent call last):

File "", line 1, in TypeError: 'int' object is not callable //这里由于前面已将定义了一个变量与后面的str函数名冲突,所以不可以同时使用。

2.7原始字符串

原始字符串是python中一类比较特殊的字符串,以R/r开头,在原始字符串中“"不再标识转译,它是为正则表达式设计的,可以方便的标识Widows下的路径,但是路径不能一“\”结尾,否侧会出错。

>>> import os

>>> path = r'e:\python练习'

>>> os.listdir(path) //列出路径下的目录。

['.idea', 'hello.py', 'python笔记', 'venv']

2.8 unicode编码

在python3中所有的字符均采用unicode编码的方式,unicode编码,和ASCII编码类似,是国际上为了将统一各个国家使用的字符而设计的一种编码,他的思想就是使用一套编码,希望可以将各个国家使用的字符都纳进来。她包含的范围为0-111411(0x10FFFF空间,每个编码对应一个字符。

函数的使用

描述

chr(u)

u为Unicode编码,返回其对应的字符

ord(x)

x为字符,返回其对应的unicode编码

例如:打印12星座的符号

for i in range(12):

print(chr(9800+i),end="")

执行结果:

♈♉♊♋♌♍♎♏♐♑♒♓