3章

内容回顾:
1. 计算机组成
2. 程序编译器
3. 变量
4. 条件
5. 循环
6. py2与py3区别
- 默认编码,
- 除法,
- input ,raw_input
7. 位,字节关系
8. 运算符:
- and or
- in not
- py2 除法特殊代码
- += -=
9. 编码
汉字在utf-8里位3个字节,24位;汉字在GBK里是两个字节,16位
ascii --> unicode(4个字节,32位表示) ->(优化) utf-8/utf-16/utf-32
10. 字符串格式化
tpl = "asdfa&s,asdf%d" %("二哥", 666,)
问题:
tpl = "我是%s",年龄%d,学习进度100%%" %('张勤学',99)

今日内容:
- 数据类型
- 整数(int类) v = 1 ----擅长计算
- v = 1
- v.bit_length()
- 布尔值(bool类) v = True -----擅长真或假
- 0 "" 为False,其他为True
- v = 2 or 1 ----V的值是2
- 字符串(str类) 引号引起来 "1" v = "1"
- 类提供的功能:
- 变大、小写
- 去除空白
- 替换
- 分割(分割后是列表类型)
- 首字母大写
PS:字符串本身不变化
- 公共功能:
- 长度
- 索引(只能取值)
- for循环
"张勤学,二个,成绩,XXX,信息,"
[“郑勤学,“二个”]
- 列表(list类) v = ["XX",“OO”, "666"] #---存取多个值比较方便
- 类提供功能:
- 追加
- 插入
PS:列表本身发生变化
- 公共功能:
- 长度
- 索引(取值,修改,删除) 特殊的:v[0:2] = ["asdf",]
- for循环
v[2]
v[1] = "孙骑兵"
- 元组(tuple类) v = ("XX",“OO”, "666") #PS:----元素不可以被修改
- 类提供功能:
- 无
- 公共功能:
- 长度
- for循环
- 索引(只能取值)
- 字典(dict类)-----无序的 v = {"name":"张勤学","age":18}
- 类提供的功能:
- get
- 公共功能:
- 长度
- 索引(取值,删除,修改)
- for循环
- for a in v.keys()
- for a in v.values()
- for a,b in v.items()

v = "郑勤学,18" #-----字符串表示姓名年龄
v = ["郑勤学",18] #-----列表表示姓名年龄
v = {
"name":"张勤学",
"age":18
} #-----字典表示姓名年龄
v['name'] #指名字
v['age'] #指年龄

===> 相同类的值(指定类的对象)具有相同的功能,功能保存在类中(只有一份)

今日作业:
内容整理

=============================================脚本=======================================

字符串类中的功能脚本:

 ###############################str类中为当前对象提供的功能#########################
#str
# v1 = "alEx" #1. 变大写
# value = v1.upper()
# print(v1,value) #2,.变小写
# value = v1.lower()
# print(v1.value) #3. 首字母变大写
# value = v1.capitalize()
# print(v1,value) #4. 去除收尾空格
# v1 = " asdfasdf "
# print(v1) # v1 = " asdfasdf "
# value = v1.strip()
# print(v1,value) """
name = input("请输入用户名:")
if name == 'alex':
print('登录成功')
""" """
name = input("请输入用户名:")
value = name.strip()
if value == 'alex':
print('登录成功')
""" """
#去除左边空格 -----去除指定空格-----左边或右边 name = input("请输入用户名:")
value = name.lstrip()
if value == 'alex':
print('登录成功') """ """
去除右边空格
name = input("请输入用户名:")
value = name.rstrip()
if value == 'alex':
print('登录成功')
""" #7. 替换
"""
v1 = "ASCII第一次以规范标准的型态发表是在1967年标准,最后一次更新则标准是在1986年,至今为标准止共定义了128个字符,其中33个字符无法显示" # value = v1.replace("标准", "**")
# print(value) #只替换第1个标准,后面的不替换
value = v1.replace("标准", "**",1)
data = value.replace('第一次','#')
print(data)
""" #8. 分割:
"""
v1 = "ASCII第一次以规范标准的型态发"
value = v1.split('第一次') #分割之后是列表类型
print(value)
"""
"""
v1 = "ASCII第一次以规范标准的型态发以规范标准的型态以规范标准的型态"
value = v1.split('标准') #分割之后是列表类型
print(value)
""" """
v1 = "ASCII第一次以规范标准的型态发以规范标准的型态以规范标准的型态"
value = v1.split('标准',2) #分割之后是列表类型
print(value)
""" #9. 判断当前字符串中是否全部都为数字
"""
v = "abc123fsdf"
for item in v:
print(item) #item = "a", item = "b"
""" """
v = "123"
val = v.isdecimal()
print(val)
""" """
v = "a123"
val = v.isdecimal()
print(val)
""" #统计字符串中有多少个数字?-------"abc01234fsdf"
"""
count = 0
v = "abc01234fsdf"
for item in v:
if item.isdecimal():
print(item)
count += 1
print(count)
""" #重点重点重点:原值不变 ###################公共功能############### # 1.计算当前字符串长度 """
v = "徐芳名sdf"
value = len(v)
print(value) """ """
name = input(">>>")
value = len(name)
print(value)
""" #取首字符或第几个字符
#2. 根据“索引” “下标”
# - 单个值:v[0]
# - 多个值:v[起始位置:结束位置]
# - 多个值: v[起始位置:结束位置:步长]
# PS: -1 表示最后 # 取第一个字符-----取单个字符
# v = "ASCII第一次以规范标准的型态发"
# value = v [0]
# print(value) #取倒数第3个字符
# v = "ASCII第一次以规范标准的型态发"
# value = v [-3]
# print(value) #动态计算取最后一个字符
# v = "ASCII第一次以规范标准的型态发"
# le = len(v) - 1
#-1表示最后一个字符
# value = v [le]
# print(value) #取一部分字符,取从0到第几个之前的字符------连续字符
# v = "ASCII第一次以规范标准的型态发"
# value = v [0:5] # 0 1 2 3 4
# print(value) #取某两个之间的字符
# v = "ASCII第一次以规范标准的型态发"
# value = v [4:5]
# print(value) #取从第几个开始到结尾的字符
# v = "ASCII第一次以规范标准的型态发"
# value = v [4:]
# print(value) # #取从第几个开始到最后一个之间的字符
# v = "ASCII第一次以规范标准的型态发"
# value = v [4:-1]
# print(value) #取从第几个开始到第几个之间的字符,中括号中第3个数字表示步长,表示每隔几取一个
# v = "ASCII第一次以规范标准的型态发"
# value = v [1:15:3]
# print(value) #题 : v = "ASCII第一次以规范标准的型态发" 连续将每个字符大印出来
"""
v = "ASCII第一次以规范标准的型态发"
length = len(v)
index = 0
while True:
data = v[index]
print(data)
index += 1
if index == length:
break
print(data)
""" """
v = "ASCII第一次以规范标准的型态发"
length = len(v)
index = 0
while index < length:
data = v[index]
print(data)
index += 1
""" #3. 循环
# 将对象中每个元素,分别循环显示出来
"""
v = "ASCII第一次以规范标准的型态发"
for item in v:
print(item)
"""

上节回顾字符串格式化脚本:

 # tpl = "我是%s,年龄%d,学习进度100%" %('张勤学',99)
# print(tpl) #占位符只有格式化时才有意义
# tpl = "我是%s,年龄%d,学习进度100%"
# print(tpl) # tpl = "我是%s,年龄%d,学习进度100" %('张勤学',99)
# print(tpl) #如果想要%,需要写两个%
tpl = "我是%s,年龄%d,学习进度100%%" %('张勤学',99)
print(tpl)

int整数类脚本:

 #int
# v1 = 1
# v2 = 23 #前戏
# 十进制 0 1 2...9
#八进制 0 1 2 ..7 10
#二进制 0 1 10 11 100 # v = 11 在计算机里是怎么存的?
# ascii 00110001 00110001 # v1 = 11
# data = v1.bit_length()
# print(data)
#本质上的内部存储:00110001 00110001
# 11 -> #二进制 八进制 十进制 十六进制
# 0 0 0 0
# 1 1 1 1
# 10 2 2 2
# 11 3 3 3
# 100 4 4 4
# 101 6 6 6
# 111 7 7 7
# 1000 10 7 8
# 1001 11 9 9
# 1010 12 10 A
# 1011 13 11 B
# 1100 14 12 C
# 1101 15 13 D
# 1110 16 14 E
# 1111 17 15 F
# 10000 20 16 10 ########################################1个需要注意
v1 = 16
#当前十进制用二进制表示时,最少使用的位数
data = v1.bit_length()
print(data) #str
v1 = "alex" # new_v1 = v1.upper()
# print(v1)
# print(new_v1) # new_v1 = v1.capitalize()
# print(v1)
# print(new_v1)

布尔类脚本:

 v1 = True   #
v2 = False #

整数、布尔值、字符串之间转换脚本:

 #int 8 9
#bool True False
#str "sdf" "7" ----只有字符串可以循环取值 #加法计算器
# v1 = input("请输入第一个值:")
# v2 = input("请输入第二个值:")
# v3 = int(v1) + int(v2) # 通过int将字符串转换为整数
# print(v3) #字符串--> 整数 # v = True
# val = int(v)
# print(val) # v = False
# val = int(v)
# print(val) #布尔值-->整数 int(值)
#整数,布尔值----> 字符串 str(值)
# 整数,字符串 ----布尔 bool(值)
# - 0 False ,其他都为True
# - 字符串和空格都为True,只有不填时才为False # v = 8
# val = str(v)
# print(val,type(val)) # v = True
# val = str(v)
# print(val,type(val)) # v = -1
# val = bool(v)
# print(val,type(val)) # v = 0
# val = bool(v)
# print(val,type(val)) # v = "abdcd"
# val = bool(v)
# print(val,type(val)) # v = " "
# val = bool(v)
# print(val,type(val)) # v = ""
# val = bool(v)
# print(val,type(val)) # 面试题:
# a = 1 == 1 or 2 > 3
# print(a)
#True # a = True or 2 > 3
# print(a)
#True # a = False or 2 > 3
# print(a)
#False # a = 0 or 2 > 3
# print(a)
#False # a = 9 or 2 > 3
# print(a)
# # a = "asdf" or 2 > 3
# print(a)
# asdf #总结:
# - 互相转换原则 类(值)
# -布尔值:只有0 ""为False
# -a = 9 or 2 > 3 # a = 0 or 6
# print(a)
#

列表类功能相关脚本:

 ####################list类中为当前对象提供的功能#####################

 """
v = [11,22,33,44,"蒋毅"] #1. 在列表尾部追加一个值-----修改了本身的值
v.append('李俊义')
print(v)
""" """
v = []
while True:
name = input("请输入用户名:")
if name == 'q':
break
v.append(name)
print(v)
""" """
v = []
while True:
name = input("请输入用户名:")
if name == 'q' or name == "Q":
break
v.append(name)
print(v)
""" """
v = []
while True:
name = input("请输入用户名:")
if name.lower() == 'q':
break
v.append(name)
print(v) """ """
#2.在列表中间指定位置插入数据----insert
v = [11,22,33,44,"蒋毅"]
v.insert(4,"孙骑兵")
print(v)
"""
#3. 反转
"""
v = [11,22,33,44]
#print(v)
v.reverse()
print(v)
""" #####################公共功能######################
#1.通过索引取值----和字符串相同
# - v[0]
# - v[0:4]
# - v[0:4:2]
#2.计算长度
#2.5 替换或修改
# 替换:
"""
v = ["张勤学","成大井","成绩","刘龙华"]
v[3] = "吴国胜"
print(v)
""" """
#删除:
v = ["张勤学","成大井","成绩","刘龙华"]
del v[3]
print(v)
""" """
v = ["张勤学","成大井","成绩","刘龙华","ALEX"]
del v[3]
del v[2]
print(v)
"""
"""
v = ["张勤学","成大井","成绩","刘龙华","ALEX"]
del v[2:4]
print(v)
""" """
v = ["张勤学","成大井","成绩","刘龙华","ALEX"]
v[2:4] = "吴国胜"
print(v)
"""
"""
v = ["张勤学","成大井","成绩","刘龙华","ALEX"]
v[2:4] = ["吴国胜"]
print(v)
"""
"""
v = ["张勤学","成大井","成绩","刘龙华","ALEX"]
v[2:4] = ["吴国胜","狗胜","牛胜"]
print(v)
""" #3.for循环 """
v = [11,22,33,44,"蒋毅"]
print(v[3]) v = [11,22,33,44,"蒋毅"]
val1 = v [3]
val2 = v [4] val1.bit_length()
val2.split("蒋")
""" """
v = [11,22,33,44,"蒋毅"]
val = v[0:5:2]
print(val) """ """
v = [11,22,33,44,"蒋毅"]
val = len(v)
print(val)
"""
"""
v = [11,22,33,44,"蒋毅"]
for i in v:
print(i)
""" #练习:
"""
v = ["123","孙骑兵",666]
# val = len(v)
# print(val)
val = v[1][1]
print(val)
print(v[1])
"""
"""
#将孙奇兵和666替换为王猛
v = ["123","孙骑兵",666]
v[1:3] = ["王猛",]
print(v)
"""
"""
#尾部添加王皓林
v = ["123","孙骑兵",666]
v.append('王皓林')
print(v)
""" #补充:
#1.列表中元素可以是:数字,字符串,布尔值,另外一个列表
"""
li = [11,22,[6,5,7],33,True,"蒋毅",55]
v = len(li)
print(v)
val = li[2]
print(val)
"""
"""
li = [11,22,[6,"88991"],33,True,"蒋毅",55]
val = li[2][1][-2]
print(val)
""" """
#将33换成66
li = [11,22,[6,"88991"],33,True,"蒋毅",55]
li[3] = 66
print(li)
"""
#将7换成77
"""
li = [11,22,[6,"88991",7],33,True,"蒋毅",55]
li[2][2] = 77
print(li) """
#将88991换成666
"""
li = [11,22,[6,"88991",7],33,True,"蒋毅",55]
li[2][1] = 666
print(li)
""" #字符串中数据替换
"""
v = "蒋毅"
v = v.replace('蒋','江')
print(v)
""" #将"蒋毅"中的蒋替换为江
"""
li = [11,22,[6,"88991",7],33,True,"蒋毅",55]
val = li[5].replace('蒋','江')
li[5] = val
print(li)
"""
#简写
"""
li = [11,22,[6,"88991",7],33,True,"蒋毅",55]
li[5] = li[5].replace('蒋','江')
print(li)
"""

元组类相关脚本:

 #tuple

 #v = (11,'ffff',22,33,44,)

 ###########tuple 类中为当前对象提供的功能###########
#无 ##########公共功能############
#1. 长度 """
v = (11,'ffff',22,33,44,)
val = len(v)
print(val)
"""
#索引取值
"""
v = (11,'ffff',22,33,44,)
print(v[0])
print(v[1])
"""
#3.for循环
"""
v = (11,'ffff',22,33,44,)
for i in v:
print(i)
""" #4. 元组也可以嵌套
"""
v = (11,'ffff',22,['蒋毅','二井"'],33,(9,1,2,"alex"),44,)
print(v)
"""
"""
v = (11,'ffff',22,['蒋毅','二井"'],33,(9,1,2,"alex"),44,)
v[3][1] = "XXXXX"
print(v)
""" #元组的儿子不能替换修改,但元组的孙子可以替换或修改添加
v = (11,'ffff',22,['蒋毅','二井"'],33,(9,1,2,"alex"),44,)
v[3].append("asdasd")
print(v)

字典类功能相关脚本:

 #####################dict类中为当前对象提供的功能##############

 """
v = {
"k1":'v1', # 键值对
"k2":'v2', # 键值对
} val = v.get('k1')
print(val)
#------取k对应的value值
""" """
v = {
"k1":'v1', # 键值对
"k2":'v2', # 键值对
} val = v.keys()
print(val)
#------取k的值
""" """
v = {
"k1":'v1', # 键值对
"k2":'v2', # 键值对
} val = v.values()
print(val)
#-----取value值
""" """
v = {
"k1":'v1', # 键值对
"k2":'v2', # 键值对
} val = v.items()
print(val)
#-----同时取k和的值
""" ##########v.keys() v.values() v.items() 一般不单独使用,而是和for循环一起使用 # 当根据k获取对应的值不存在时,k不存在默认取值为none
"""
v = {
"k1":'v1', # 键值对
"k2":'v2', # 键值对
} val = v.get('k1ffff')
print(val)
""" # 当k值不存在时后面指定什么值,key就为什么值
"""
v = {
"k1":'v1', # 键值对
"k2":'v2', # 键值对
} val = v.get('k1ffff','9999')
print(val)
""" ###################公共功能###############
#1.获取字典的长度(键值的个数)
"""
v = {
"k1":'v1', # 键值对
"k2":'v2', # 键值对
}
val = len(v)
print(val)
"""
#2.索引
#不推荐(当k不存在时程序报错),推荐使用get取值
"""
v = {
"k1":'v1', # 键值对
"k2":'v2', # 键值对
}
val = v['k1']
print(val) """ """
v = {
"k1":'v1', # 键值对
"k2":'v2', # 键值对
}
val = v.get('k1')
print(val)
""" #对字典进行设置值,如果k存在对应的值,则更新值;如果k不存在,则创建键值对
"""
v = {
"k1":'v1', # 键值对
"k2":'v2', # 键值对
}
#v['k1'] = 666
v['kkk1'] = 666
val = v.items()
print(val)
""" #字典是无序的,所以不能对字典进行赋值 #del 删除键值对
"""
v = {
"k1":'v1', # 键值对
"k2":'v2', # 键值对
} del v['k1']
val = v.items()
print(val)
""" #3. for循环
"""
v = {
"k1":'v1', # 键值对
"k2":'v2', # 键值对
}
for i in v:
print(i)
"""
#默认只列所有的k
"""
v = {
"k1":'v1', # 键值对
"k2":'v2', # 键值对
}
for i in v.keys():
print(i)
""" #只取value
"""
v = {
"k1":'v1', # 键值对
"k2":'v2', # 键值对
}
for i in v.values():
print(i)
""" #取完整键值对
#方法一
"""
v = {
"k1":'v1', # 键值对
"k2":'v2', # 键值对
}
for i in v.keys():
print(i,v[i])
""" #分解
"""
v = {
"k1":'v1', # 键值对
"k2":'v2', # 键值对
} val = v['k1']
print(val)
""" #方法二
"""
v = {
"k1":'v1', # 键值对
"k2":'v2', # 键值对
}
for k in v.items():
print(k)
#------取值形式为元组模式 """ """
v = {
"k1":'v1', # 键值对
"k2":'v2', # 键值对
}
for k in v.items():
print(k[0],k[1])
""" """
#更简洁的方法
v = {
"k1":'v1', # 键值对
"k2":'v2', # 键值对
}
for k,v in v.items():
print(k,v)
""" #4. 字典嵌套
"""
v = {
"k1":123,
"k2":"asdf",
"k3":True,
"k4":[11,22,33],
"k5":(1,2,3),
"k6":{
'kk1':'vv1',
'kk2':'vv2',
},
'k7':[1,2,(8,6,2),{"k111":'vvv1'},5]
}
val = v.items()
print(val) """ #-----删除其中一个键值对
"""
v = {
"k1":123,
"k2":"asdf",
"k3":True,
"k4":[11,22,33],
"k5":(1,2,3),
"k6":{
'kk1':'vv1',
'kk2':'vv2',
},
'k7':[1,2,(8,6,2),{"k111":'vvv1'},5]
} del v['k6']['kk2']
print(v)
""" #---替换掉k7里面的元组数据
"""
v = {
"k1":123,
"k2":"asdf",
"k3":True,
"k4":[11,22,33],
"k5":(1,2,3),
"k6":{
'kk1':'vv1',
'kk2':'vv2',
},
'k7':[1,2,(8,6,2),{"k111":'vvv1'},5]
}
v['k7'][2] = 666
print(v)
""" #------在k7的嵌套字典里添加一个k222,vvv2
"""
v = {
"k1":123,
"k2":"asdf",
"k3":True,
"k4":[11,22,33],
"k5":(1,2,3),
"k6":{
'kk1':'vv1',
'kk2':'vv2',
},
'k7':[1,2,(8,6,2),{"k111":'vvv1'},5]
}
v['k7'][3]['k222'] = 'vvv2'
print(v)
""" #列表中嵌套字典 """
user_list = [
{'name':'老狗','age':18},
{'name':'流量','age':66},
{'name':'wifi':'age':99},
]
"""
#练习:通过用户输入的姓名和年龄创建字典 """
user_list = [
{'name':'老狗','age':18},
{'name':'流量','age':66},
{'name':'wifi','age':99},
]
n = input("请输入姓名:")
a = input("请输入年龄:")
temp = {}
temp['name'] = n
temp['age'] = a
temp = {'name':n,'age':int(a)}
user_list.append(temp)
print(user_list)
"""
#或者下面的写法 """
user_list = [
{'name':'老狗','age':18},
{'name':'流量','age':66},
{'name':'wifi','age':99},
]
n = input("请输入姓名:")
a = input("请输入年龄:")
temp = {'name':n,'age':int(a)}
user_list.append(temp)
print(user_list)
""" #------改进版----使用for循环
"""
user_list = [
{'name':'老狗','age':18},
{'name':'流量','age':66},
{'name':'wifi','age':99},
]
n = input("请输入姓名:")
a = input("请输入年龄:")
temp = {'name':n,'age':int(a)}
user_list.append(temp)
for item in user_list:
print(item)
""" #----再次改进
"""
user_list = [
{'name':'老狗','age':18},
{'name':'流量','age':66},
{'name':'wifi','age':99},
]
n = input("请输入姓名:")
a = input("请输入年龄:")
temp = {'name':n,'age':int(a)}
user_list.append(temp)
for item in user_list:
print(item['name'],item['age'])
"""

0003-20180422-自动化第三章-python基础学习笔记的更多相关文章

  1. 0003.5-20180422-自动化第四章-python基础学习笔记--脚本

    0003.5-20180422-自动化第四章-python基础学习笔记--脚本 1-shopping """ v = [ {"name": " ...

  2. 0001-20180421-自动化第一章-python基础学习笔记

    ======================学习python==================介绍: python种类: cpython(*),jpython,ironpython,rubypyth ...

  3. 0006-20180422-自动化第七章-python基础学习笔记

    内容回顾: - bytes - str 和bytes - int - str - list - tuple - 深拷贝和浅拷贝 今日内容: 数据类型 - bytes - int - str - boo ...

  4. 0005-20180422-自动化第六章-python基础学习笔记

    day6 内容回顾: 1. 变量 2. 条件 3. while循环 4. 数据类型 - int - bit_length - bool - True/False - str - upper - low ...

  5. 0004-20180422-自动化第五章-python基础学习笔记

    内容回顾:1.数据类型 2.for和while循环 continue break #如下循环将怎么打印结果? for i in range(1,10): print(i) for i in range ...

  6. Python基础学习笔记(三)运算符

    参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-chinese-encoding.html 3. http://w ...

  7. Python基础学习笔记(二)变量类型

    参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-chinese-encoding.html 3. http://w ...

  8. python 基础学习笔记(1)

    声明:  本人是在校学生,自学python,也是刚刚开始学习,写博客纯属为了让自己整理知识点和关键内容,当然也希望可以通过我都博客来提醒一些零基础学习python的人们.若有什么不对,请大家及时指出, ...

  9. 第一课、python基础学习笔记

    自动化非自动化的区别 自动化测试就是让机器按照人的想法把功能全部跑一遍 自动化测试的过程,让我们写一段程序去测试另一段程序是否正常的过程 Java 编译型语言,   编码-->编译-->解 ...

随机推荐

  1. open-falcon实现邮件报警

    1.请安装好Go的环境,参考上一篇open-falcon的安装博文 2.安装 mail-provider https://github.com/open-falcon/mail-provider 安装 ...

  2. Datagrip连接SQLServer Connecting DataGrip to MS SQL Server

    Connecting DataGrip to MS SQL Server Posted on June 21, 2016 by Maksim Sobolevskiy Some specific nee ...

  3. Stack堆栈的数据结构

    1.

  4. 常见机试题分析Java版

    1. 操作系统任务分为系统任务和用户任务两种.其中,系统任务的优先级<50,用户任务的优先级>=50且<=255.优先级大于255的为非法任务,应予以剔除.现有一任务队列task[] ...

  5. Tomcat启动报错:This file is needed to run this program

    Tomcat版本为 8.5.29. 1.情景 kill调用tomcat进程后,重启tomcat报如下错误: Cannot find /usr/local/apache-tomcat-/bin/setc ...

  6. 异常:Project configuration is not up-to-date with pom.xml 解决方案

    错误描述,在导入Maven项目后出现下面错误: Description Resource Path Location Type Project configuration is not up-to-d ...

  7. Golang & GitLab-CI 详细实例步骤

    1.安装GitLab-Runner 1)curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-ci-multi- ...

  8. B - Assignment

    Tom owns a company and he is the boss. There are n staffs which are numbered from 1 to n in this com ...

  9. PHP实现今天是星期几

    echo "今天是星期" . mb_substr( "日一二三四五六",date("w"),1,"utf-8" );

  10. Solve Error: 'NSInvalidArgumentException', reason: '-[UITableView mas_makeConstraints:]: unrecognized selector sent to instance 0x7fa5c402fa00'

    下面是iOS开发用第三方库可能出现的错误,及其解决方法: 1. 'NSInvalidArgumentException', reason: '-[UITableView mas_makeConstra ...