python各种数据类型的常用方法_Python之数据类型的常用方法

常用方法汇总

1. int类

方法汇总:

变量名.to_bytes('数字',"little"\"big") # (把数字转换成bytes)

# 数字表示转换后几个字节表示 little在前面,big在后面(大小端)

int.from_bytes("要转换的东西","little"\"big") # 字节转换成数字

bit_length() # 判断当前十进制数字占二进制的位数

# 新加功能:big 和little 在这里是一个大小端,big 在后,little在前

# to_bytes() 从数字转换字节

a =5

new_bytes = a.to_bytes(2,"big")

print(new_bytes)

a =5

new_bytes = a.to_bytes(2,"little")

print(new_bytes)

# from_bytes() 从字节转换成数字

a =5

new_bytes = a.to_bytes(1,"little")

new_a = int.from_bytes(new_bytes,"big")

print(new_bytes)

print(new_a)

# 结果:

b'\x00\x05'

b'\x05\x00'

b'\x05'

5

2. str类

方法汇总:

str.lower() # 只能做英文

str.casefold() # 包含小语种 β-->ss的大写

str.center('总长度',"前后填充")

str.ljust('总长度',"后面填充")

str.rjust('总长度',"前面填充")

str.count("序列","起始位","结束位") # 查看序列是否存在

str.expandtabs('总位数') # xxx\t 一共占多少位,可以做简单表格形式

# \n 或 \r\n 换行符 \t制表符

str.find("字符") # 找到字符所在第一个位置的索引,没有时,返回-1

str.index("字符") # 找到字符所在第一个位置的索引,没有时,报错

str.format() # 字符串格式化(重点)

name = "我叫{name},年龄{age}-{name}"

1 val= name.format("aaa","dddd")

2 val= name.format(*["aaa","dddd"])

3 val= name.format(name="aaa",dddd)

4 dic = {"name":"aaa","age":"dddd"}

val= name.format(**dic)

# 1 和 4 常用

str.format_map() # 字符串格式化

dic = {"name":"aaa","age":"dddd"}

val= name.format_map(dic) # (只能写字典)

str.isalnum() # 判断中文或字母或数字存在---True

str.isalpha() # 判断中文和字母

str.isdecimal() # 数字

str.isdigit() # 数字

str.isnumeric() # 数字

str.isidentifier() # 判断是否为关键字或python内置使用,叫做标识符(python已经赋予意义)

str.islower() # 是否全为小写

str.isprintable() # 是否可以全部打印

str.isspace() # 是否全为空格

str.title() # 变成标题

str.istitle() # 是否为标题(首字母变大写)

str.partition() # 分割并且保留分割符(结果是元组)

str.splitlines() # 根据换行符分割

str.swapcase() # 大写变小写 小写变大写

str.maketrans("原内容","新内容") # 依次替换

# str.capitalize() 首字母变大写

v = "adgdakl13235"

new_v = v.capitalize()

print(new_v)

# str.casefold() 变小写有英语,还包含小语种

v = "aDGHHdak"

new_v = v.casefold()

print(new_v)

# str.islower() 是否全为小写

v = "aDGHHdak"

new_v = v.islower()

print(new_v)

# str.isupper() 是否全为大写

v = "aDGHHdak"

new_v = v.isupper()

print(new_v)

# str.lower() 变小写

v = "aDGHHdak"

new_v = v.lower()

print(new_v)

# str.uppper() 变小写

v = "aDGHHdak"

new_v = v.upper()

print(new_v)

# str..swapcase() 大写变小写 小写变大写

v = "aDGHHdak"

new_v = v.swapcase()

print(new_v)

# str.center(总长度,"前后填充")

v = "aDGHHdak"

new_v = v.center(25,"%")

print(new_v)

# str.ljust(总长度,"后面填充")

v = "aDGHHdak"

new_v = v.ljust(25,"%")

print(new_v)

# str.rjust(总长度,"前面填充")

v = "aDGHHdak"

new_v = v.rjust(25,"%")

print(new_v)

# str.zfill() 给定一个总长度,只能从前面填充,只能填充0

name = 'alex'

v = name.zfill(20)

print(v)

# str.count("序列","起始位","结束位") 查看序列是否存在

v = "aDGHHdaHkFHFGJH"

print(v.count("H",3,7))

# str.encode() 字符串(Unicode编码)转换成其他编码形式

v = "海角"

new_v = v.encode("utf-8")

print(new_v)

# str.expandtabs(总位数) xxx\t 一共占多少位,可以做简单表格形式

# \n 或 \r\n 换行符 \t制表符

v = "aDG\tHH\tdaH\naDG\tHH\tdaH\naDG\tHH\tdaH"

new_v = v.expandtabs(10)

print(new_v)

# str.find("字符") 找到字符所在第一个位置的索引,没有时,返回-1

v = "aDGHHdaHkFHFGJH"

new_v = v.find("H")

print(new_v)

v = "aDGHHdaHkFHFGJH"

new_v = v.find("b")

print(new_v)

# str.rfind("字符") 右边开始找到字符所在第一个位置的索引,没有时,返回-1

v = "aDGHHdaHkFHFGJH"

new_v = v.rfind("H")

print(new_v)

v = "aDGHHdaHkFHFGJH"

new_v = v.rfind("b")

print(new_v)

# str.index("字符") 找到第一个字符所在位置的索引,没有时,报错

v = "aDGHHdaHkFHFGJH"

new_v = v.index("H")

print(new_v)

v = "aDGHHdaHkFHFGJH"

new_v = v.index("b")

print(new_v)

# str.index("字符") 找到第一个字符所在位置的索引,没有时,报错

v = "aDGHHdaHkFHFGJH"

new_v = v.rindex("H")

print(new_v)

v = "aDGHHdaHkFHFGJH"

new_v = v.rindex("b")

print(new_v)

# (重点)变量名.format() 字符串格式化

v = "我叫{name},年龄{age}-{name}"

val = v.format("aaa","dddd")

print(val)

val= v.format(*["aaa","dddd"])

print(val)

val= v.format(name="aaa",age = "11")

print(val)

dic = {"name":"aaa","age":"dddd"}

val= v.format(**dic)

print(val)

# 标注:1 和 4 常用

# str.format_map() 字符串格式化

v = "我叫{name},年龄{age}-{name}"

dic = {"name":"aaa","age":"dddd"}

val= v.format_map(dic) #(只能写字典)

print(val)

# str.isalnum() 判断中文或字母或数字存在---True

v = "aagkf243变量"

print(v.isalnum())

.isalpha() # 判断中文和字母

v = "aagkf243变量"

print(v.isalpha())

# str.isdecimal() 判断数字是否存在

name = '123'

print(name.isdecimal()) # 123

# str.isdigit() 数字

name = '②123'

print(name.isdigit()) # 123 ②

# str.isnumeric() 数字

name = '二十②123'

print(name.isnumeric()) # 123 ② 二十

# 连接符.join(可迭代对象)

li = ["978","6745","435","24","12"]

new_li = "*".join(li)

print(new_li)

# str.strip() 去空格

name = ' aff '

val = name.strip()

print(name)

print(val)

# str.lstrip() 去左边空格

name = ' aff '

val = name.lstrip()

print(name)

print(val)

# str.rstrip() 去右边空格

name = ' aff '

val = name.rstrip()

print(name)

print(val)

# str.replace() 替换

msg = "asdefasdfja"

val = msg.replace("a","##",2)

print(val)

# str.maketrans("原内容","新内容") 依次替换

# str.translate() 转换,把maketrans替换的内容转换出来

table = str.maketrans("aeiou",'12345')

msg = "asdefasdfjasdifw[kmnakjudfasdf"

val = msg.translate(table)

print(val)

# str.partition() 分割并且保留分割符,(结果是元组)

v = "akl\nalf\nkal\nakl"

val = v.partition("\n") #只有一次

print(val)

# str.rpartition() 从右分割并且保留分割符,(结果是元组)

v = "akl\nalf\nkal\nakl"

val = v.rpartition("\n") #只有一次

print(val)

# str.split() 分割不保留分割符,结果是列表

v = "akl\nalf\nkal\nakl"

val = v.split("\n")

print(val)

# str.rsplitl() 从右边分割 ,分割不保留分割符, 结果是列表

v = "akl\nalf\nkal\nakl"

val = v.rsplit("\n")

print(val)

# str.splitlines() 根据换行符分割 , 结果是列表

v = "akl\nalf\nkal\nakl"

val = v.splitlines()

print(val)

# str.startswith() 检测是否以xxx开头

v = "aklalfkalakl"

val = v.startswith("a")

print(val)

# str.endswith() 检测是否以xxx结尾

v = "aklalfkalakl"

val = v.endswith("kl")

print(val)

# str.isidentifier() 判断是否为关键字或python内置使用,叫做标识符(python已经赋予意义)目前有歧义

# str.isprintable() 是否可以全部打印

name = '二十\n123'

val = name.isprintable()

print(val)

# str.isspace() 是否全为空格

name = '二十\n123' #空字符串也是False

val = name.isspace()

print(val)

# str.title() 变成标题,首字母大写

name = 'afklsdssdf'

val = name.title()

print(val)

3. list类

list.count("元素") # 判断元素是否存在于列表中,并且返回个数

list.clear() # 列表.clear()

list.extand("可迭代对象") # 传递 批量append,批量传递,如果是字符串,会把每个字符拆开来放进去,所以里面要放可迭代对象

v= list.pop('索引') # 删除并且获取到赋值给变量

# v 就是被删掉的东西

list.remove('值') # 重复时只能删第一个

list.sort(reverse=True) # 排序 默认False从小到大 True从大到小

list.index("值", '起始位置', '终止位置') # 找到字符所在第一个位置的索引,没有时,报错

# 深浅拷贝的规则和基本形式:列表里才会这样

li = ["11","22","33"]

val = li.append("44")

print(val) # val没有意义,为none

li1 = ["11","22","33"]

li2 = li1 # 指向同一个内存

print(li1,li2)

val = li.append("44") #li2也会发生变化

print(li1,li2)

li1 = ["11","22","33"]

li2 = ["11","22","33"] #指向两块内存

# copy 复制

# 浅拷贝 列表.copy() 只拷贝最外层,改变后一样

li1 = ["11", "22", "33"]

li2 = li.copy()

# 深拷贝 import copy 所有层都拷贝,最后一层补不拷贝,改变后不一样

import copy

li1 = ["11","22","33"]

li2 = copy.deepcopy()

# ****单个列表时,在只有数字,字符串的时候,深浅拷贝一样****

# *****嵌套时才有区别*****

# 列表'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort'

append() # 尾部添加,

li = [11,22,11,33,44]

li.append(666)

print(li)

# 浅拷贝的一种形式,列表里才会这样

li = ["11","22","33"]

val = li.append("44")

print(val) #val没有意义,为none

li1 = ["11","22","33"]

li2 = li1 #指向同一个内存

print(li1,li2)

val = li.append("44") #li2也会发生变化

print(li1,li2)

li1 = ["11","22","33"]

li2 = ["11","22","33"]#指向两块内存

#copy 浅拷贝 只拷贝最外层,指向同一块内存

# ****单个列表时,在只有数字,字符串的时候,深浅拷贝一样****

li1 = ["11","22","33"]

li2 = li1.copy() #这里相当于重新创建了一个列表 但是列表内元素所指向的是同一块内存

print(li2)

li1.append(666)

print(li1)

print(li2)

# 结果:

['11', '22', '33']

['11', '22', '33', 666]

['11', '22', '33']

# 深拷贝 所有层都拷贝,最后一层补不拷贝,改变后不一样。单个列表时,在只有数字,字符串的时候,深浅拷贝一样

import copy

li1 = ["11","22","33"]

li2 = copy.deepcopy(li1)

print(li2)

li1.append(666)

print(li1)

print(li2)

# 结果:

['11', '22', '33']

['11', '22', '33', 666]

['11', '22', '33']

# *****嵌套时才有区别*****

# 浅拷贝

li1 = ["11","22","33",[11,22,33]]

li2 = li1.copy() #这里相当于重新创建了一个列表 但是列表内元素所指向的是同一块内存

print(li2)

li1[3].append(666) #因为指向同一块内存,所以li2也会改变

print(li1)

print(li2)

# 结果:

['11', '22', '33', [11, 22, 33]]

['11', '22', '33', [11, 22, 33, 666]]

['11', '22', '33', [11, 22, 33, 666]]

# 深拷贝

import copy

li1 = ["11","22","33",[11, 22, 33]]

li2 = copy.deepcopy(li1)# 这里是把li1里所有的东西都重新创建了一份 ,li1 li2指向不同的内存,

print(li2)

li1.append(666) #因为指向不同的内存,所以li1改变 li2不会改变

print(li1)

print(li2)

# 结果:

['11', '22', '33', [11, 22, 33]]

['11', '22', '33', [11, 22, 33], 666]

['11', '22', '33', [11, 22, 33]]

# .clear 全部清空 列表.clear()

li = [11, 22, 11, 33, 44]

li.clear()

print(li)

# 判断元素是否存在于列表中,并且返回个数

.count("元素")

li = [11,22,11,33,44]

v = li.count(11)

print(v)

# .extand("可迭代对象") 传递 批量append

# 如果是字符串,会把每个字符拆开来放进去,所以里面要放可迭代对象

li = [11,22,33,44]

li.extend("aaa")

print(li)

li = [11,22,33,44]

li2 = ["aaa","bbb"]

li.extend(li2)

print(li)

# pop 删除 v= li.pop(索引) 删除并且获取到赋值给变量 v 就是被删掉的东西

li = [11,22,33,44]

li.pop(1) #默认删除最后一个,也可以指定

print(li)

# .remove(值) 重复时只能删第一个

li = [11,22,33,44,33]

li.remove(33)

print(li)

.sort(reverse=True) # 排序 默认False从小到大 True从大到小

li = [11,22,33,44,33]

li.sort()

print(li)

li = [11,22,33,44,33]

li.sort(reverse=True)

print(li)

# .index("值",起始位置,终止位置) 找到字符所在第一个位置的索引,没有时,报错

li = [11,22,33,44,33]

v = li.index(33)

print(v)

li = [11,22,33,44,33]

v = li.index(666)

print(v)

# .insert() 在指定位置插入

li = [11,22,33,44,33]

li.insert(2,"8888")

print(li)

# .reverse() 反转

li = [11,22,33,44,]

li.reverse()

print(li)

4. tuple类

方法汇总:

index("值", '起始位置', '终止位置') # 找到字符所在第一个位置的索引,没有时,报错

count() # 判断元素是否存在于列表中,并且返回个数

count() # 判断元素是否存在列表中,并返回个数

tu = (11,22,11,33,44)

v = tu.count(22)

print(v)

tuple.index("值",'起始位置', '终止位置') # 找到字符所在第一个位置的索引,没有时,报错

tu = (11,22,33,44,33)

v = tu.index(33)

print(v)

5. dict类  方法汇总:

# 'clear', 'copy', 'fromkeys', 'get', 'items', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values'

dict.clear() # 清空

dict.copy() # 和列表一样

dict.pop("key","默认值") # 删掉key值对应的值,并取出来,,,key不存在时报错,加了默认值,就不会报错,打印默认值

dict.popitem() # 随机删掉键值对 操作完位为元组类型

dict.setdefalut("key","value") # 设置:只添加不修改,有key时,不改变

dict.update({"key":"value"}) # 更新 不存在加进去,存在时更新

dict.fromkeys() # 生成一个字典

val = dict.fromkeys(["k1","k2","k3"],value)

# value 是一个可变数据类型时,对val做操作后,所有的key对应的value都变化

# value 是一个不可变类型时,更改其中一个时不会全部改变,只改变其中一个

# 'clear', 'copy', 'fromkeys', 'get', 'items', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values'

# clear 清空

d = {"k1":"v1","k2":"v2","k3":"v3"}

d.clear()

print(d)

# copy 浅拷贝 只拷贝最外层,指向同一块内存

# ****单个字典时,在只有数字,字符串的时候,深浅拷贝一样****

d1 = {"k1":"v1","k2":"v2","k3":"v3"}

d2 = d1.copy() # 这里是重新创建了一个字典,但是字典内的元素指向同一个内存

print(d2)

d1["k1"] = 666

print(d1)

print(d2)

# 深拷贝,所有层都拷贝,最后一层补不拷贝,改变后不一样

# ****单个字典时,在只有数字,字符串的时候,深浅拷贝一样****

import copy

d1 = {"k1":"v1","k2":"v2","k3":"v3"}

d2 = copy.deepcopy(d1) # 这里是重新创建了一个字典,

print(d2)

d1["k1"] = 666

print(d1)

print(d2)

# *****嵌套时才有区别*****

# 浅拷贝

d1 = {"k1":[11,22,33],"k2":"v2","k3":"v3"}

d2 = d1.copy() # 这里是重新创建了一个字典,但是字典内的元素指向同一个内存

print(d2)

d1["k1"].append(666) #因为指向同一个内存,所以d1改变d2也会改变

print(d1)

print(d2)

# 深拷贝

import copy

d1 = {"k1":[11,22,33],"k2":"v2","k3":"v3"}

d2 = copy.deepcopy(d1) # 这里是重新创建了一个字典,d1 d2 指向不同的内存

print(d2)

d1["k1"] = 666 # 因为指向不同的内存,所以d2不会改变

print(d1)

print(d2)

# 重点 类.fromkeys() dict.fromkeys() 生成一个字典

# value 是一个可变数据类型时,对val做操作后,所有的key对应的value都变化

# value 是一个不可变类型时,更改其中一个时不会全部改变,只改变其中一个

val = dict.fromkeys(["k1","k2","k3"],6666)

print(val)

val["k1"] = "aaa"

print(val)

val = dict.fromkeys(["k1","k2","k3"],[11,22,33])

print(val)

val["k1"].append("qqqq")

print(val)

# get() 取到key,没有时返回None

d = {"k1":"v1","k2":"v2","k3":"v3"}

print(d.get("k2"))

# keys() 取到所有key 常和for循环一起用

d = {"k1":"v1","k2":"v2","k3":"v3"}

for v in d.keys():

print(v)

# values() 取到所有value 常和for循环一起用

d = {"k1":"v1","k2":"v2","k3":"v3"}

for v in d.values():

print(v)

# items() 取到所有键值对 常和for循环一起用

d = {"k1":"v1","k2":"v2","k3":"v3"}

for v in d.items():

print(v)

# pop("key","默认值") 删掉key值对应的值,并取出来,,,key不存在时报错,加了默认值,就不会报错,打印默认值

d = {"k1":"v1","k2":"v2","k3":"v3"}

v = d.pop("k2")

print(v)

print(d)

d = {"k1":"v1","k2":"v2","k3":"v3"}

v = d.pop("k12",888)

print(v)

print(d)

# popitem() 随机删掉键值对 操作完为元组类型

d = {"k1":"v1","k2":"v2","k3":"v3"}

v1,v2 = d.popitem()

print(v1,v2)

print(d)

# setdefalut("key","value") 设置:只添加不修改,有key时,不改变

d = {"k1":"v1","k2":"v2","k3":"v3"}

d.setdefault("k5","v5")

print(d)

d = {"k1":"v1","k2":"v2","k3":"v3"}

d.setdefault("k2","v5")

print(d)

# update({"key":"value"}) 更新 不存在加进去,存在时更新

d = {"k1":"v1","k2":"v2","k3":"v3"}

d.update({"k2":"v5"})

print(d)

d = {"k1":"v1","k2":"v2","k3":"v3"}

d.update({"k5":"v5"})

print(d)

6. set类

方法汇总:

add() # 添加,如果存在不添加

copy() # 拷贝

update() # 更新,没有返回值

# 差集(后面的元素一般是可迭代对象)

v.difference(n) # v中存在n中不存在的数据,并取出

v.difference_update(n) # 找到v中存在n中不存在的数据,并更新v中的值,

# 对称差集

v.symmetric_difference(n) # 去掉v,n中相同的元素,并取出

v.symmetric_difference——update(n) # 去掉v,n中相同的元素,并更新v中的值

# 交集

intersection()

intersection_update()

# 并集

union()

isdisjoint() # 有交集False,没有True

v.issubset(n) # 判断v是否是n的子集

v.issuperset() # 判断v是否是n的父集

# 删除集合元素

pop() # 随机删除

remove() # 没有时报错

discard() # 没有时不报错

# add() 添加,如果存在不添加

s = {"a1","a2"}

s.add("a3")

print(s)

# copy 浅拷贝 只拷贝最外层,指向同一块内存

# ****单个集合时,在只有数字,字符串的时候,深浅拷贝一样****

s = {"a1","a2"}

s1 = s.copy() # 重新创建了一个集合,

print(s1)

s.add("a3") # 所以s改变,s1不改变

print(s)

print(s1)

# 深拷贝 所有层都拷贝,最后一层补不拷贝,改变后不一样

# ****单个集合时,在只有数字,字符串的时候,深浅拷贝一样****

import copy

s = {"a1","a2"}

s1 = copy.deepcopy(s) # 重新创建了一个集合,

print(s1)

s.add("a3") # 所以s改变,s1不改变

print(s)

print(s1)

# *****嵌套时才有区别*****

# 浅拷贝 只拷贝最外层,指向同一块内存, 重新创建了一个集合,但是集合中的元素指向一个内存,,所以会都改变

# 深拷贝 除最后一层全部拷贝,拷贝后指向两个内存,所以不会一起改变

# clear()清空

s = {"a1","a2"}

s.clear()

print(s)

# 删除集合元素

# pop() 随机删除

v = {"11", "22", "33", "44", "55"}

v.pop()

print(v)

# remove() 在集合中删除指定值 没有时报错

v = {"11", "22", "33", "44", "55"}

v.remove("22")

print(v)

v = {"11", "22", "33", "44", "55"}

v.remove("77")

print(v)

# discard() 在集合中删除指定值 没有时不报错

v = {"11", "22", "33", "44", "55"}

v.discard("22")

print(v)

v = {"11", "22", "33", "44", "55"}

v.discard("77")

print(v)

# update() 更新 不用接收

v = {"11", "22", "33", "44", "55"}

n = {"aaa","sss"}

v.update(n)

print(v)

# 差集(后面的元素一般是可迭代对象)

# v.difference(n) v中存在n中不存在的数据,并取出

v = {"11","22","33","44","55"}

n = {"44","55","66","77","88"}

a = v.difference(n)

print(a)

# v.difference_update(n) 找到v中存在n中不存在的数据,并更新v中的值,

v = {"11","22","33","44","55"}

n = {"44","55","66","77","88"}

v.difference_update(n)

print(v)

# 对称差集

# v.symmetric_difference(n) 去掉v,n中相同的元素,并取出

v = {"11","22","33","44","55"}

n = {"44","55","66","77","88"}

a = v.symmetric_difference(n)

print(a)

# v.symmetric_difference_update(n) 去掉v,n中相同的元素,并更新v中的值

v = {"11","22","33","44","55"}

n = {"44","55","66","77","88"}

v.symmetric_difference_update(n)

print(v)

# 交集

# intersection() 找到v,n中相同的元素,并取出

v = {"11","22","33","44","55"}

n = {"44","55","66","77","88"}

a = v.intersection(n)

print(a)

# intersection_update() 找到v,n中相同的元素,并更新v中的值

v = {"11","22","33","44","55"}

n = {"44","55","66","77","88"}

v.intersection_update(n)

print(v)

# isdisjoint() 判断是否无交集 有交集False,没有True

v = {"11","22","33","44","55"}

n = {"44","55","66","77","88"}

a = v.isdisjoint(n)

print(a)

# union() 并集

v = {"11","22","33","44","55"}

n = {"44","55","66","77","88"}

a = v.union(n)

print(a)

# v.issubset(n) 判断v是否是n的子集

v = {"44","55"}

n = {"44","55","66","77","88"}

a = v.issubset(n)

print(a)

# v.issuperset(n) 判断v是否是n的父集

v = {"44","55","66","77","88"}

n = {"44","55"}

a = v.issuperset(n)

print(a)

# 去重 相当于变成集合类型的数

li = ["44","55","66","77","88","44","44"]

v = set(li)

print(v)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/470160.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JS面向对象——原型链、通过原型链实现继承、借用构造函数实现继承

一、JavaScript原型链 在真正实现继承之前,我们先来理解一个非常重要的概念:原型链。 我们知道,从一个对象上获取属性,如果在当前对象中没有获取到就会去它的原型(__proto__)上面获取: 二、…

echart自定义动画_echarts动画效果

最近工作中碰到一个需求,要求动态展示柱状图,大概效果如下:图片是我用操作宽度模拟的效果,但是echarts以前没接触过,今天看了下文档,梯形也没做出来,想请教下大家echarts能否完成图中效果&#…

基于bootstrap框架在ie8以下,兼容媒体查询[css样式]

1 <style type"text/css">2 /*基于bootstrap框架在ie8以下&#xff0c;兼容媒体查询*/3 .row [class^"col-"] {4 float: left \9;5 }6 7 .col-xs-1, .col-sm-1, .col-md-1, .col-lg-1 {8 width: 8.33333333% \9;9 …

JS面向对象——原型式继承函数、寄生式继承函数、寄生组合式继承

一、原型式继承函数 回顾一下JavaScript想实现继承的目的&#xff1a;重复利用另外一个对象的属性和方法. 最终的目的&#xff1a;student对象的原型指向了person对象&#xff1b; 二、寄生式继承函数 寄生式(Parasitic)继承是与原型式继承紧密相关的一种思想, 并且同样由道格…

k8s pod内部容器_第三章 pod:运行于kubernetes中的容器

本章内容涵盖创建、 启动和停止 pod使用标签组织 pod 和其他资源使用特定标签对所有 pod 执行操作使用命名空间将多个 pod 分到不重叠的组中调度 pod 到指定类型的工作节点上一章 已经大致介绍了在 Kubemetes 中创建的基本组件&#xff0c;包括它们的基本功 能概述。 那么接下来…

JS面向对象——Object对象的方法补充、原型继承关系图

一、Object.create() 这个方法用于创建一个新对象。被创建的对象的__proto__指向create函数第一个参数的原型对象prototype&#xff0c;在创建新对象时可以通过create函数第二个参数指定一些属性。 二、Object.hasOwnProperty() 对象是否有某一个属于自己的属性&#xff08…

Could not obtain connection metadata

用hibernate连接数据库出现错误2010-3-16 17:23:39, 093 [main] WARN [org.hibernate.cfg.SettingsFactory] - Could not obtain connection metadata java.sql.SQLException: 不支持的特性 at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134 ) at …

JS面向对象——class定义类、类的构造函数、实例方法、访问器方法、静态方法、继承、super、多态

一、认识class定义类 我们会发现&#xff0c;按照前面的构造函数形式创建 类&#xff0c;不仅仅和编写普通的函数过于相似&#xff0c;而且代码并不容易理解。 在ES6&#xff08;ECMAScript2015&#xff09;新的标准中使用了class关键字来直接定义类&#xff1b;但是类本质上依…

ES6(一)——字面量的增强、解构、let/const、块级作用域、暂时性死区

一、字面量的增强 ES6中对 对象字面量 进行了增强&#xff0c;称之为 Enhanced object literals&#xff08;增强对象字面量&#xff09;。 字面量的增强主要包括下面几部分&#xff1a; 属性的简写&#xff1a;Property Shorthand方法的简写&#xff1a;Method Shorthand计算…

MapReduce算法形式四:mapjoin

案例四&#xff1a;mapjoin&#xff08;对个map共同输入&#xff0c;一个reduce&#xff09; 这个方法主要解决的是&#xff0c;几个表之间的比较&#xff0c;类似于数据库的内外连接&#xff0c;还有一些左右连接之类的&#xff0c;简而言之就是&#xff0c;A表没有的B表有&am…

python开发出来的crm系统_用Python打造一个CRM系统(三)

在上一篇中我们基于cookiecutter-django创建了一个one_crm的项目&#xff0c;在本文中将在本地进行初始化&#xff0c;并成功运行起来。本地初始化之前先确保环境先安装了Python3.8、PostgreSQL&#xff0c;并创建了一个虚拟环境。1. 安装依赖库基于cookiecutter-django创建的项…

bzoj1053: [HAOI2007]反素数ant

51nod有一道类似的题。。。我至今仍然不会写暴搜&#xff01;&#xff01;&#xff01; #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> using namespace std; #define rep(i,s,t) for(int is;i<t;i) #define dwn(i,s…

ES6(二)——字符串模板、标签模板字符串、函数的默认参数、剩余参数、数组对象的展开语法、数值的表示、Symbol

一、字符串模板基本使用 在ES6之前&#xff0c;如果我们想要将字符串和一些动态的变量&#xff08;标识符&#xff09;拼接到一起&#xff0c;是非常麻烦和丑陋的&#xff08;ugly&#xff09;。 ES6允许我们使用字符串模板来嵌入JS的变量或者表达式来进行拼接&#xff1a; 首…

码云上传代码添加标签_eclipse上传代码到码云

本文将介绍如何将本地的项目提交到开源中国的码云上&#xff0c;提到码云大家是不是想到了咱们大佬“马云”&#xff1f;呵呵&#xff0c;这个也挺强大的不过不是一个人而是一个版本控制器。改教程讲解过程比较详细&#xff0c;跟着做实现起来很简单。由于自己本身也是一个新手…

codeforce gym 100548H The Problem to Make You Happy

题意&#xff1a; Alice和Bob在一个有向图上玩游戏&#xff0c;每个人各自操作一个棋子&#xff0c;如果两个棋子走到一个点上&#xff0c;判定Bob输&#xff1b;如果轮到任何一方走时&#xff0c;无法移动棋子&#xff0c;判定该方输 现在Bob先走&#xff0c;要求判断胜负 题解…

ES6(三)——Set、WeakSet、Map、WeakMap

一、Set的基本使用 在ES6之前&#xff0c;我们存储数据的结构主要有两种&#xff1a;数组、对象。 在ES6中新增了另外两种数据结构&#xff1a;Set、Map&#xff0c;以及它们的另外形式WeakSet、WeakMap。 Set是一个新增的数据结构&#xff0c;可以用来保存数据&#xff0c;类…

git gui怎么拉取项目代码_Git可视化极简易教程 — Git GUI使用方法

前言之前一直想一篇这样的东西&#xff0c;因为最初接触时&#xff0c;我也认真看了廖雪峰的教程&#xff0c;但是似乎我觉得讲得有点多&#xff0c;而且还是会给我带来很多多余且重复的操作负担&#xff0c;所以我希望能压缩一下它在我工作中的成本&#xff0c;但是搜索了一下…

POJ分类-转载

转载过来&#xff0c;慢慢刷 初期:一.基本算法: (1)枚举. (poj1753,poj2965) (2)贪心(poj1328,poj2109,poj2586) (3)递归和分治法. (4)递推. (5)构造法.(poj3295) (6)模拟法.(poj1068,poj2632,poj1573,poj2993,poj2996)二.图算法: (1)图的深度优先…

smzdm 扫地机器人_堪称米家最值!米家系列扫地机器人选购须知

堪称米家最值&#xff01;米家系列扫地机器人选购须知2018-05-14 17:34:44102点赞354收藏81评论本篇内容来自#全民分享季#第三季活动&#xff0c;本周选题#分享你的生活记录#&#xff0c;共同瓜分5000金币&#xff01;拿紫米移动电源&#xff0c;抽取最新款iPad&#xff01;快来…

ES6~ES12——Array Includes、Object values、Object entries、Object fromEntries、flat、flatMap、空值合并运算符、可选链等

一、ES7 - Array Includes 在ES7之前&#xff0c;如果我们想判断一个数组中是否包含某个元素&#xff0c;需要通过 indexOf 获取结果&#xff0c;并且判断是否为 -1。 在ES7中&#xff0c;我们可以通过includes来判断一个数组中是否包含一个指定的元素&#xff0c;根据情况&…