2018-08-04 data type,Group, list,operator,variable,

数据输入 ——数据处理 ——数据输出

2018-08-04 data type,Group, list,operator,variable,_第1张图片
2018-08-04 data type,Group, list,operator,variable,_第2张图片

(1)数据类型

在python中有整形“int"和实数"float";布尔 bool;复数 complex

在运算中,2/2  结果为 1.0  是除法运算,自动保留小数

                  2//2  结果为1  是整除运算,只取整数部分

bool布尔类型:表示真,假

在bool中数字除0.0      0 是False之外的数都为True(在IDLE中False与Ture首字母要大写,不然会是语法错误)

                    其他字符非空时为Ture


2018-08-04 data type,Group, list,operator,variable,_第3张图片

None   也为False;

字符1与‘1’  表示的属性是不同的

在' ' 与 "  "  使用中 必须成对出现       若想在'     '中表示的字符串中出现   '   ,可用  \'  表示;\  转义字符


2018-08-04 data type,Group, list,operator,variable,_第4张图片
2018-08-04 data type,Group, list,operator,variable,_第5张图片

(单引号作为定界符时,里面双引号表示的字符串不用 \ 来转义;

 双引号作为定界符时,里面单引号表示的字符串不用 \ 来转义;)

2018-08-04 data type,Group, list,operator,variable,_第6张图片


表示多行字符可用三引号  '''    '''  或  """    """

也可以用"  \ " 来操作

也可以用函数print来实现    (后面可加转义字符\n,表示转移回车键    但若只在IDLE中输入\n 将会被认作字符)


2018-08-04 data type,Group, list,operator,variable,_第7张图片
2018-08-04 data type,Group, list,operator,variable,_第8张图片

转义字符:特殊字符

                  看不见的字符

                  与语法有冲突的字符

冲突字符,比如在print中  要输出\n这样的字符  可用\\n 表示


2018-08-04 data type,Group, list,operator,variable,_第9张图片

也可以在字符串之前加  r  (将普通字符串,表示为原始字符串)

但是也遵循引号成对出现规律


2018-08-04 data type,Group, list,operator,variable,_第10张图片

字符串的运算 操作

+   将两个字符串合并

*   后面加上相应的数字,表示重复几遍这个字符串

字符串后面跟    [数字]  正数表示按照序列号取出字符

                                     负数表示从后面开始取出第几个字符


2018-08-04 data type,Group, list,operator,variable,_第11张图片
2018-08-04 data type,Group, list,operator,variable,_第12张图片

字符串中取字符的方法


2018-08-04 data type,Group, list,operator,variable,_第13张图片

各进制之间的转换与表示


0b101   (表示二进制数101)

在pythonIDLE中输入0b101   按回车键默认直接转换为十进制数(其它进制都一样)

0o10(表示八进制数10)    

0x1F(表示16进制数1F)

在IDLE中其他转换为2进制数的方法

bin    

bin(10)       bin(0o77)     bin(0xFFF)


2018-08-04 data type,Group, list,operator,variable,_第14张图片

在IDLE中其他进制转换为8进制数的方法

oct

oct(10)    oct(0b101)    oct(0xFFF)


2018-08-04 data type,Group, list,operator,variable,_第15张图片

在IDLE中其他进制转换为16进制数的方法

hex

   hex(10)         hex(0b101)   hex(0o10)


2018-08-04 data type,Group, list,operator,variable,_第16张图片

在IDLE中其他进制转换为10进制数的方法

int

int(0b101)    int(0o10)   int(0xFFF)


2018-08-04 data type,Group, list,operator,variable,_第17张图片

(2)组、列表

1、在pyhton中列表可用  [  ]   ,列表中的数据可以是多类,也可以在一个列表中套嵌另一个列表。但一定是正确类型


2018-08-04 data type,Group, list,operator,variable,_第18张图片

2、列表也可以进行运算操作,+  ,  *  ;

也可以进行列中元素提取操作,如字符串提取一样 ,在列表之后 加上  [  ]  ,其中有相应参数;注意的是,单个提取出来的是单个字符串,或其他属性值,但是如[0:2 ],加上冒号之后,提取出来的,还是列表;

和字符串提取一样,若从左向右按序列号提取,输入的序列号必须比想提取的字符序列多一位

2018-08-04 data type,Group, list,operator,variable,_第19张图片

2.1 增(append)、删(del)、改、查

2018-08-04 data type,Group, list,operator,variable,_第20张图片

列表方法

2018-08-04 data type,Group, list,operator,variable,_第21张图片

1、从外部输入5个数值,保存起来,找出其中的最大值和最小值。

2018-08-04 data type,Group, list,operator,variable,_第22张图片

2、例 :用冒泡法对10个数排序

排序过程:a【2,4,1,5,7,3,88,9,0,31,11】

(1)比较第一个数与第二个数,若为逆序a[0]>a[1],则交换;然后比较第二个数与第三个数;依次类推,直至第n-1个数和第n个数比较为止——第一趟冒泡排序,结果最大的数被安置在最后一个元素位置上。在交换过程中,需要使用过渡的临时变量:

        t=a[j];

    a[j]=a[j+1];

    a[j+1]=t;

(2)对前n-1个数进行第二趟冒泡排序,结果使次大的数被安置在第n-1个元素位置

(3)重复上述过程,共经过n-1趟冒泡排序后,排序结束

2018-08-04 data type,Group, list,operator,variable,_第23张图片

2.2字符串与列表之间的转换

字符串——列表   list1=str1.split()

2018-08-04 data type,Group, list,operator,variable,_第24张图片

2.21  要区分理解

2018-08-04 data type,Group, list,operator,variable,_第25张图片

列表——字符串    join

2018-08-04 data type,Group, list,operator,variable,_第26张图片

 

3、元组(tuple

(1,2,3,4)     用(  )表示一个元组;具体操作和list ,str一样

不可变的Python对象序列。元组的序列就像列表。唯一的区别是,元组不能被改变,即元组是不可被修改。元组使用小括号,而列表使用方括号。

注意的一点是:当一个元组中只有一个元素的时候,(   )会和python运算符号等冲突,IDLE中会认为是其他类;要表示一个元素的元组时,在元素后面加  ‘   , ’号;表示一个空元素的元组时,不用任何字符;


2018-08-04 data type,Group, list,operator,variable,_第27张图片

在这些类中,str,list,tuple  属于序列类;其中的多元素可用相应的序列号表示具体的元素;序列操作,有切片,但序号取值,+     *   等;


2018-08-04 data type,Group, list,operator,variable,_第28张图片

序列中(各类共用):in  是否存在某个元素

                                    not   in  是否不存在某个元素

                                   函数  len   序列集中总共有多少个元素,也就是最高序列号

                                   函数  max   序列集中ascll数最高的元素

                                   函数  min   序列集中ascll数最低的元素


2018-08-04 data type,Group, list,operator,variable,_第29张图片

4、集合 set   {   }

特点:无序,不重复

但支持in   ;  not  in   的判断

集合运算有: |    ;合集/并集

                      &  ;交集

                      -   ;差集    (注意的是,差集的运算结果是前者中后者没有的,不包括后者中前者没有的)


2018-08-04 data type,Group, list,operator,variable,_第30张图片

空集合的定义,不是 {};而是    set()

5、字典  dict   {  }

{key1:value1,key2:value2.......}    字典的表示

通过key访问value;    

特点:无序,key可以是不同类但不能重复

value:可以是str  int  list  set float dict tuple等类型

key:不可变类型  int  str  tuple


2018-08-04 data type,Group, list,operator,variable,_第31张图片

空的字典可用  { }  表示

增删改查

2018-08-04 data type,Group, list,operator,variable,_第32张图片
2018-08-04 data type,Group, list,operator,variable,_第33张图片


(3)变量与运算符

1、变量

将一个有大量元素,字符的list,set,tuple等等用一个简单明了的单词,字母等代替;这些单词,字母等可称为变量,

简单来说,就是赋值运算 ;如将B赋值给A,可表示为,A=B  ;其中A为变量

变量特性:1.只能是字母,数字,下划线的组合,而且数字不能作为开头

                  2.系统关键字不能用在变量中 (保留变量名,在IDLE中是黄色的;                       也不提倡用别的如函数,类的名称,如type,print等)

                  3.变量区分大小写

                  4.python变量没有类型区分,

2018-08-04 data type,Group, list,operator,variable,_第34张图片

变量运算中,注意值类型(不可变类型),引用类型(可变)的区别;如int(值类型),list(引用类型)相同的赋值程序,结果会不同

2018-08-04 data type,Group, list,operator,variable,_第35张图片

可见在int类型的赋值中,int类型本身是不可变的,所以变量指向的是不同的int类型;而在list类型中,类型中元素是可变的,所以不算元素怎么变化,变量指向的是同一个list类型;所以此番程序输出结果不同

用ID可以知道变量具体指向的类型,可以知道为何输出结果不同,何为可改变与不可改变

2018-08-04 data type,Group, list,operator,variable,_第36张图片

值类型(不可变类型): int   str  tuple

引用类型(可变类型):list  set  dict

2018-08-04 data type,Group, list,operator,variable,_第37张图片

多维度的取值,可如下

2018-08-04 data type,Group, list,operator,variable,_第38张图片

所以

字符串格式化

2018-08-04 data type,Group, list,operator,variable,_第39张图片

一个变量要用一个%参数对应

浮点型的位数,变量宽度,对其方式(+,-  号的增加)  如下

2018-08-04 data type,Group, list,operator,variable,_第40张图片


2、运算符

算数运算符 +  ;- ; /  ;//(取整)  ; %(取余)  ;*   ;**(乘方)

2018-08-04 data type,Group, list,operator,variable,_第41张图片
2018-08-04 data type,Group, list,operator,variable,_第42张图片

赋值运算符 = ;+= ;-= ;*= ;**= ;/= ;//= ;%=

2018-08-04 data type,Group, list,operator,variable,_第43张图片
2018-08-04 data type,Group, list,operator,variable,_第44张图片

赋值运算与算数运算的区别,变量会改变

2018-08-04 data type,Group, list,operator,variable,_第45张图片

python中没有 递增 ++ ;递减 --

关系(比较)运算符 ;用算结果为bool值

== (等于);>=(大于或等于);>=(小于或等于);>(大于);<(小于);

!=(不等于);

2018-08-04 data type,Group, list,operator,variable,_第46张图片
2018-08-04 data type,Group, list,operator,variable,_第47张图片

关系运算优先于算数用算,所以

2018-08-04 data type,Group, list,operator,variable,_第48张图片

A 和 B之间不能比较,但 ‘A’ 和 ‘B’之间是可以比较的,比较的是它们的ascll值,

多元素的list ,tuple,set等比较的是从左往右相对应的第一个不同ascll值的大小,而“ == ”,比较的是所有的ascll值

2018-08-04 data type,Group, list,operator,variable,_第49张图片

逻辑运算符   (返回结果为bool值)

and(且/并)   or(或)   not(非)

2018-08-04 data type,Group, list,operator,variable,_第50张图片
2018-08-04 data type,Group, list,operator,variable,_第51张图片

0是False,1是True

字符串非空为True,空字符串为False,列表非空为True,反之为False.....

'0' ;  [0]  ; 为非空,为True

其余类型皆可同上

or  和  and  返回值不一定是False与True;但它们的返回值代表的含义一定是值本身的True与False

or与and两边都为True值时(会体现计算机的惰性):                                           or返回的是第一个,因为只判断一个值的是否为True                                           and返回的是第二个值,因为要判断两个的值是否都为True

成员运算符 (返回值也是bool值)

in 是不是在

not  in  是不是不在

注意的是dict中判断的是key的值

2018-08-04 data type,Group, list,operator,variable,_第52张图片

身份运算符(返回值也为bool值)

is  两个变量身份是否相同

not  is  两个变量身份是否不同

is 与 == 的区别:== 判断的是两个值是否等,而 is 判断的是两个值的身份是否相同(id)

2018-08-04 data type,Group, list,operator,variable,_第53张图片
2018-08-04 data type,Group, list,operator,variable,_第54张图片

type(a)==int;判断变量a是否是整型

isinstance(a,((int,str,float));判断变量a是否是int,str,float其中一种


2018-08-04 data type,Group, list,operator,variable,_第55张图片

    对象的三个特征及判断方法

id         is / is not

value         ==

type        isinstance

位运算符(变量值的二进制运算)

& (按位与)

 |  (按位或)

^  (按位异或)

~  (按位取反)

<<(左移动)

>>(右移动)

你可能感兴趣的:(2018-08-04 data type,Group, list,operator,variable,)