2020.08.23—08.25
python安装时“add python to path”选项是将python的安装路径添加到系统的安装路径之下,这样就可以下windows终端命令下输入python调用,否则你需要先跳转到python的安装路径,然后输入python进行调用。
关于IDE的配置中的编译命令Compile和执行命令Execute后面应该选择python所在文件夹路径。
想创建的三个程序:
建立一个储物网站
创建一个类似TNT的小游戏
制作一个自动买入卖出基金的应用程序
淘宝,京东秒杀抢券的一个应用程序
python中变量名只能是字母,下划线(—),和数字的组合,并且数字不能放在首位;变量名不能含有空格;变量名应该有实际意义并且简短;变量名不能与python关键字和函数名重复;全部大写的变量名一般表示一个常量;
改变字符串大小写的操作(字符串一定用引号括起来)
name = "Zhang lei"
print(name.title())
print(name.upper())
print(name.lower())
first_name = 'zhang'
last_name = 'lei'
full_name = first_name + ' ' +last_name
print('hello, ' + full_name.title() + ' !' )
print('Language:\n\tC\n\tpython\n\tjava')
print('The Language:')
print('\tpython')
language = ' python '
print(language)
print(language.rstrip())
print(language.lstrip())
print(language.strip())
names = ['zhanglei', 'chunjiao', 'dongdong']
print(names[0].title(), names[1])
print(names[-1])
roll = ['zhanglei', 'chunjiao', 'dongdong']
roll.pop(2)
roll.insert(0,'didi')
print(roll)
roll.append('meimei')
print(roll)
del roll[0]
print(roll)
roll.pop(0)
print(roll)
roll.remove('meimei')
print(roll)
roll = ['zhanglei', 'chunjiao', 'dongdong']
print(len(roll))
roll.sort() #按照字母顺序排序,是永久性的,不能恢复到以前位置
print(roll)
roll.sort(reverse = True)#按照字母反向排序,是永久性的,不能恢复到以前位置
print(roll)
roll.reverse()#与之前顺序相反,是永久性的,再次调用这个reserve命令可以恢复以前位置
print(roll)
roll.reverse()
print(roll)
sorted(roll)
print(roll)
print(sorted(roll))#对列表进行临时排序
print(sorted(roll,reverse = True))
animals = ['dog', 'cat', 'panda']
for animal in animals:
print(animal)
print('A', animal, 'would make a great pet\n')
print('Any of these animals would make a great pet')
number = list(range(1, 20, 2))
for even_number in number:
print(even_number)
print('\n')
squares = []
for square in range(1, 11):
squares.append(square**3)
for number_1 in squares:
print(number_1)
squares_1 = [square_1**3 for square_1 in range(1, 11)]
print(squares_1)
numbers = list(range(1, 11))
print(numbers[:2])
print(numbers[-2:])
print(numbers[2:3])
for number in numbers[1:6]:
print(number)
my_favorite = ['pizza', 'cake', 'falafel']
friend_favorite = my_favorite
friend_favorite.append('ice cream')
my_favorite.append('bread')
print(my_favorite)
print(friend_favorite)
friend_favorite1 = my_favorite[:]
friend_favorite1.append('ice cream')
my_favorite.append('bread')
print(my_favorite)
print(friend_favorite1)
numbers =tuple(range(1, 11))
for number in numbers:
print(number)
print(numbers)
l = [1, 2]
l.append(3) #列表可以改动
print(l)
# numbers.append(11)
# print(numbers) 元组不能改动
numbers = tuple(range(1, 5)) #可以对元组变量重新赋值
print(numbers)
l = [1, 2, 3, 4]
a = 1
b = 2
if a == l[0]:
print(a)
if a == l[0] and b > l[2]:
print(b)
else:
print(a)
if a == l[0] or b > l[2]:
print(b)
else:
print(a)
if 1 in l:
print(a)
if 5 not in l:
print(a)
name = []
if name:
print('name is not void')
else:
print('name is void')
number_1 = [1, 2, 3, 4]
number_2 = [2, 3, 4 ,5]
for number in number_2:
if number in number_1:
print(number, '属于两者')
else:
print(number, '只属于number_2')
alien_0 = {
'color': 'green', 'points': '5'}#字典冒号后面加上一个空格
print(alien_0)
alien_0['x_position'] = 0
alien_0['y_position'] = 25 #为字典添加键值对
print(alien_0)
#
# alien_1 = {}
# alien_1['meimei'] = 1
# alien_1['gege'] = 2 #创建一个空字典
# print(alien_1)
alien_0['speed'] = 'fast'
del alien_0['color'], alien_0['points']#删除字典中的键值对
print(alien_0)
print('original x_position:', alien_0['x_position'])
if alien_0['speed'] == 'slow':
x_increment = 1
elif alien_0['speed'] == 'medium':
x_increment = 2
else:
#外星人移动速度很快
x_increment = 3
#新位置等于老位置加上增量
alien_0['x_position'] = alien_0['x_position'] + x_increment
print('New x_position:', alien_0['x_position'])
user_0 = {
'user_name': 'zhanglei',
'first_name': 'zhang',
'last_name': 'lei',
}
for k,v in user_0.items():#字典名加上方法items(),返回一个键-值对列表
print('\nkey:', k)
print('value:', v)
favorite_language = {
'xiaohua': 'python',
'xiaoyu': 'c',
'xiaofang': 'java',
}
names = ['xiaoyu', 'xiaohua']
for name in favorite_language.keys(): #favorite_languag.key()返回的是字典中的键形成的列表,也可以不加.key(),字典名默认返回也是键
print(name)
if name in names:
print('hi,', name,
', I know your favorite language is',
favorite_language[name], '.\n' #favorite_language[name]中name没有引号,它是一个变量
)
for name_0 in sorted(favorite_language.keys()):#将字典中的键组成的列表排序
print('\n', name_0.title())
for language in sorted(favorite_language.values()):#将字典中的值组成的列表排序
print('\n', language.title())
favorite_language = {
'xiaohua': 'python',
'xiaoyu': 'c',
'xiaofang': 'java',
'xiaolei': 'python',
}
for language in set(sorted(favorite_language.values())): #set(列表名)是剔除列表里面的重复元素
print(language)
#创建一个用于存储外星人的空列表
aliens = []
#创建三十个绿色外星人
for alien_number in range(30):
new_alien = {
'color': 'green', 'points': 5, 'speed': 'slow'}
aliens.append(new_alien)
#显示前5个外星人
for alien in aliens[:5]:
print(alien)
print('...')
#显示创建了多少外星人
print(len(aliens))
#将前三个绿色外星人颜色改为黄色,分值为10,速度为中等
for alien in aliens[:3]:
if alien['color'] == 'green':
alien['color'] = 'yellow'
alien['points'] = 10
alien['speed'] = 'medium'
#显示前5个外星人
for alien in aliens[:5]:
print(alien)
pizza = {
'toppings': ['mushrom', 'extra chess'],
'crust': 'thick',
}
print('you orded a', pizza['crust'] + '-crust pizza' #print中字符串和变量是一定用逗号隔开,并且用逗号隔开会自动加一个空格
'with following toppings:')#字符串和字符串可以不用逗号隔开,但是要想表示两个分开的字符串,需要在其中一个字符串里面加空格,加逗号没用
#用+可以链接字符串与字符串,或者字符串和变量,并且没有空格
for topping in pizza['toppings']:
print(topping)
users = {
'xuyu':{
'first_name': 'xu',
'last_name': 'yu',
'location': 'anqing'
},
'wuhua': {
'first_name': 'wu',
'last_name': 'hua',
'location': 'chizhou'
}
}
for user_name, info in users.items():
print('username:', user_name)
full_name = info['first_name'] + ' ' + info['last_name']
print('\tFullname', full_name)
location = info['location']
print('\tLocation', location)
#input()函数是接受一个参数,这个参数是一个提示用户如何输入的信息,一般是个字符串,也可以是一个变量(事先将字符串赋值给该变量);
# 并且将用户输入的信息存储到一个变量中;并且将用户输入内容解读为字符串;
message = input('Tell me something, and I will repeat it back to you: ')
print(message)
prompt = 'If you tell me who are you, I can personlize the message you see' \
'\nWhat is you first name? '
name = input(prompt)
print('\nHello,', name)
age = input('please tell me your age: ')
if int(age) > 18: #int()函数将数字的字符串表示为数值表示
print('adult')
prompt = 'Tell me something, I will repeat it back to you. (Enter "quit" end the program): '
message = ""
while message != 'quit':
message = input(prompt)
if message != 'quit':
print(message)
prompt = 'Tell me something, I will repeat it back to you. (Enter "quit" end the program): '
message = ""
active = True #True,Flase 不用加引号
while active:
message = input(prompt)
if message != 'quit':
print(message)
else:
active = False
number = 0
while number < 10:
number += 1
if number % 2 == 0:
continue #continue是直接忽略循环中下面的代码,并且回到while循环的开头去;break是不再执行余下代码并且退出整个循环
else:
print(number)
number_0 = [0, 1, 2, 3]
number_1 = []
while len(number_0) > 1:#while条件判别式如果是个列表,会不断运行,直到列表为空
current_number = number_0.pop(1)
number_1.append(current_number)
print(number_1)
responses = {
}
#设置一个标志
polling_active = True
while polling_active:
#做个问卷调查
name = input('please enter your name: ')
response = input('which mountain would you like to climb someday? ')
#问卷调查存入字典中
responses[name] = response
#看看还有别人要问卷调查吗
repeat = input('would you like to let another person respond?(yes/no)')
if repeat == 'no':
polling_active = False
#显示调查结果
print('\n---RESULTS---')
for name, response in responses.items():
print(name, 'would like to climb', response)
#位置实参,关键字实参
def pet(animal_type, animal_name):
print('I have a', animal_type)
print("My", animal_type + "'s name is", animal_name)
pet('dog', 'xiaomei')#位置实参,注意实参顺序不能写反了
pet(animal_name='xiaomei', animal_type='dog')#关键字实参,注意形参的名字不能写错了,顺序无所谓,因为实参与形参是指定的
#默认值形参
def pet_0(animal_name, animal_type = 'dog'): #定义函数时,给出形参的默认值,这样调用函数时就可以不给出与animal_name对应的实参了
print('I have a', animal_type)#上面有默认值的形参应放在后面
print("My", animal_type + "'s name is", animal_name)
pet_0('xiaoming')
#传递任意数量的同类型实参
def make_pizza(*toppings): #*toppings这个形参是指无论调用函数时传入多少实参,都将他们封装到一个名为toppings的元组之中
for topping in toppings:
print('-', topping)
make_pizza('mushrooms', 'extra chess', 'green peppers')
#如果实参类型不同,比如传递pizza尺寸以及配料
def make_pizza(size, *toppings): #python先匹配位置实参和关键字实参,再将余下的实参都放在最后一个形参中,因此*topping应放在后面
for topping in toppings:
print('-', topping)
print(size)
make_pizza(15, 'mushrooms', 'extra chess', 'green peppers')
#使用任意数量的关键字实参
def build_profile(first, last, **user_info):
profile = {
}
profile['first_name'] = first
profile['last_namae'] = last
for key, value in user_info.items():
profile[key] = value
return (profile)
user_profile = build_profile('zhang', 'lei',
location = 'huabei', field = 'computer')#关键字实参传递给函数的是名称-值对,名称不加引号
print(user_profile)
导入函数的几种方法
import 模块名(模块名就是你编写函数的那个文件名) (可以用 import 模块名 as 新名称 来给模块取别名 )
调用函数时:模块名.函数名
from 模块名 import 函数名 (同上也可以加 as 新名称 为函数取别名)
调用函数时:函数名
class Restaurant():
'''模拟饭店'''
def __init__(self, restaurant_name, cuisine_type):#注意这里是双下划线__
'''初始化属性饭店名和烹饪类型'''
self.restaurant_name = restaurant_name
self.cuisine_type = cuisine_type #以self为前缀的变量都可供类中所有方法使用
def describe_restaurant(self):
'''描述饭店名字和烹饪类型'''
print('The restaurant name is', self.restaurant_name)
print("The restaurant's cuisine type is", self.cuisine_type)
def open_restaurant(self):
'''参观正在营业,欢迎光临'''
print(self.restaurant_name, 'is now opening')
my_restaurant = Restaurant ('rain', 'boil')#用之前定义的类来创建实例
print(my_restaurant.restaurant_name)#创建实例后再调用类中属性restaurant_name,和cuisine_type就不加self了,换成实例名
print(my_restaurant.cuisine_type)
my_restaurant.describe_restaurant() #调用类中的方法
my_restaurant.open_restaurant()
xiaohua_restaurant = Restaurant('huazi', 'steam')
print('\n' + xiaohua_restaurant.restaurant_name)
print(xiaohua_restaurant.cuisine_type)
xiaohua_restaurant.describe_restaurant()
xiaohua_restaurant.open_restaurant()
class Car():
'''模拟汽车'''
def __init__(self, make, model, year):
'''初始化描述汽车的属性'''
self.make = make
self.model = model #类中的每个属性必须有初始值
self.year = year
self.odometer_reading = 0 #如果某个属性有初始值,在__init__内部定义即可,并且无需包含为他提供初始值的形参
def get_descriptive(self):
'''返回整洁的汽车描述信息'''
long_name = self.year + ' ' + self.make + ' ' + self.model
return long_name.title()
def read_odometer(self):
'''打印出汽车目前里程'''
print(self.odometer_reading)
def update_odometer(self, mileage):
'''将里程表读数设为指定值'''
if mileage > self.odometer_reading:
self.odometer_reading = mileage
else:
print("You can't roll back an odometer")
my_car = Car('audi', 'a4', '2016')
print(my_car.get_descriptive())
my_car.read_odometer()
my_car.odometer_reading = 23#用实例直接调用类中属性来修改它的值
my_car.read_odometer()
my_car.update_odometer(25)#通过重新定义一个方法来修改属性值
my_car.read_odometer()
class Car():
'''模拟汽车'''
def __init__(self, make, model, year):
'''初始化描述汽车的属性'''
self.make = make
self.model = model #类中的每个属性必须有初始值
self.year = year
self.odometer_reading = 0 #如果某个属性有初始值,在__init__内部定义即可,并且无需包含为他提供初始值的形参
def get_descriptive(self):
'''返回整洁的汽车描述信息'''
long_name = self.year + ' ' + self.make + ' ' + self.model
return long_name.title()
def read_odometer(self):
'''打印出汽车目前里程'''
print(self.odometer_reading)
def update_odometer(self, mileage):
'''将里程表读数设为指定值'''
if mileage > self.odometer_reading:
self.odometer_reading = mileage
else:
print("You can't roll back an odometer")
my_car = Car('audi', 'a4', '2016')
print(my_car.get_descriptive())
my_car.read_odometer()
my_car.odometer_reading = 23#用实例直接调用类中属性来修改它的值
my_car.read_odometer()
my_car.update_odometer(25)#通过重新定义一个方法来修改属性值
my_car.read_odometer()
class Battery():
'''描述电池'''
def __init__(self, battery_size=70): #battery_size这个形参是可选的,如果没有为它提供一个下实参,它就默认为70
'''初始化电池属性'''
self.battery_size = battery_size #不能省略,因为这是对属性的初始化,battery_size=70,只是提供默认值,不是初始化
def describe_battery(self):
'''用来描述电池容量'''
print("The car have a", str(self.battery_size) + "-kwh battery")
class ElectricCar(Car):
'''
模拟电瓶车,先继承父类
'''
def __init__(self, make, model, year):
'''初始化父类的属性'''
super().__init__(make, model, year) #让这个子类包含父类所有属性和方法
self.battery = Battery() #初始化电车特有属性,创建了一个新的实例(关于Battery类的)
# 并把他赋值于battery属性,Battery()括号里面没有参数,是因为之前Battery类中属性已经默认为70
my_electric_car = ElectricCar('yadi', 'S', '2020')
print(my_electric_car.get_descriptive())
my_electric_car.battery.describe_battery()
with open('pi_digits.txt') as file_object: #open()函数接受文件名,返回一个表示文件的对象;关键字with在不需要访问文件时将其关闭
contents = file_object.read() #方法read()读取用来读取文件全部内容,并且将内容以字符串形式返回
print(contents.rstrip()) #方法rstrip()用来删除字符串末尾空白
with open('.idea/filename.txt') as file_objict:#相对路径是指这个要查找的文件是放在该程序所在文件夹下的另一个文件夹之中,本例是.idea
contents = file_objict.read()
print(contents)
filename ='pi_digits.txt'
'''逐行读取'''
with open(filename) as file_object: #将一个表示文件及其内容的对象存储到file_object变量中
for line in file_object:
print(line.rstrip())
'''创建一个包含文件各行内容的列表'''
with open(filename) as file_object:
lines = file_object.readlines() #方法readlines()从文件中读取每一行将其存储在一个列表中,本例将该列表存储在变量lines中
pi_string = ''
for line in lines: #open()返回的这个表示文件的对像只能在with代码块中使用
pi_string += line.strip()
print(pi_string)
print(len(pi_string))
'''将新内容覆盖原有内容,只读模式,会清除原有内容'''
filename = 'test.text'
with open(filename, 'w') as file_object:
#open()中形参'w'是以写入模式打开文件,注意如果该文件不存在,python会在程序当前目录下创建该文件
# 如果已经存在,python将在返回文件对象前清空该文件,意思就是将新内容覆盖原有内容;'r+'读取和写入模式 'r'读取模式 'a'附加模式
file_object.write('thank you\n') #方法write()将字符串写入文件中
'''附加新内容到文件,而不是覆盖原有文件(附加模式)'''
with open(filename, 'a') as file_object:
file_object.write('I really love you') #将新内容附加到文件末尾
active = True
while active:
name = input('please enter your name (if you want quit please enter "q"): ')
if name == 'q':
break
else:
filename = 'guest_book.text'
record = 'hello, ' + name.title()
print(record)
with open(filename, 'a') as file_object:
file_object.write(record + '\n')
a = input('Give me a divisor: ')
b = input('Give me a dividend: ')
try:
c = int(a) / int(b) #input()让用户输入的是字符串形式,因此要转换为整数来运算
except ZeroDivisionError:
print('零不能被除') #可以用pass来跳过这个信息,不让用户看到
else:
print(c)
'''导入json模块,用json.dump(),json.load()处理程序与文件之间的数据关系'''
import json
numbers = [0, 1, 2, 3, 4, 5]
filename = 'numbers.json' #文件存储数据为json格式
with open(filename, 'w') as fl_obj:
json.dump(numbers, fl_obj) #利用json.dump()将python中的数据结构写入到一个文件中
with open(filename) as fl_obj:
numbers0 = json.load(fl_obj)#jaon.load()读取文件中的内容将其把存到numbers0变量之中
print(numbers0)
import json
#如果以前存储了用户名就加载它,否则就提示用户输入用户名并存储它
filename = 'user_name.json'
try:
with open(filename) as fl_obj:
name = json.load(fl_obj)
except FileNotFoundError:
name = input('please enter your name: ')
with open(filename, 'w') as fl_obj:
json.dump(name, fl_obj)
print('we will remember you when you come back:', name)
else:
print('welcome back:', name)
import json
def get_stored_name():
'''如果用户存在就读取之前存在的用户名'''
filename = 'user_name.json'
try:
with open(filename) as fl_obj:
name = json.load(fl_obj)
except FileNotFoundError:
return None
else:
return name
def new_name():
'''如果是新用户,则保存该用户名到文件中'''
filename = 'user_name.json'
name = input('please enter your name: ')
with open(filename, 'w') as fl_obj:
json.dump(name, fl_obj)
return name
def greet_user():
'''问候用户,并指出名字'''
name = get_stored_name()
if name:
print('welcome back:', name)
else:
name = new_name()
print('we well welcome you when you come back', name)
greet_user()
文章浏览阅读3.2k次。本文研究全球与中国市场分布式光纤传感器的发展现状及未来发展趋势,分别从生产和消费的角度分析分布式光纤传感器的主要生产地区、主要消费地区以及主要的生产商。重点分析全球与中国市场的主要厂商产品特点、产品规格、不同规格产品的价格、产量、产值及全球和中国市场主要生产商的市场份额。主要生产商包括:FISO TechnologiesBrugg KabelSensor HighwayOmnisensAFL GlobalQinetiQ GroupLockheed MartinOSENSA Innovati_预计2026年中国分布式传感器市场规模有多大
文章浏览阅读1.1k次,点赞2次,收藏12次。常用组合逻辑电路结构——为IC设计的延时估计铺垫学习目的:估计模块间的delay,确保写的代码的timing 综合能给到多少HZ,以满足需求!_基4布斯算法代码
文章浏览阅读3.3k次,点赞3次,收藏5次。OpenAI Manager助手(基于SpringBoot和Vue)_chatgpt网页版
文章浏览阅读2.2k次。USACO自1992年举办,到目前为止已经举办了27届,目的是为了帮助美国信息学国家队选拔IOI的队员,目前逐渐发展为全球热门的线上赛事,成为美国大学申请条件下,含金量相当高的官方竞赛。USACO的比赛成绩可以助力计算机专业留学,越来越多的学生进入了康奈尔,麻省理工,普林斯顿,哈佛和耶鲁等大学,这些同学的共同点是他们都参加了美国计算机科学竞赛(USACO),并且取得过非常好的成绩。适合参赛人群USACO适合国内在读学生有意向申请美国大学的或者想锻炼自己编程能力的同学,高三学生也可以参加12月的第_usaco可以多次提交吗
文章浏览阅读394次。1.1 存储程序1.2 创建存储过程1.3 创建自定义函数1.3.1 示例1.4 自定义函数和存储过程的区别1.5 变量的使用1.6 定义条件和处理程序1.6.1 定义条件1.6.1.1 示例1.6.2 定义处理程序1.6.2.1 示例1.7 光标的使用1.7.1 声明光标1.7.2 打开光标1.7.3 使用光标1.7.4 关闭光标1.8 流程控制的使用1.8.1 IF语句1.8.2 CASE语句1.8.3 LOOP语句1.8.4 LEAVE语句1.8.5 ITERATE语句1.8.6 REPEAT语句。_mysql自定义函数和存储过程
文章浏览阅读188次。半导体二极管——集成电路最小组成单元。_本征半导体电流为0
文章浏览阅读2.8k次,点赞3次,收藏18次。游戏水面特效实现方式太多。咱们这边介绍的是一最简单的UV动画(无顶点位移),整个mesh由4个顶点构成。实现了水面效果(左图),不动代码稍微修改下参数和贴图可以实现岩浆效果(右图)。有要思路是1,uv按时间去做正弦波移动2,在1的基础上加个凹凸图混合uv3,在1、2的基础上加个水流方向4,加上对雾效的支持,如没必要请自行删除雾效代码(把包含fog的几行代码删除)S..._unity 岩浆shader
文章浏览阅读5k次。广义线性模型是线性模型的扩展,它通过连接函数建立响应变量的数学期望值与线性组合的预测变量之间的关系。广义线性模型拟合的形式为:其中g(μY)是条件均值的函数(称为连接函数)。另外,你可放松Y为正态分布的假设,改为Y 服从指数分布族中的一种分布即可。设定好连接函数和概率分布后,便可以通过最大似然估计的多次迭代推导出各参数值。在大部分情况下,线性模型就可以通过一系列连续型或类别型预测变量来预测正态分布的响应变量的工作。但是,有时候我们要进行非正态因变量的分析,例如:(1)类别型.._广义线性回归模型
文章浏览阅读69次。环境保护、 保护地球、 校园环保、垃圾分类、绿色家园、等网站的设计与制作。 总结了一些学生网页制作的经验:一般的网页需要融入以下知识点:div+css布局、浮动、定位、高级css、表格、表单及验证、js轮播图、音频 视频 Flash的应用、ul li、下拉导航栏、鼠标划过效果等知识点,网页的风格主题也很全面:如爱好、风景、校园、美食、动漫、游戏、咖啡、音乐、家乡、电影、名人、商城以及个人主页等主题,学生、新手可参考下方页面的布局和设计和HTML源码(有用点赞△) 一套A+的网_垃圾分类网页设计目标怎么写
文章浏览阅读614次,点赞7次,收藏11次。之前找到一个修改 exe 中 DLL地址 的方法, 不太好使,虽然能正确启动, 但无法改变 exe 的工作目录,这就影响了.Net 中很多获取 exe 执行目录来拼接的地址 ( 相对路径 ),比如 wwwroot 和 代码中相对目录还有一些复制到目录的普通文件 等等,它们的地址都会指向原来 exe 的目录, 而不是自定义的 “lib” 目录,根本原因就是没有修改 exe 的工作目录这次来搞一个启动程序,把 .net 的所有东西都放在一个文件夹,在文件夹同级的目录制作一个 exe._.net dll 全局目录
文章浏览阅读1.5k次。本文为转载,原博客地址:http://blog.csdn.net/hujingshuang/article/details/46910259简介 BRIEF是2010年的一篇名为《BRIEF:Binary Robust Independent Elementary Features》的文章中提出,BRIEF是对已检测到的特征点进行描述,它是一种二进制编码的描述子,摈弃了利用区域灰度..._breif description calculation 特征点
文章浏览阅读4.1k次,点赞21次,收藏79次。本文是《基于SpringBoot的房屋租赁管理系统》的配套原创说明文档,可以给应届毕业生提供格式撰写参考,也可以给开发类似系统的朋友们提供功能业务设计思路。_基于spring boot的房屋租赁系统论文