Python常用又易遗忘的函数归纳(遇到一个存一个)

isinstance(object, classinfo)

Python 中的isinstance函数,isinstance是Python中的一个内建函数。是用来判断一个对象的变量类型

示例:

L=[1,3,'a']
if type(L) == type([]):
    print("L is list")
if type(L) == list:
    print("L is list")
if isinstance(L,list):
    print("L is list")

 

hex,oct,bin(进制转换)

hex:十进制转十六进制

oct:十进制转八进制

bin:十进制转二进制

示例:

I = 1024
print(hex(I),oct(I),bin(I))
# 0x400
# 0o2000
# 0b10000000000

 

将字符串转化为整数

string = '1024'
print(int(string,base=10)) base为进制数
#1024

x if y else z:三元选择表达式

示例:

print(1 if 5>3 else 0)
当 if中的判断语句为真时,输出第一位的参数;为假时,输出最后一位的参数
#1

a = 6
result = (a > 20 and "big than 20" or a > 10 and "big than 10" or a > 5 and "big than 5")    # 返回"big than 5"

+, -, *, /, //, %, **(算法)

示例:

a,b = (3.5,2)
print(a + b, a - b, a * b, a / b, a // b, a % b, a ** b)  
/除  
//除、得整数部分,被除数是什么类型,得数就是什么类型 
%求余 
**幂
#5.5 1.5 7.0 1.75 1.0 1.5 12.25
扫描二维码关注公众号,回复: 2945272 查看本文章

x[i], x[i:j:k] (索引,切片)

示例:

list = [1,3,4,6,7,8]
print(list[2],list[1:4:2])  [起始:终止:步数]含头不含尾
print(list[2],list[1:4:3])
#4 [3, 6]
#4 [3]

整数可以利用bit_length函数测试所占的位数

示例:

a,b = (1,1024)
print(a.bit_length(),b.bit_length())
#1 11

小数模块、分数模块

#小数模块
import decimal
from decimal import Decimal
De = Decimal("0.01") + Decimal("0.02")
decimal.getcontext().prec = 4
print(De)

#0.03

#分数模块
from fractions import Fraction
x = Fraction(4,6)
y = Fraction("0.25")
print(x,y)

#2/3  1/4

set.update(更新集合)

set2 = set("flask")
set2.update("django") 相当于一种添加元素的方式
print(set2)
#{'s', 'j', 'o', 'l', 'n', 'f', 'd', 'g', 'k', 'a'}

issubset,issuperset 两个集合做测试测试集合(小)中所y有元素是否在另一集合(大)中

set4 = {1,2,3}
set5 = {1,2,3,4,5}
print(set4.issubset(set5), #set4 <= set5
    set5.issuperset(set4)) #set >= set4

# True True

集合解析

set6 = {x ** 2 for x in [1,2,3,4]}
set7 = {x for x in 'spam'}
print(set6,set7)

#{16, 1, 4, 9} {'s', 'm', 'a', 'p'}

增强赋值和共享引用

d1 = d2 = [1,2]
d2 = d2 + [3,4]
print(d1,d2)

# [1, 2] [1, 2, 3, 4]

d1 = d2 = [1,2]
d2 += [3,4]
print(d1,d2)

#[1, 2, 3, 4] [1, 2, 3, 4]

普通+号会生成新的对象,而增强赋值+=会在原处修改

列表转字符串

list = ['1','2','3']
print(",".join(list))

#1,2,3

判断字符串是否全为字符、字母、数字、小写、大写

 str1.isalnum(); str1.isalpha(); str1.isdigit(); str1.islower(); str1.isupper()

字符串转换工具

print(ord('s'),chr(115))
print(int('1001',2)) 把字符串数字当成二进制数进行转换,转换成十进制整型

# 115 s
# 9

%g  表示自动选择合适的表示法输出(好像就是四舍五入到小数点后五位。。。)

pi = 3.1415926
print("%g" % pi)

#3.14159

基于字典的格式化表达式

    "%(name1)d---%(name2)s" % {"name1":23, "name2":"value2"}    
    "{0}, {1} and {2}".format('spam', 'ham', 'eggs')            # 基于位置的调用
    "{motto} and {pork}".format(motto = 'spam', pork = 'ham')   # 基于Key的调用
    "{motto} and {0}".format('ham', motto = 'spam')             # 混合调用


# 23---value2
  spam, ham and eggs
  spam and ham
  spam and ham
    # 例子:
'={0:10} = {1:10}'.format('spam', 123.456)    # 输出'=spam       =    123.456'
'={0:>10}='.format('test')                    # 输出'=      test='
'={0:<10}='.format('test')                    # 输出'=test      ='
'={0:^10}='.format('test')                    # 输出'=   test   ='
'{0:X}, {1:o}, {2:b}'.format(255, 255, 255)   # 输出'FF, 377, 11111111'
'My name is {0:{1}}.'.format('Fred', 8)       # 输出'My name is Fred    .'  动态指定参数

切片删除

    a = [1, 2, 3, 4, 5, 6, 7]
    a[1:4] = []  
                                     
    # a = [1, 5, 6, 7]
    
    a = [0, 1, 2, 3, 4, 5, 6, 7]
    del a[::2]                                        
    
    # 去除偶数项(偶数索引的),a = [1, 3, 5, 7]

常用字典常量和操作

D = {'spam':2,'tol':{'ham':1}}
print(D)
D = dict.fromkeys(['s','d'],8)
print(D)
D = dict(name='tom',age=12)
print(D)
D = dict([('name','tom'),('age',12)])
print(D)
print(D.keys())
print(D.values())
print(D.items())
print(D.pop('num','nonum')) 有key名为'num'的弹出'num'的建和值,并打印'num',没有则打印'nonum'

#{'spam': 2, 'tol': {'ham': 1}}
{'s': 8, 'd': 8}
{'name': 'tom', 'age': 12}
{'name': 'tom', 'age': 12}
dict_keys(['name', 'age'])
dict_values(['tom', 12])
dict_items([('name', 'tom'), ('age', 12)])
nonum

字典的append只能用在键对应的值为数组时

示例

a={'a':1,'b':[2]}
a['c']=3
(此时a = {'a':1,'b':[2],'c':3)
a['b'].append(4)
(此时a = {'a':1,'b':[2,4],'c':3)

赋值(考究一下)

#-- 赋值语句的形式
    spam = 'spam'                          # 基本形式
    spam, ham = 'spam', 'ham'              # 元组赋值形式
    [spam, ham] = ['s', 'h']               # 列表赋值形式
    a, b, c, d = 'abcd'                    # 序列赋值形式
    a, *b, c = 'spam'                      # 序列解包形式(Python3.x中才有)

#-- 序列赋值 序列解包
    [a, b, c] = (1, 2, 3)                  # a = 1, b = 2, c = 3
    a, b, c, d = "spam"                    # a = 's', b = 'p', c = 'a', d = 'm'
    a, b, c = range(3)                     # a = 0, b = 1, c = 2
    a, *b = [1, 2, 3, 4]                   # a = 1, b = [2, 3, 4]
    *a, b = [1, 2, 3, 4]                   # a = [1, 2, 3], b = 4
    a, *b, c = [1, 2, 3, 4]                # a = 1, b = [2, 3], c = 4
    # 带有*时 会优先匹配*之外的变量 如
    a, *b, c = [1, 2]                      # a = 1, c = 2, b = []

print函数原型

print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)

else 在 while语句和for语句中的使用

while a > 1:
    a -= 1
    print(1)

else :
    print(2)

#
1
1
1
1
2

for i in range(5):
    print(1)
else:
    print(2)

#
1
1
1
1
1
2

for循环的元组赋值

for (a,b)in[(1,2),(3,4)]:
    print(a,b)
#
1 2
3 4

for ((a,b),c) in [((1,2),3),((4,5),6)]:
    print(a,b,c)
#
1 2 3
4 5 6

for ((a,b),c) in [((1,2),3),("XY",6)]:
    print(a,b,c)
#
1 2 3
X Y 6

for (a,*b) in [(1,2,3),(4,5,6)]:
    print(a,b)
#
1 [2, 3]
4 [5, 6]

列表解析语法

list = [1,2,3]
print(sum(list))
#
6

M = [[1,2,3], [4,5,6], [7,8,9]]
res = [sum(row) for row in M]
print(res)
#
[6, 15, 24]

res = [c * 2 for c in 'spam']
print(res)
#
['ss', 'pp', 'aa', 'mm']

res = [a for a in [1,2,3] if a < 2]
print(res)
#
[1]

res = [a if a > 0 else 0 for a in[-1,0,1]]
print(res)
#
[0, 0, 1]
 # 两个列表同时解析:使用zip函数
for teama, teamb in zip(["Packers", "49ers"], ["Ravens", "Patriots"]):
    print(teama + " vs. " + teamb)
#
Packers vs. Ravens
49ers vs. Patriots

# 带索引的列表解析:使用enumerate函数
for index, team in enumerate(["Packers", "49ers", "Ravens", "Patriots"]):
    print(index, team) 
#
0 Packers
1 49ers
2 Ravens
3 Patriots
def func(a=[]):
	a.append(1)
	print(a)

func()
func()
func()

#
[1]
[1,1]
[1,1,1]

元组中只有一个元素,“必须”’在尾部加一个‘,’

a = ("one","two")
print(a[0])
#
one

b = ("just")
print(b[0])
#
j

c = ("just",)
print(c[0])
#
just

d = "just",
print(d[0])
#
just

猜你喜欢

转载自blog.csdn.net/xiaohuoche175/article/details/82147310