Day01,Python数据类型及常见操作

一、标准数据类型

成都创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:网站制作、成都网站制作、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的滨州网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

1、Number(数字)

       int(整数):-1,1

       bool(布尔类型):True,False

       float(浮点类型):1.13,3E-2

       complex(复数):1+2j,1.1+2.2j

2、String(字符串):“Hello World!”

3、List(列表):[1, 2, 3],[‘a’, ‘b’, ‘c’]

4、Tuple(元组):(1, 2, 3)

5、Set(集合):set([1, 2, 3])

6、Dictionary(字典):{‘name’: ‘Tom’, ‘age’:22}

注:不可变数据类型:Number,String,Tuple;可变数据类型:List,Dictionary,Set

二、字符串常见操作

1、数据类型转换

str():将括号内的数据类型转换成字符串

Day01,Python数据类型及常见操作

2、切片、逆序

demo[0:5]:截取字符串下标0到5之间的字符串

demo[0:5:2]:截取字符串下标0-5之间每隔2个字符组成的字符串

demo[::-1]:将字符串逆序

Day01,Python数据类型及常见操作

注:下标若为负数代表从字符串右边开始计数

3、字符串常见方法

str1.find(str2, start=None, end=None):在str1中查找字符串str2,返回查找的第一个str2的下标,若找不到则返回-1

str1.rfind(str2, start=None, end=None):从字符串str1右边开始查找

Day01,Python数据类型及常见操作

str1.index(str2, start=None, end=None):类似find()函数,不同的是若找不到则抛出ValueError异常

str1.rindex(str2, start=None, end=None):类似rindex()函数

Day01,Python数据类型及常见操作

str1.count(str2, start=None, end=None):统计str2在str1出现的次数

Day01,Python数据类型及常见操作

str1.replace(str2, str3, count):将str1中的str2替换成str3,若指定count,则只替换count次,原变量str1不变,返回新的变量

Day01,Python数据类型及常见操作

str1.split(sep=None, maxsplit=-1):以str2为分割符分割str1,返回一个数组,默认以空格作为分割符,若指定maxsplit,则只分割maxsplit次

Day01,Python数据类型及常见操作

str1.capitalize():字符串第一字母大写

str1.title():字符串中每个单词首字母大写

Day01,Python数据类型及常见操作

str1.startswith(str2):判断字符串str1是否以字符串str2开始

str1.endswith(str2):判断字符串str1是否以字符串str2结束

Day01,Python数据类型及常见操作

str1.lower():将字符串中字母转换成小写

str1.upper():将字符串中字母转换成大写

Day01,Python数据类型及常见操作

str1.rjust(width, fillchar=None):返回一个新字符串右对齐,并使用fillchar填充至width的新字符串,默认填充符是空格

str1.center(width, fillchar=None):返回一个新字符串居中对齐,并使用fillchar填充至width的新字符串

str1.ljust(width, fillchar=None):返回一个新字符串左对齐,并使用fillchar填充至width的新字符串

Day01,Python数据类型及常见操作

str1.lstrip(chars=None):默认去除字符串左边的空格,若指定chars,则去除所有指定字符

str1.rstrip(chars=None):默认去除字符串左边的空格

str1.strip(chars=None):默认去除字符串两边的空格

Day01,Python数据类型及常见操作

str1.partition(str2):查找str1中的第一个str2,并以此为分割符,返回分割后的两个字符串与分割符组成的元组,split函数返回的是列表

Day01,Python数据类型及常见操作

str1.splitlines(keepends=None):以换行符分隔,返回一个列表,keepends参数是个布尔值,表示是否保留换行符到结果中

Day01,Python数据类型及常见操作

str1.join(list1):将str1作为分隔符与列表中各值组成新的字符串

Day01,Python数据类型及常见操作

str1.expandtabs(tabsize=8):将字符串中制表符转换成空格,默认是8个空格

Day01,Python数据类型及常见操作

str1.isalpha():判断是否是字母组成的字符串

str1.isalnum():判断是否是由字母和数字组成的字符串

str1.isspace():判断是否是空白字符组成的字符串,例\t、\n、\r

str1.isidentifier():判断是否符合标准变量命名规范

str1.isdecimal(),str1.isdigit(),str1.isnumeric()三个函数的区别:

Day01,Python数据类型及常见操作

4、字符串格式化输出

 1  # 方式一
 2  info = """
 3      info of %s
 4  name: %s
 5  age: %s
 6  job: %s
 7  salary: %s
 8  """%(name, name, age, job, salary)
 9 
 10 # 方式二
 11 info2 = """
 12     info of {_name}
 13 name: {_name}
 14 age: {_age}
 15 job: {_job}
 16 salary: {_salary}
 17 """.format(_name=name,
 18            _age=age,
 19            _job=job,
 20            _salary=salary)
 21 
 22 # 方式三
 23 info3 = """
 24     info of {0}
 25 name: {0}
 26 age: {1}
 27 job: {2}
 28 salary: {3}
 29 """.format(name, age, job, salary)

三、数据运算

1、算数运算     

+   加
-   减
*   乘
/   除
%   取模,返回除法的余数
**   幂
//   返回商的整数部分

2、比较运算

==     等于,比较对象是否相等
!=, <>   不等于,比较对象是否不相等
>      大于
<      小于
>=     大于等于
<=     小于等于

3、赋值运算

=      简单的赋值运算符
+=     c+=a等效于c=c+a
-=     c-=a等效于c=c-a
*=     c*=a等效于c=c*a
/=     c/=a等效于c=c/a
%=     c%=a等效于c=c%a
**=     c**=a等效于c=c**a
//=     c//=a等效于c=c//a

4、逻辑运算

and    布尔“与”
or     布尔“或”
not    布尔“非”

5、成员运算

in     如果在指定的序列中找到值返回True,否则返回False
not in      如果在指定的序列中没有找到值返回True,否则返回False

6、身份运算

is     判断两个标识符是不是引用自一个对象
is not       判断两个标识符是不是引用自不同对象

7、位运算

&   按位与运算
|   按位或运算
^   按位异或
~   按位取反
<<  左移动
>>  右移动

8、运算优先级

Day01,Python数据类型及常见操作

四、列表常见操作

1、增加

list1.append():在列表尾部添加

list1.insert(index, obj):在指定下标添加obj元素

list1.extend(list2):将列表list2的所有值添加到list1

list1+list2:列表list1与list2组成新的列表返回

Day01,Python数据类型及常见操作

2、删除

list1.pop():删除列表最后的值,返回删除的值

list1.remove(obj):删除列表中指定的内容

del list1[index]:删除列表中指定下标的内容

Day01,Python数据类型及常见操作

3、修改

list1[index]=obj:修改列表中指定下标的内容

Day01,Python数据类型及常见操作

4、查找

list1.index(obj):返回查找的内容的下标,若找不到则抛出ValueError异常

list1.count(obj):统计查找内容出现的次数

if obj in list1:判断obj是否在列表中

if obj not in list1:判断obj是否不在列表中

Day01,Python数据类型及常见操作

5、排序

list1.sort(reverse=False):列表排序,默认升序,列表变量会被永久修改,若reverse=True则降序

sorted(list1, reverse=False):返回排序的新列表,原列表数据不变,若reverse=True则降序

list1.reverse():列表顺序翻转

Day01,Python数据类型及常见操作

6、统计计算

min(list1):返回列表中最小值

max(list1):返回列表中最大值

sum(list1):返回列表中所有值的和

Day01,Python数据类型及常见操作

7、列表解析

Day01,Python数据类型及常见操作

8、复制列表

Day01,Python数据类型及常见操作

list1与list3是相同的内存空间,list2是全新的

浅复制与深复制的区别:

 1  names = ["tom", "jerry",["alex", "jordan"], "marry", "jack"]
 2  names2 = names.copy()   # copy 浅复制,只复制第一层,第二层内容不会复制
 3  print(names, names2)
 4  names[0] = "dog"
 5  names2[2][0] = "cat"
 6  print(names, names2)
 7  #  ----------------------------------------
 8  import copy
 9  n1 = ["tom", "jerry",["alex", "jordan"], "marry", "jack"]
 10 n2 = copy.deepcopy(n1)   # deepcopy 深复制,完全复制内存内容
 11 print(n1, n2)
 12 n1[0] = "dog"
 13 n2[2][0] = "cat"
 14 print(n1, n2)
 15 
 16 # 浅copy的三种方式
 17 person = ["jack", ["男", 25]]
 18 # 1
 19 p1 = copy.copy(person)
 20 # 2
 21 p2 = person[:]
 22 # 3
 23 p3 = list(person)

五、元组

元组又叫只读列表,一旦创建,便不能再修改,它只有两个方法,一个count,一个index。

语法

names = ("tom","jack","eric")

六、字典常见操作

1、增删改查

dict1 = []
dict1['name'] = 'Tom'   # 增加
del dict1['name']       # 删除
dict1['name'] = 'Jerry' # 修改
dict1.get('name')       # 查找

2、其它方法

dict1.keys():返回字典中所有key组成的列表
dict1.values():返回字典中所有vlaue组成的列表
for key, value in dict1.items():循环打印
dict1.update(dict2):将字典dict2中的内容更新到字典dict1,若key相同则更新value,不同则添加键值对
dict.fromkeys([key1, key2, key3…], value):初始化一个字典

七、集合常见操作

set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以在set中,没有重复的key。

Day01,Python数据类型及常见操作

set1.add(obj):添加元素

set1.pop():任意删除集合中的一个值,返回该值

set1.remove(obj):删除元素,若值 不存在会报错

set1.discard(obj):删除元素,若值不存在也不会报错

Day01,Python数据类型及常见操作

集合之间的运算

 1  s1 = set([1, 2, 3])
 2  s2 = set([2, 4, 5])
 3  # 交集
 4  print(s1 & s2)
 5  print(s1.intersection(s2))
 6  # 并集
 7  print(s1.union(s2))
 8  print(s1 | s2)
 9  # 差集 in set1 but not in set2
 10 print(s1 - s2)
 11 print(s1.difference(s2))
 12 # 子集
 13 s3 = set([1, 2, 3])
 14 s4 = set([1, 2])
 15 print(s4.issubset(s3))
 16 # 父集
 17 print(s3.issuperset(s4))
 18 # 对称差集   把相同的去掉组成新的集合
 19 print(s1.symmetric_difference(s2))
 20 print(s1 ^ s2)
 21 s5 = set([4, 5])
 22 # 判断两个集合是否有交集,有即返回false
 23 print(s3.isdisjoint(s5))

八、补充

1、dict与list的比较

dict有以下特点:

        查找和插入的速度极快,不会随着key的增加而变慢

        需要占用大量的内存,内存浪费多

而list相反:

        查找和插入的时间随着元素的增加增加

        占用空间小,浪费内存很少


文章标题:Day01,Python数据类型及常见操作
URL标题:http://ybzwz.com/article/gjosis.html