Python总结

参考 

1.==与is的区别

==是对象value的比较

is是对象id的比较

例:

a = b = 10

c = 10

print(a==c)//true

print(a is c)//true

print(a is b)//true

print(id(a),id(b),id(c))//都相同

# 对于列表
lst1 = lst2 = [11,22,33,44]
lst3 = [11,22,33,44]
print('lst1与lst2值相同:', lst1 == lst2)//true
print('lst1与lst2地址相同:', lst1 is lst2)//true
print('lst1与lst3值相同:', lst1 == lst3)//true
print('lst1与lst3地址相同:', lst1 is lst3)//false

对于单数字的变量,哪怕分开赋值,存储地址也相同。
对于列表,只有链式赋值的存储地址才相同,其他都不同

2.bin()

print(bin(0b1100 & 0b1001))// 0b1000

3.将指定的十进制数转换成二进制、八进制、十六进制(格式化字符串)

73e84eaca9e1460895b79633a3e46e62.png

格式化字符串:

  1. % 作为占位符。%s 表示字符串;%i 或 %d 表示整数;%f 表示浮点数。(不建议用)
  2. { } 作为占位符。花括号里面的值表示索引,若只有一个数据,可以不写索引。
  3. f-string。Python3中还定义了f字符串方法,可以直接将变量名写进花括号里面。

4.Python中的三元运算符

x = y = 10

print(x if x > 10 else y)//10

5.Python可以将两个与的条件写成连续比较的格式

if 70<=score<80

6.三种字符串判断数字的方法的区别

isdigit()
True: Unicode数字,byte数字(单字节),全角数字(双字节),罗马数字
False: 汉字数字
Error: 无
isdecimal()
True: Unicode数字,,全角数字(双字节)
False: 罗马数字,汉字数字
Error: byte数字(单字节)
isnumeric()
True: Unicode数字,全角数字(双字节),罗马数字,汉字数字
False: 无
Error: byte数字(单字节)

7.range

r = range(1,10,2)

print(list(r))  #[1, 3, 5, 7, 9]    不加list就输出range(1,10,2)

print(2 in r)   #False

print(9 in r)   #True

注:in与 not in判断整数序列中是否存在(不存在)指定的整数。

r1 = range(0, -10, -2)

print(list(r1)) #[0, -2, -4, -6, -8]

8.加空格

for i in range(10):

         print(i, end=' ')#要加end=' ',否则全部换行了

9.chr()函数         参考

for i in range(48,58):

        print(chr(i),end='') #0123456789

i 可以是10进制也可以是16进制的形式的数字。

函数返回值类型为String,其数值表达式值取值范围为0~255。

返回值是当前整数对应的 ASCII 字符。

格式:ord(“字符串“)
说明: 函数返回值类型为 int类型
例如 : ord(“0”),结果显示:48

ord() 函数是 chr() 函数(对于8位的ASCII字符串)或 unichr() 函数(对于Unicode对象)的配对函数,它以一个字符(长度为1的字符串)作为参数,返回对应的 ASCII 数值,或者 Unicode 数值,如果所给的 Unicode 字符超出了你的 Python 定义范围,则会引发一个 TypeError 的异常。

例:

a = ord('A')

print(a) #65

10.list(列表的索引可以是正向索引,也可以是逆向索引

a078e39e2a058fad9ac8d3d0bf220eac.png

list的特点

  1. 列表元素按顺序有序排序。
  2. 列表的索引映射唯一一个数据。
  3. 列表可以存储重复的数据。
  4. 任意的数据类型都可以在列表中混存。
  5. Python解释器会根据需要动态分配和回收内存,不需要程序员分配。

list的创建方式

  1. 使用中括号。
  2. 调用内置函数list()。

例:

tmp = ['hello', 10, 'world']        #或者用tmp=list(['hello', 10, 'world'])

print(tmp[-2])   #10  根据索引获取元素(指定索引不存在,则抛出IndexError)

print(tmp.index('hello'))    #0  根据元素获取索引(查询的元素不存在,则会抛出ValueError)

11.字典的创建方式:

  1. 使用花括号(最常用)。
  2. 使用内置函数dict()

例:

score = {'张三':100, '李四':98, '王五':45}
print(score)        # {'张三': 100, '李四': 98, '王五': 45}
height = dict(张三=100, 李四=98, 王五=45)
print(height)        # {'张三': 100, '李四': 98, '王五': 45}

12.获取字典中的元素有两种方法

  1. 使用方括号[ ],若字典中不存在指定的key,抛出keyError异常。
  2. 使用字典方法.get(),若字典中不存在指定的key,返回None,也可以设置返回的值。

例:

print('陈六的值:', score.get('陈六', -1)) # -1就是在找不到时返回的值


注:使用innot in两个布尔运算符主要用于查找字符串列表中是否有相应的元素。当然这对于字典元素来说也适用,但只是用来查找键(key)是否存在

例:

print('张三' in score)

13.元组的创建方式主要有两种:

  1. 直接使用小括号。
  2. 使用内置函数tuple()

例:

tp = ('python', 10, 'hello')

print(tp)        #('python', 10, 'hello')

tp2 = 'python', 10, 'hello'        #可以省略小括号

print(tp2)        #('python', 10, 'hello')

tp3 = ('python',)    #不加上小括号和逗号也没报错,但是输出没有带上小括号

print(tp3)        #('python',)        若只有一个元素,要加上小括号和逗号

tp4 = tuple(('python', 10, 'hello'))

print(tp4)        #('python', 10, 'hello')

tp5 = tuple(('python',))

print(tp5)        #('python',)        若只有一个元素,要加上小括号和逗号

一定要注意,若元组只有一个元素,不管采用什么方式,都要加上小括号和逗号。

14. 不可变序列与可变序列的区别

b6f2bce03f974f6588d0b59e139bded9.png

15.集合有两种创建方式:

  1. 直接使用 { } 。
  2. 使用内置函数set()

 集合(集合就是没有value的字典)的特点

  1. 集合中的所有元素不允许重复,否则会自动删除。
  2. 集合中的元素是无序的。
  3. 集合中的元素必须是不可变对象(比如列表就不可以)。
  4. 集合也可以根据需要动态地伸缩。
  5. 集合会浪费较大的内存,也是一种使用空间换时间的数据结构。
  6. 空集合的定义只能使用内置函数set()

例:

se1 = {'hello', 20.3, 56, 56}

print(se1)        #{56, 20.3, 'hello'} 输出并不是固定的,每运行一次结果可能都不一样

16.enumerate()

遍历索引又要遍历元素时:

list1 = ["这", "是", "一个", "测试"]

for index, item in enumerate(list1): #可以接收第二个参数,用于指定索引起始值

        print index, item

17.手动抛出异常对象 raise()

try:
   a = int(input('请输入一个[0,100]之间的整数:'))
   if 0<=a<=100:
       print('分数为:', a)
   else:
       raise Exception('输入不在范围内') # 手动抛出异常
       # raise就是告诉编译器,我给你加了一个报错的情况,名字叫Exception
except Exception as e:
   print(e)

输出:

请输入一个[0,100]之间的整数:120

输入不在范围内

18.range:http://t.csdn.cn/2zW4S

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值