目录
一、运算符
代码本身是有逻辑运算的,所以说一定要使用到各种类型的运算符来帮助我们实现代码的逻辑运算。基本的加减乘除这些符号都属于运算符之中,在Python体系下有非常多的运算符。
1.基本的加减乘除
加减乘除 + - * /
一、+号的使用
基础的加法运算只限于数字类型Number类型进行计算
a = 1
b = 2
c = a + b
print(c)
string类型也可以做加法,但是仅能作为字符串的拼接
a = 'h'
b = 'zp'
c = a + b
print(c)
Number类型的不能加string类型的
二、- 号的使用
-号只能在数字Number类型之间进行运算,字符没法使用-号
三、*号的使用
*号可以用于数字,也可以用于字符
a = 'h'
b = a*20
print(b)输出的结果是将20个h
四、/号的使用
c = 1/3
2.比较运算符
=号,是赋值运算符
a = 1 是将右边的1赋值给了a这个变量
==号,是比较运算符
a ==1 ,判断两边的值是否相等,相等则返回Ture,否则返回False
!=号,判断两者是否不相等
1!=2,结果是返回Ture
>和>=表示大于和大于等于
<和<=表示小于和小于等于
3.赋值运算符
a = 1,将1赋值给a
a+=1,意思就是到此处,将a的值在原有的基础上加1,同理,也有-=和*=和/=
一般是用来计数的,这样的情况下会会用到它
4.逻辑运算符
and、or、not 与或非
a and b ,a和b同时是ture才会返回ture。条件a如果成立,那么就会运行第二个b条件;条件a如果不成立,那么第二个条件b不会运算,会直接返回false
a or b,a或者b中两个任意一个条件成立了,就会返回ture。条件a如果成立,那么b就不会运行,如果a不成立,b才会运行。
not a,判断是否不为指定对象,结果也是返回ture或者false
5.成员运算符
成员运算符不表示指定对象是否属于某一个目标,一般用于序列之中进行内容的判断。
in和not in,两者相反
print('a' in ['a','b','c'])
二、数据类型进阶
数据类型进阶操作,主要常见的数据类型操作一般而言分为String、List、Dictionary三大类,其余基础数据类型的操作相对会少一些。
1.字符串的格式化输出
字符串的格式化输出:占位符的概念。
在不改变原有的str内容格式基础上,将指定的内容添加到需要添加的位置。
name = '自动化'
print('Python{0} is the Best{1}!'.format(name, 'aaa'))
2.应对多行字符串的输出
使用三引号,和注释的写法一样,但是需要赋值。这种写法不需要转义。因为所有的内容都是字符串。除了转义字符
content = '''
<html>
<header>
<body>' \\"
</html>
'''
print(content)
3.字符串编码
修改编码格式,便于将获取的内容以正确的编码格式显示,从而不影响正常的数据使用
str1 = 'HCC Python Class' # 普通字符串
str2 = str1.encode(encoding='gbk') # 将原有的编码格式改为gbk
下面是基于gbk的编码格式解析内容
print(str2.decode(encoding='gbk'))
4.内容大小写的切换
大小写的切换
a = 'abcDefg'
大写 Upper
print(a.upper())
小写 lower
print(a.lower())
5.去除内容中的空格
去除首尾空格的内容
b = '000000000asd000000'
print(b.strip()) #将b中的首和尾的0都去掉
print(b.strip()) # lstrip()和rstrip()表示去掉左侧或者右侧的空格
6.字符串的内容替换
a = ' zsada asd '
print(a.replace(' ', '')) #将所有空格替换成空
print(a.replace('a', 'hcc', 1)) # 最后一个参数决定整个替换的次数
7.字符串的切片
对字符串内容进行处理的时候,需要进行字符串的分割,需要调用split()函数,切分后的数据是以list格式进行输出
a = 'hccxsaysxPythonxisxthexBest!'
默认split切分:默认是基于文中的空格来进行
print(a.split())
指定切分的数据内容
print(a.split('x'))
b = a.split('x') # 拆解后的字符串
设置切分次数
print(a.split('x', 3))
将各个不同的字符串
拼接成一个完整的内容
print(' '.join(b)) #将不同的被切分的内容以空格隔开进行拼接
print(','.join(b)) #将不同的被切分的内容以 ,隔开进行拼接
三、针对list和dict两种类型的强制操作
list类型
li = ['b', 'e', 'a', 2]
1.增加元素
li.append('a') #在list列表中添加了一个a
2.删除元素
del删除元素,remove删除
del li[3] # del函数删除元素是通过下标
li.remove('a') # remove函数删除元素是通过值,而不是下标
3.列表长度
len()函数用于获取序列的长度
print(len(li))
4.对列表排序
对list进行排序:排序是针对数据类型一致的前提下进行排序
li1 = [2, 3, 6, 1, 10, 8, 5]
li1.sort() # sort排序会修改原有的list顺序
print(li1)
print(sorted(li1)) # sorted排序不会修改原有的list顺序
print(li1)
print(sorted(li))
合并list
print(li + li1)
字典的数据类型操作
5.dict数据类型操作
di1 = { } # 这是创建空字典
set1 = set() # 这是创建空集合
di1 = { 'name': 'hcc', 'age': 17 }
新增一个kv对在原有的字典中:
di1['sexual'] = '男'
对原有的值进行修改:
di1['namel'] = 'hzp'
字典的删除是通过key删除指定的kv对:
del di1['sexual']
清空整个字典的内容:
di1.clear()
获取字典中所有的key:
print(di1.keys())
字典中所有的value:
print(di1.values())
获取字典中获取所有的键值对:
print(di1.items())
通过循环来获取字典中的所有内容:
for key in di1.keys():
print(di1[key])
四、数据类型的转换
数据类型的切换: 在编程世界里,每一种运算都是需要关联到数据类型的。
为了让运算的过程中数据类型保持一致,会有一个叫做数据转型的操作。在强制转型的时候一定要考虑被转对象的内容是什么。一定要满足转型后的数据类型的值才可以正常转型。
强制转型时一定要注意数据内容能否被正常转型,如果数据本身无法被转型,则强制转型会失败。
a = '123'
print(type(a)) #str类型
b = int(a) # 将a强制转型为int类型
面试题:如何将一个list列表进行去重?
li = [1, 2, 5, 3, 2, 1, 6, 43, 5, 2, 10]
se = set(li)
li1 = list(se)
如何将一个list列表进行去重,且结果为一个string类型的列表?
li2 = []
for i in li:
li2.append(str(i))
print(','.join(li2))