Python基础 1数值类型 序列类型

1.1数值类型

1.常用运算符:

  +  -  *  /  %(取余)   //(取整数)  **(次方)

2.整数与小数的运算 返回float

3.decimal的运算 更精确一些

4.布尔型的计算 True False

5.复数演示

6.了解math模块 import math

7.Decimal

1     from decimal import Decimal
2     Decimal(10)/Decimal(3)
3     Decimal('10.5')/Decimal(3)
4     print(type())
 

1.2序列类型(列表,元组)

1.2.1列表list (可以被更改) 可嵌套

 1     a=[ 1,2,3,4,5,6,7,8,9,20.0,30.0,(100,200,300),[400,500,600]]
 2     print(a[2])
 3     print(a[2:3])           #取左不取右    右边不写则是取到最右边
 4     print(a[0:20:2])        #步长
 5     print(a[-1])
 6     ###########              #切片取出的是列表
 7     print(a[2:3][0])         #取出的是字符串
 8     ###########
 9     
10     b1='20180910'
11     print ('year=',(b1[0:4]))
12     print ('month=',(b1[4:6]))
13     print ("day=",(b1[6:]))

 

1.2.2元组tuple (不可以被更改)元组和列表取值是差不多的

a=(100,200,300)    

b = list(a)       元组转成列表

1.3列表方法

  • 增:

    append 到最后的位置 insert 插入到某个位置 extend 扩展 两个列表融合到一个列表

  • 删:

    pop 通过索引删除 remove 通过内容删除 删除出现的第一个 clear 清空整个列表

  • 改:

    li[0] = ' list '

  • 查:

    index 查找内容的索引 出现的第一个 count 查找元素个数

  • 其他方法:

    copy 浅复制 reverse 列表反转 sort 排序

 1     my_list = ['Tom','Wang','du']
 2     my_list.append( 'hahahaha')
 3     my_list.insert(1,'hansha')
 4     my_list2=[15,20]
 5     my_list.extend(my_list,my_list2)
 6     my_list.pop(2)
 7     my_list.remove('Tom')
 8     my_list[1]='wangyangyang'
 9     print(my_list.index('du'))
10     print(my_list.count('du'))
11     
12     my_list3=my_list.copy()
13     my_list.reverse()
14     my_list.sort()

 

 

1.4元组方法

  • 查:

    index 查找内容的索引 出现的第一个 count 查找元素个数

  • 元组间接变化:


1     tuple_a=(1,2,3,'ahsd',555)
2     
3     list_a=list(tuple_a)
4     list_a.append( 'hahahaha')
5     tuple_a=tuple(list_a)

1.5字符串方法 (可以索引 可以切片)

  • count 计算某元素出现的次数 find 查找内容的索引 出现的第一个 找不到不会报错 index 查找内容的索引 出现的第一个 找不到报错 isdigit 是否只有数字 isalpha 是否只有英文 endswith 是否以。。结尾 startswith 是否以。。开头 islower 是否是小写 isupper 是否是大写

  • 改 (生成一个新的字符串)

    upper 变成大写 lower 变成小写 strip (lstrip,rstrip) 去除字符串左右两边字符 capitalize title split 根据某个条件分割

  • replace 替换

  • 字符串拼接

    1     my_str='asdada fjh afjk ahk jfhaf ha h'
    2     new_str=my_str.strip()
    3     new_str=my_str.split('/')
    4     new_str=my_str.replace('asd','666')

     

  • 字符串常用方法:

  

 1 a="abcABC"
 2 #公共方法len(a),type(a)
 3 a.capitalize() #首字母大写
 4 a.upper() #转换大写
 5 a.lower() #转换小写
 6 a.swapcase() #大小写转换
 7 a.casefold() #转换小写
 8  
 9 a.title() #转换成标题      
10 a.center(20,"*"#设置宽度,并居中,20为总长度,*为空白处填充
11 a.ljust(20,"*") #左边
12 a.rjust(20,"*")  #右边
13 a.zfill(20) #默认使用0填充,长度20
14 a.expandtabs() #补tab键     
15 a.count("xx",star,end) #计数出现次数,star开始位置,end结束位置
16               
17  a.strip()  #去全部空格、换行
18  a.lstrip("xx") #去除左边 xx
19  a.lstrip() #去左边空格
20  a.rstrip()  #去右边空格
21  
22 a.partition("s") #字符串按照第一个s进行分割,分三份 (包含分割元素s)
23 a.split("s")   #a.split("s",2)  按照s进行分割 ,2为分割次数 (不包含分割元素s)
24 a.splitlens()  #按换行符分割
25        
26 a.find("ex",start=None, end=None) #找到第一个对应字符串的索引,默认是找整体,也可单独指定判断位置 (找不到返回-1)
27 (a.index()与find相同,但找不到报错 )
28  
29 a.endswith("x") #以判断x结尾
30 a.startswith("x",start=None, end=None)#判断以x开头,默认是找整体,也可单独指定判断位置
31 a.isalnum() #判断字符串中包含数字或字符
32 a.isalpha()#判断是否是字符
33 a.isdeciml() #判断是否是数字 (10进制数字)
34 a.isdigit()#判断是否是数字,支持特殊形式
35 a.isdentifier() #判断字母、数字、下划线
36 a.islower()#判断是否小写   
37 a.isupper()#判断是否是大写
38 a.isnumeric()#判断是否是数字 支持特殊字符(中文)
39 a.isprintable() #判断是否包含不可显示的字符如:\t \n
40 a.isspace()  #判断是否全部 是空格
41 a.istitle()  #判断是否是标题
42  
43 a.replace("xx","oo")  #xx替换oo    
44 a.join(xxx) #字符串拼接,a作为拼接符,重新拼接xxx  (" ".join(xx)   "xx".join(dd))
45 a.format(name="xxxx") #替换name
46 a.format_map 
47  
48 a.encode()   #编码 str转换bytes
49 a.decode()   #解码 获得字符串类型对象 

 

1.6字符串转义

字符前面加上 \ ,字符就不再表示字符本身的意思,表示ASCII码中 不能显示字符,常见有下:

\n  换行

\t 水平制表符

\b 退格

\r 回车,当前位置移到本行开头

\\ 代表反斜杠 \

\’ 代表一个单引号,同样的 “   等符号也可以这么输出

\0 代表一个空字符

\a 系统提示音

在python中如果要去掉字符串的转义,只需要在字符串前面加上 r

r'abc\tabc'

1.7字符串编码


1     my_str=r'东西'
2     a=my_str.encode('utf-8')   转成2进制数据
3     b=a.decode('utf-8')        2进制转成字符串
 

1.7字符串拼接

1.使用 +

str1 + str2 + str3

2.格式化字符串

' %s %s %s ' %(str1,str2,str3)

3.使用join

’字符’.join([str1, str2, str3])

4.使用 format

' {} {} {} '.format(obj1,obj2,obj3)

' {0} {1} {2} '.format(obj1,obj2,obj3)

' {1} {0} {2} '.format(obj1,obj2,obj3)

' {n0} {n1} {n2} '.format(n1=obj1,n0=obj2,n2=obj3)
 1     my_str='南北老师hello我是杜育非'
 2     a=my_str[0:4]
 3     b=my_str[4:9]
 4     c=my_str[9:]
 5     print(b+','+a+','+c+'.')
 6     str_1='%s,%s,%s,'%(b,a,c)
 7     print(str_1)
 8     str_2=(','.join([b,a,c]))+'.'
 9     print(str_2)
10     str_3='{},{},{}.'
11     print(str_3.format(b,a,c))

 

1.8字符串格式化

1.8.1 . %s %d %f 等等

  • 了解:

    %d %数字 %f %浮点数 %c %ASCII字符 %o %8进制 %x %16进制 %e %科学计数法

    ' %-6.3f ' % 10.3 左对齐 ' %+6.3f' % 10.3 显示正 ' %5s ' % 'ab' 格式化长度 可用来对齐

  • 掌握:

    print(‘%s’ %’123’) 字符串拼接 print(‘%r’ %’123’) 原始话输出

1.8.2 .format 

 1 '{:.2f}'.format(12.333)         #保留小数点后两位
 2 '{a:.2f}'.format(a=12.333)
 3  4 '{:.2%}'.format(0.333)          #百分比格式
 5  6 '{:x}'.format(20)               #转换成十六进制
 7  8 '{:o}'.format(20)               #转换成八进制     
 9                                 #进制转换的时候用{0:进制}
10 ' {a:<10}’.format(a=12.3,b=13.44)     #左对齐,长度为10
11 ' {a:0<10}'.format(a=12.3,b=13.44)    #数字补x (填充右边, 宽度为4)
12 ' {a:0>10}’.format(a=12.3,b=13.44)    #右对齐...
13 ' {a:0^10}'.format(a=12.3,b=13.44)    #两边对齐...
14 15 '{{  hello {0}  }}'.format('python’)  #转义{和}符号
16 17 '  name='a du ,data='18'  
18     print(f'hello,{name},i am {data}')  '

 

 

1.9 深浅复制

1.浅复制


1     a=[1,2,3,4]
2     b=a.copy
3     a[0]=100
4     
5     print(a)
6     print(b)
7     
8     print(id(a))
9     print(id(b))

2.深复制

 1     import copy
 2     my_list=[1,2,[3,4]]
 3     a=my_list
 4     b=copy.deepcopy(my_list)
 5     my_list[2][0]=100
 6     print(my_list)
 7     print(a)
 8     print(b)
 9     print(id(my_list))
10     print(id(a))
11     print(id(b))
12

3. 数据类型总结:

  3.1、数字:不可变,直接访问

  3.2、字符串:不可变,顺序访问

  3.3、列表:可变、有序、顺序访问

  3.4、字典:可变、无序、key值访问

  3.5、元组:不可变、有序、顺序访问

  3.6、布尔值:不可变

  3.7、集合:无序、不重复



 

posted on 2019-10-15 00:01  杜育非  阅读(185)  评论(0编辑  收藏  举报

导航