1,字符串:

name="ada lovelace"

  • 首字母大写 name.title()
  • 全部转化为大写 name.upper()
  • 全部转化为小写 name.lower()
  • 合并字符串 "hello" + name

name=" ada lovelace "

  • 删除结尾空白:name.rstrip()
  • 删除开头空白:name.lstrip()
  • 删除开头和结尾空白:name.strip()

str():

age=23

  • message="happy"+age+"rd birthday!" #有错误
  • message="happy"+str(age)+"rd birthday!" #正确形式

2.列表

color=['red','yellow','blue',black]

  • 访问列表元素:color[0]  #下标从 0开始,不是从1开始
  • 修改列表中的元素:color[1]="green"
  • 在列表中添加元素:color.append("white")
  • 在列表中插入元素:color.insert("orange")
  • 从列表中删除元素:del color[0]
  •   color.pop() #删除最后尾部的列表中的元素
  •   color.pop(1) #删除指定位置上的元素
  •   color.remove("red")

列表排序:

  •   使用sort()方法对列表进行永久性排序:color.sort(recerse=True)
  •   使用sorted()方法对列表进行临时排序:
  •     print(color)
  •         print(sorted(color))
  •     print(color)
  • 倒序打印列表:print(color.reverse())
  • 确定列表的长度:len(color)
  • 循环遍历整个列表:
  •   for c in color:
  •     print(c)

数值列表 

  •   range()函数
  •     for value in rang(1,4): #从1开始到4结束
  •       print(value)
  •   创建数值列表:
  •     number=list(range(1,11,2))
  •   统计数值列表中的最大值:max(number)
  •   统计数值列表中的最小值:min(number)
  •   统计数值列表中的值的和:sum(number)
  •   数值列表的demo:
  •     squares=[value**2 for value in range(1,11)]
  •     print(squares)

使用列表中的一部分--切片

  •   print(color[0:3]) #从索引位置0开始到索引位置3结束  
  •   print(color[-3:]) #从索引位置倒数第三个到最后
  • 遍历切片:
  •    for c in color[:3]:
  •     print(c)

复制列表:  

  •   color1=color[:]#此时color和color1两个不是同一个列表,只是列表中的元素相同
  •   color1=color#此时color和color1两个是同一个列表

3 元组:

  •  元组和列表的区别在于:列表可以改变列表元素,而元组不可以
  •  在外形上的区别是:元组是用小括号标识,列表是用中括号标识 

定义元组:

  dimensions=(200,50)

  print(dimensions[0])

遍历元组中的所有值:

  for dimension in dimensions:

    print(dimension)

修改元组变量:  

  dimensions=(200,50)

  for dimension in dimensions:

    print(dimension)

  dimensions=(200,55)

  for dimension in dimensions:

    print(dimension)

4.字典

  • 字典是一系列的键值对:alient_0={"color":"red","points":"5"}
  • 访问字典中的值:alient_0["color"]
  • 添加键值对:alient_0["x_posisiotn"]=25
  • 修改字典中的值:alient_0["color"]="yellow"
  • 删除键值对:del alient_0["color"]
  • 由类似对象组成的字典:
  •    alient_0={
  •     "color":"red",
  •     "points":"5"
  •    }
  • 遍历字典中所有的键值对:for key,value in alient_0.items():
  • 遍历字典中的所有的键:for name in alient_0.keys(): 或 for name in alient_0:
  • 按顺寻遍历字典中的所有的键:for name in sorted(alient_0.keys()):
  • 遍历字典中的所有值,用set集合来去重:for name in set(alient_0.vlaues()):

字典和字典,字典和列表,列表和列表,可以嵌套使用。。。

5函数

  • 当列表作为函数的参数时,为了不改变列表的值,可以使传递的参数是列表的副本:function_name(list_name[:])
  • 传递任意数量的参数:def make_pizza(*toppings)
  • 结合使用位置实参和任意数量实参:def make_pizza(size,*toppings)
  • 使用任意数量的关键字实参:def make_pizza(first,last,*toppings)

函数和模块:模块为扩展名为.py的文件,函数位于模块中

  • 导入整个模块:import pizza
  •        pizza.make_pizza(12,"apple")
  • 倒入特定的函数:from pizza import make_pizza
  • 使用as给函数指定别名:from module_name import function_namr as fn
  • 使用as给模块指定别名:import module_name as mn
  • 导入模块中的所有函数:from pizza import *

6类

__init__()类似于java中的构造方法,形参self必不可少,还必须放在其他的形参的前边。为何必须在方法定义中包含形参self呢? 因为Python调用这个__init__() 方法来创建Dog 实例时, 将自动传入实参self 。 每个与类相关联的方法调用都自动传递实参self , 它是一个指向实例本身的引用, 让实例能够访问类中的属性和方法。 我们创建Dog 实例时, Python将调用Dog 类的方法__init__() 。 我们将通过实参向Dog() 传递名字和年龄; self 会自动传递,因此我们不需要传递它。 每当我们根据Dog 类创建实例时, 都只需给最后两个形参( name 和age ) 提供值。

之前总结的直接搬过来了,嘻嘻嘻

Python list列表 定义格式 a=[1,2,'X'] 修改 a[1]=3 添加 append()

会在后面直接插入元素 元素如果是个地址(如列表),会直接不进行拆分直接添加地址

extend()

会在后面直接插入元素 元素如果是个地址(如列表),会进行拆分并逐个添加地址内元素

a3=[1,2] a4=[1,3] a4.extend(a3) print(a4)#[1, 3, 1, 2] a5=[1,5] a4.append(a5) print(a4)#[1, 3, 1, 2, [1, 5]] 但是 如内元素内依然有地址则不会拆分

a2=[1,2] a3=[1,a2] a4=[1,3] a4.extend(a3) a4.extend(a3) print(a4)#[1, 3, 1, [1, 2]] 删除 pop()

输入角标 删除指定角标处元素

如不输入删除最后一个

a1=[1,2,1,3,1,3] a1.pop(0) print(a1)#[2, 1, 3, 1, 3] a1.pop() print(a1)#[2, 1, 3, 1] remove()

删除指定元素 如有多个删除第一个

a2=[1,2,1,3,1,3] a2.remove(1) print(a2)[2, 1, 3, 1, 3] 切块 arr[X:Y]获取列表中从x到y(有x无y)中的元素

a1[1:3] 获取地址 id(a1) 复制 直接使用等于获取的是地址

修改列表时原列表也会发生改变

用copy方法获取的是新的指针方向

但是如果列表内嵌套了列表

修改 嵌套内的列表时 原列表也会发生改变

属于浅copy

a3=[1,2] a4=[1,a3] print(a4)#[1, [1, 2]] a5=a4.copy() a5[1].append(5) print(a4)#[1, [1, 2, 5]] 使用 deepcopy()方法可进行深copy

即使修改列表内的列表值原列表也不会发生改变

需要导包(from copy import deepcopy)

from copy import deepcopy a6 = deepcopy(a4) a6[1].append(3) print(a6)#[1, [1, 2, 5, 3]] print(a4)#[1, [1, 2, 5]] 遍历 简单列表 例如

list1=[“a”,“b”,“c”,“d”]

for i in list1: print(i)

列表中元素为元组时: 例如

list2=[(“a”,1),(“b”,2),(“c”,3),(“d”,4)]

for x,y in list2: print(x,y) 输出为:

a 1

b 2

c 3

d 4

列表中元素为集合时: 例如:

list3=[{“a”,1},{“b”,2},{“c”,3},{“d”,4}]

for x,y in list3: print(x,y) 输出为:

1 a

2 b

3 c

4 d

注意:集合中的元素是无序的,所以打印出来也是随机排列的。

列表中的元素为字典时: 例如:

list4=[{“a”:1},{“b”:2},{“c”:3},{“d”:4}]

for x in list4: print(x)

输出结果为:

{“a”:1}

{“b”:2}

{“c”:3}

{“d”:4}

方法 population 随机数

random.sample(population, k)

population:列表 k:随机返回的个数 reverse()内元素倒置 a1 = [1, 2, 1, 3, 1, 3] a1.reverse() print(a1)#[3, 1, 3, 1, 2, 1]

sort 排序 如果元素为数字按数字大小排序

a1 = [1, 2, 1, 3, 1, 3] a1.sort()#默认等同a1.sort(reverse=False) print(a1)#[1, 1, 1, 2, 3, 3] a1 = [1, 2, 1, 3, 1, 3] a1.sort(reverse=Ture) print(a1)#[3, 3, 2, 1, 1, 1]

如果元素为字符按字符第一个大小排序顺延

a1 = ['SDS','AC','AAD','ASDASD','SDS'] a1.sort() print(a1)#['AAD', 'AC', 'ASDASD', 'SDS', 'SDS']

不可数字字符混用

有更加具体的排序请自行搜索 以上只是一部分

count 计数 获取指定字符出现的次数

index 角标索引 获取指定字符第一次出现的位置

index(x,y,z)

获取指定字符x 从y到z区域中第一次出现的位置

a=(1,2,1,1,1) print(a.count(1))#4 print(a.index(2))#1 print(a.index(1,0,3))#0

字典 定义 用大括号包住

key 对应 元素

a1={1:2, 3:4} print(a1)

获取

print(a1[1])#{1:2,3:4}

方法 删除相关 pop() 若无参数则报错

若有会返回对应值

popitem() 删除最后一个元素并返回元素(元组)

a={ 1:2, 2:5 } a.pop(1) print(a)#{2: 5}

a={ 1:2, 2:5 } print(a.popitem())#(2, 5)

clear() 删除 删除全部

a={ 1:2, 2:5 } a.clear() print(a)#{}

获取相关 keys()获取钥匙 valus()获取值 get() 获取对应值 通过键获取值 可以防止报错

.get(X,若无返回的值默认none)

a={ 1:2, 2:5 } print(a.keys())#dict_keys([1, 2]) print(a.values())#dict_values([2, 5]) print(a.get(3))#None

items()获取 获取字典中所有元素 以元组返回

list() 可以将类似的转换为list

setdefault()获取传入 获取对应值若有则获取若无则传入传入默认为None

setdefault(key,valus)

a={ 1:2, 2:5 } print(a.setdefault(3))#None print(a)#{1: 2, 2: 5, 3: None'}

添加相关 update() 将元素添加入字典

或将其他字典里的元素添加进入

a={ 1:2, 2:5 } b={} b.update(a) b.update([(5,6),(9,7)]) print(b)#{1: 2, 2: 5, 5: 6, 9: 7} b[8]=7 print(b)#{1: 2, 2: 5, 5: 6, 9: 7, 8: 7}

10 b[key]=valus

可以直接添加

集合 定义 无序不重复

b={1,2,3,4,2} print(b)#{1, 2, 3, 4}

因为无序直接获取会报错

print(b[0])#TypeError: 'set' object is not subscriptable

定义空集合方法

a=set()#空集合 print(a,type(a))#set() <class 'set'>

直接为空是字典

c={} print(c,type(c))#{} <class 'dict'>

方法 传入相关 add()

b={1,2,3,4,2} d=(1,2) e={5:6} f=[7,8] b.add(d)# print(b)#{1, 2, (1, 2), 3, 4} #传入字典和列表时候会报错

删除相关 clear() 删除 删除全部

discard()

删除一个

fruits = {"apple", "banana", "cherry"}

fruits.discard("banana")

print(fruits)#{'cherry', 'apple'}

获取相关 update()并集合 实例 把集合 y 中的项目插入集合 x:

x = {"apple", "banana", "cherry"} y = {fruits = {"apple", "banana", "cherry"} x.update(y) print(x)#{'banana', 'google', 'microsoft', 'cherry', 'apple'}

intersection()返回交集 x = {"apple", "banana", "cherry"} y = {"google", "microsoft", "apple"}

z = x.intersection(y)

print(z)#{'apple'}

issubest() 如果集合 y 中存在集合 x 中的所有项目,则返回 True:

x = {"a", "b", "c"} y = {"f", "e", "d", "c", "b", "a"}

z = x.issubset(y)

print(z)#True

基本运用 字符串去重

S = 'lsdljfjaldfaowioueroiuwoe' A = set(S) print(A)#{'d', 'j', 'l', 'w', 'a', 'i', 'e', 'r', 'f', 'o', 'u', 's'} B = list(A) print(''.join(A))#djlwaierfous B.sort(key=S.index) print(B)#['l', 's', 'd', 'j', 'f', 'a', 'o', 'w', 'i', 'u', 'e', 'r'] print(''.join(B))#lsdjfaowiuer

运算符 Python 在以下组中划分运算符:

算术运算符 赋值运算符 比较运算符 逻辑运算符 身份运算符 成员运算符 位运算符 Python 算术运算符 算术运算符与数值一起使用来执行常见的数学运算:

运算符 名称 实例

  • 加 add x + y

  • 减 sub x - y

  • 乘 mul x * y / 除 floordiv x / y % 取模 mod x % y ** 幂 pow x ** y // 地板除(取整除)div x // y Python 赋值运算符 赋值运算符用于为变量赋值:

运算符 实例 等同于 = x = 5 x = 5 += x += 3 x = x + 3 -= x -= 3 x = x - 3 *= x *= 3 x = x * 3 /= x /= 3 x = x / 3 %= x %= 3 x = x % 3 //= x //= 3 x = x // 3 = x = 3 x = x ** 3 &= x &= 3 x = x & 3 Python 比较运算符 比较运算符用于比较两个值:

运算符 名称 实例 == 等于 eq x == y != 不等于 ne x != y

    大于gt    x > y
<   小于lt    x < y
=   大于或等于ge x >= y
<=  小于或等于le x <= y
Python 逻辑运算符
逻辑运算符用于组合条件语句:

运算符 描述 实例 and 如果两个语句都为真,则返回 True。 x > 3 and x < 10 or 如果其中一个语句为真,则返回 True。 x > 3 or x < 4 not 反转结果,如果结果为 true,则返回 False not(x > 3 and x < 10) Python 身份运算符 身份运算符用于比较对象,不是比较它们是否相等,但如果它们实际上是同一个对象,则具有相同的内存位置:

运算符 描述 实例 is 如果两个变量是同一个对象,则返回 true。 x is y is not 如果两个变量不是同一个对象,则返回 true。 x is not y Python 成员运算符 成员资格运算符用于测试序列是否在对象中出现:

运算符 描述 实例 in 如果对象中存在具有指定值的序列,则返回 True。 x in y not in 如果对象中不存在具有指定值的序列,则返回 True。 x not in y Python 位运算符 位运算符用于比较(二进制)数字:

运算符 描述 实例 & AND 如果两个位均为 1,则将每个位设为 1。 | OR 如果两位中的一位为 1,则将每个位设为 1。 ^ XOR 如果两个位中只有一位为 1,则将每个位设为 1。 ~ NOT 反转所有位。 << Zero fill left shift 通过从右侧推入零来向左移动,推掉最左边的位。

    Signed right shift  通过从左侧推入最左边的位的副本向右移动,推掉最右边的位。
数据
Python为我们提供了强大的内置函数和格式化数字的方法去实现进制转换的功能,下面一一介绍。
先将所有的函数罗列出来,如下:

↓ 2进制 8进制 10进制 16进制 2进制 - bin(int(n,8)) bin(int(n,10)) bin(int(n,16)) 8进制 oct(int(n,2)) - oct(int(n,10)) oct(int(n,16)) 10进制 int(n,2) int(n,8) - int(n,16) 16进制 hex(int(n,2) hex(int(n,8) hex(int(n,10)) -

2进制 2进制转换成其他进制:

2进制转换成8进制:oct(int(n,2)) n=input() print(oct(int(n,2)))

输入: 1010 输出: 0o12

2进制转换成10进制:int(n,2) n=input() print(int(n,2))

输入:1010 输出:10

2进制转换成16进制:hex(int(n,2)) n=input() print(hex(int(n,2)))

输入:1010 输出:0xa

8进制 8进制转换成其他进制:

8进制转换成2进制:bin(int(n,8)) n=input() print(bin(int(n,8)))

输入:1010 输出:0b1000001000

8进制转换成10进制:int(n,8) n=input() print(int(n,8))

输入:1010 输出:520

8进制转换成16进制:hex(int(n,16)) n=input() print(hex(int(n,8)))

输入:1010 输出:0x208

10进制 10进制转换成其他进制: 说明:10进制转换可以直接采取上述表格中的形式,读入字符串,先转换为10进制的数,再用函数进行操作转换成其他进制。 但同时可以这样操作,读入的时候直接进行强制类型转换操作,转为int类型(python中的int类型的数据就是10进制)

10进制转换成2进制:bin(n) n=int(input()) print(bin(n))

输入:10 输出:0b1010

10进制转换成8进制:oct(n) n=int(input()) print(oct(n))

输入:10 输出:0o12

10进制转换成16进制:hex(n) n=int(input()) print(hex(n))

输入:10 输出:0xa

16进制 16进制转换成其他进制:

16进制转换成2进制:bin(int(n,16)) n=input() print(bin(int(n,16)))

输入:a 输出:0b1010

16进制转换成8进制:oct(int(n,16)) n=input() print(oct(int(n,16)))

输入:a 输出:0o12

16进制转换成10进制:int(n,16) n=input() print((int(n,16)))

输入:a 输出:10

去头缀 注意:我们可以发现,除了转换成10进制的数,其他的进制转换结果都带有前缀,2进制是0b,8进制是0o,16进制是0x。但是我们在绝大部分使用进制转换后的数据时,是不需要它的前缀的。所以笔者这里介绍两种方法,去掉它的前缀。

方法一:使用字符串切片操作 原理:就是将进制转换后得到的结果对其进行字符串切片操作,将得到的结果从第三个字符开始取结果即可,这样我们可以得到不带前缀的结果

举例:

//10进制转换成2进制 n=int(input()) print(bin(n)[2:])//切片操作

输入:10 输出:1010

//10进制转换成8进制 n=int(input()) print(oct(n)[2:])//切片操作

输入:10 输出:12

//10进制转换成16进制 n=int(input()) print(hex(n)[2:])//切片操作

输入:10 输出:a

笔者这里以10进制转换其他进制进行了举例,其他的情况类比即可。

方法二:使用format函数进行格式化数字操作 说明:首先,笔者在前面说过,不同类型的进制转换的原理时先转换为十进制,然后再用相关的函数进行禁止转换操作,而format函数里面有格式化数字的方法可以直接实现进制转换的功能,下面一一介绍:

其他类型转换为2进制: 操作:在format函数的槽中添加一个b 即可实现其他类型对2进制的转换,下面举例说明

n=input() print("{:b}".format(int(n,8))) //先将8进制的数转换为10进制, //然后在format的槽中添加一个b,等价于实现了bin函数的功能 //但是此结果是不带有0b前缀的

输入:1010 输出:1000001000

其他类型转换为8进制:

操作:在format函数的槽中添加一个o 即可实现其他类型对8进制的转换,下面举例说明

n=input() print("{

python复习加总结相关推荐

  1. day08 操作索引脏读、幻读、不可重复读 python复习

    day08 操作索引脏读.幻读.不可重复读 python复习 昨日内容复习 视图 把sql语句查询结果保存下来,结果就叫视图视图的数据来自于原始表,在硬盘中只有表结构 create view 视图名称 ...

  2. [强化学习代码笔记]Python复习

    文章目录 Python复习 1. 介绍 2. 编写规范 3. 基本语法 一切都是对象 查看帮助 空/否定 保留字 as assert del try...except...finally global ...

  3. Python复习笔记——基础知识

    Python复习笔记-基础知识 文章目录 Python复习笔记-基础知识 Python变量 基于值的内存管理方式 赋值语句的执行过程 Python定义变量名的规范 运算符和表达式 加+ 乘* 除/ % ...

  4. 成功解决:将后缀.pyx格式文件(linux环境)编译成pyd文件(windows环境下)实现python编程加载或导入

    成功解决:将后缀.pyx格式文件(linux环境)编译成pyd文件(windows环境下)实现python编程加载或导入 目录 解决问题 解决思路 解决方法 解决问题 .pyx格式文件,在window ...

  5. python中变量名后的逗号_深入浅析python变量加逗号,的含义

    逗号,用于生成一个长度为1的元组 >>> (1) 1 >>> (1,) (1,) >>> 1, (1,) 因此需要将长度为1的元组中元素提取出来可 ...

  6. python加载模型_解决python 无法加载downsample模型的问题

    downsample 在最新版本里面修改了位置 from theano.tensor.single import downsample (旧版本) 上面以上的的import会有error raise: ...

  7. 微信运营——利用python自动加微信(通往销冠之路)

    前言: 运营获客,微信运营也是其中一种,没想到不是老客户运营,而是直接加陌生微信.先不管效果怎么样,说说如果利用python自动加微信.我们公司和兔展合作,还建立了公司,估计也花了不少钱,但是我自己一 ...

  8. 超级简洁的Python风格加解密

    超级简洁的Python风格加解密 示例 安装 API文档和代码仓库 加密一切对象! 实现与依赖 加密分三步: 引入加密函数 把对象和密钥丢进加密函数里 把密文取出来 解密也分三步: 引入解密函数 把密 ...

  9. python重新加载文件_Python的重新加载知识点总结

    简述Python的重新加载 为防止两个模块互相导入的问题,Python默认所有的模块都只导入一次,如果需要重新导入模块, Python2.7可以直接用reload(),Python3可以用下面几种方法 ...

最新文章

  1. Bagging与随机森林算法原理小结
  2. python编程入门t-python高级编程——入门语法(二)
  3. 让其他CMS黯然失色的we7CMS
  4. 中山电子科技大学计算机学院分数线,电子科技大学中山学院
  5. 苹果和谷歌在印度下架数十款中国应用;贾跃亭宣布破产重组完成;Tails 4.8 发布| 极客头条...
  6. 在redhat/centos的linux环境下安装配置java web运行环境
  7. java中级面试题 之基础篇
  8. 荐号 | “看一看”中“偷”来的很棒的公众号
  9. Gallery of Processor Cache Effects
  10. 各省简称 拼音 缩写_省份简称拼音
  11. 快速提升网站排名的七种方法
  12. 服务器2008系统usb驱动,Windows Server 2008 R2驱动程序整合USB3实用程序
  13. 关于Error:Execution failed for task ':app:transformClassesWithDexForDebug'的解决方法
  14. windows多网卡叠加网速
  15. 【R语言】——VennDiagram包绘制维恩图(保姆级教程)
  16. bsl计算机术语,一种BSL的确定方法、BIER-TE控制器和计算机存储介质与流程
  17. xp系统计算机无线开关在哪,xp怎么设置无线网络?xp系统设置无线网络的方法
  18. Twitter的网页代码
  19. clamav(clamav杀毒 启动)
  20. Android刷新页面

热门文章

  1. 自然语言处理 | (11) N-gram语言模型及其应用
  2. 极客大挑战 Http
  3. CS4344/45/46/48
  4. 如何使用Gilisoft File Lock来阻止exe文件运行
  5. 北京推进政务服务“区块链+电子证照”应用
  6. 日语二级文法详解(完整版)
  7. C语言 | 删除字符串里的空格
  8. issp调试数码管显示
  9. echars 饼图环形图组件修改 自定义图例 重新渲染 显示对应颜色对应区域
  10. 杨承润:在你没获取别人信任之前,说的话都是废话