快速入门python_一天快速入门 Python

Python 是由Guido Van Rossum在 90 年代早期设计,现在是最常用的编程语言之一。特别是人工智能的火热,再加之它的语法简洁且优美,实乃初学者入门AI必备的编程语言。

作者 | yuquanle

责编 | 屠敏

Python基本语法

标识符

第一个字符必须是英文字母或下划线 _ 。标识符的其他的部分由字母、数字和下划线组成。标识符对大小写敏感。

保留字

保留字即关键字,不能用作任何标识符名称。keyword 模块可以输出当前版本的所有关键字:

import keywordprint(keyword.kwlist)['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

注释

单行注释采用#,注释是给人看的,可以是任意内容,解释器会忽略掉注释。

多行注释采用'''或"""。

# print("我是注释,不会执行")print("正常执行代码")'''这是多行注释,用三个单引号这是多行注释,用三个单引号 '''print("Hello, World!") """这是多行注释,用三个双引号这是多行注释,用三个双引号 """print("Hello, World!")

行与缩进

Python 使用缩进来表示代码块而不是大括号 {}。缩进的空格数是可变的,但是同一个代码块的语句必须是相同的缩进空格数。建议四个空格数。

注意Tab和四格空格混用会报错,这个错误还不容易被察觉。

输入输出

通常是一条语句一行,如果语句很长,我们可以使用反斜杠(\)来实现多行语句。在 [], {}, 或 () 中的多行语句,则不需要反斜杠。

sentence1 = "I love " + \"python"sentence2 = ["I", "love","python"]

基本数据类型

计算机程序要处理不同的数据,需要定义不同的数据类型。Python 中的变量不需要声明,每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。

Python中变量就是变量,没有类型,所说的"类型"是变量所指的内存中对象的类型。等号(=)用来给变量赋值。等号(=)运算符左边是一个变量名,等号(=)运算符右边是存储在变量中的值。

数字类型(Number)

数字类型是不可变数据。Python3 支持 int(整数)、float(浮点数)、bool(布尔)、complex(复数),数值类型的赋值和计算是很直观的。

# int(整数)a = 3# float(浮点数)b = 3.5#bool(布尔)c = True#complex(复数)d = 4+3jprint(a, b, c, d)#内置的 type() 函数可以用来查询变量所指的对象类型print(type(a), type(b), type(c), type(d))#还可以用 isinstance 来判断#isinstance 和 type 的区别在于:type()不会认为子类是一种父类类型,isinstance()会认为子类是一种父类类型print(isinstance(a, int))print(isinstance(a, float))

关于数值运算,可以同时为多个变量赋值,如a, b = 1, 2。一个变量可以通过赋值指向不同类型的对象。

除法包含两个运算符:/ 返回一个浮点数,// 返回一个整数。混合计算时,Python会把整型转换成为浮点数。

# 加print("Add operation: 5 + 4 = ",5 + 4)# 减print("Sub operation: 5 - 4 = ",5 - 4)# 乘print("Mul operation: 5 * 4 = ",5 * 4)# 除,得到一个浮点数print("Div operation: 5 / 4 = ",5 / 4)# 除,得到一个整数print("Div operation: 5 // 4 = ",5// 4)# 取余print("Mod operation: 5 % 4 = ",5 % 4)# 乘方print("Pow operation: 5 ** 4 = ",5 ** 4)

字符串类型(String)

Python 没有单独的字符类型,一个字符就是长度为1的字符串。字符串用单引号 ' 或双引号 " 括起来。

s1 = "I love python"s2 = 'I love python'print(s1)print(s2)#索引值以 0 为开始值,-1 为从末尾的开始位置print("s1首字母字符:", s1[0])print("s1末尾字母字符:", s1[-1])print("输出从第三个开始到第五个的字符:", s1[2:5]) #加号 + 是字符串的连接符#星号 * 表示复制当前字符串,紧跟的数字为复制的次数str = "I love python "print("连接字符串:", str + "!!!")print("输出字符串两次:", str * 2)#反斜杠 \ 转义特殊字符#若不想让反斜杠发生转义,可以在字符串前面添加一个 rprint('I\nlove\npython')print("反斜杠转义失效:",r'I\nlove\npython')

列表类型(List)

列表类型是一种有序的集合。列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套)。列表是写在方括号 [] 之间、用逗号分隔开的元素列表。

list_a = [1, 2, 3, 4, 5, 6]list_b = [7, 8, 9]print(list_a)print(list_b)#列表可以被索引和截取,列表被截取后返回一个包含所需元素的新列表print ("输出完整列表: ", list_a) print ("输出列表第一个元素:", list_a[0]) print ("从第二个开始输出到第三个元素:", list_a[1:3]) print ("输出从第三个元素开始的所有元素:", list_a[2:])print ("连接两次列表:", list_a * 2)print ("连接列表:", list_a + list_b)#列表中的元素是可以改变的list_a = [1, 2, 3, 4, 5, 6]print("变化前:", list_a)list_a[0] = 0list_a[2:5] = [7, 8, 9]print("变化后:", list_a)#append()方法:在列表末尾添加新的对象list_a = [1, 2, 3, 4, 5, 6]print("添加前:", list_a)list_a.append(7)list_a.append(8)print("添加后:", list_a)#del语句:删除列表元素list_a = [1, 2, 3, 4, 5, 6]print("删除前:", list_a)del list_a[0]print("删除后:", list_a)#len()方法:计算列表长度list_a = [1, 2, 3, 4, 5, 6]print("列表长度:", len(list_a))#max()方法:返回列表元素最大值。min()方法:返回列表元素最小值list_a = [1, 2, 3, 4, 5, 6]print("列表最小值:", min(list_a))print("列表最大值:", max(list_a))#list()方法:将字符串转换为列表str = '123456'print("转换后:", list(str))#count()方法:统计某个元素在列表中出现的次数list_a = [1, 1, 2, 3, 4, 5, 6]print("1在list_a中出现的次数:", list_a.count(1))#index()方法:从列表中找出某个值第一次出现的索引位置list_a = [1, 2, 3, 4, 5, 6]print("3第一次出现的位置:", list_a.index(3))#insert()方法:将对象插入列表指定位置list_a = [1, 2, 3, 4, 5, 6]print("插入前:", list_a)list_a.insert(0 ,7)print("插入后:", list_a)#pop()方法:移除列表中的一个元素(默认最后一个元素),并且返回该元素的值list_a = [1, 2, 3, 4, 5, 6]print("默认移除最后一个元素:", list_a.pop())print("指定移除第一个元素:", list_a.pop(0))#reverse()方法:翻转列表中元素list_a = [1, 2, 3, 4, 5, 6]print("翻转前:", list_a)list_a.reverse()print("翻转后:", list_a)#sort()方法:该方法没有返回值,但是对原列表进行排序list_a = [1, 3, 2, 5, 4, 6]print("排序前:", list_a)list_a.sort()print("升序排序:", list_a)list_a.sort(reverse = True)print("降序排序:", list_a)

元组类型(Tuple)

元组类型是不可变类型,元组使用小括号()。

tup1 = (1, 2, 3, 4, 5 )# 元组中只包含一个元素时,需要在元素后面添加逗号,否则括号会被当作运算符使用tup2 = (50,)tup3 = (50)print(type(tup2))print(type(tup3))#访问元组:使用下标索引来访问元组中的值tup1 = (1, 2, 3, 4, 5 )print ("tup1[0]: ", tup1[0])print ("tup1[1:3]: ", tup1[1:3])#修改元组:元组中的元素值是不允许修改的,但可以对元组进行连接组合tup1 = (1, 2)tup2 = ('a', 'b')# 创建一个新的元组tup3 = tup1 + tup2print(tup3)#删除元组:元素值是不允许删除,但可以使用del语句来删除整个元组tup1 = (1, 2, 3, 4, 5 )print(tup1)del tup1print("删除后的元组 tup1: ")print(tup1)#元组运算符:如 + 号和 * 号tup1 = (1, 2)tup2 = ('a', 'b')print("连接:", tup1 + tup2)print("复制3次:", tup1 * 3)#len():计算元组元素个数tup1 = (1, 2)print("元组长度:", len(tup1))#max()方法: 返回元组中元素最大值。min()方法: 返回元组中元素最小值tup1 = (1, 2)print("元组最大值:", min(tup1))print("元组最大值:", max(tup1))#tuple()方法:将列表转换为元组list1= ['1', '2']print("转换前:", list1)tup1 = tuple(list1)print("转换后:", tup1)

集合类型(Set)

集合类型是无序的不重复元素序列。使用大括号 {} 或者 set() 函数创建集合。

注意:创建一个空集合必须用 set() 而不是 {},因为 {} 是用来创建一个空字典。

a={'a','b','c'}b=set('abc')c=set()d={}print(a)print(b)print(type(a), type(b), type(c), type(d))#无序性a = set('python')print(a)#互异性a = set('good')print(a)#add()方法:为集合添加元素a = set('good')a.add('p')print(a)#update()方法:给集合添加元素a = set('good')a.update('p')print("添加一个元素", a)a.update(['a', 'b', 'c'])print("添加多个元素", a)a.update(['H', 'e'], {'l', 'l', 'o'}) print('添加列表和集合', a)#remove()方法:移除指定元素s = {'P', 'y', 't', 'h', 'o', 'n'}s.remove('t') print("去掉t", s) #pop()方法:随机移除元素 s = {'P', 'y', 't', 'h', 'o', 'n'}print("随机删除元素:", s.pop()) #clear()方法:移除集合中的所有元素s = {'P', 'y', 't', 'h', 'o', 'n'}s.clear() print("清空集合:", s, len(s))#issubset()方法:判断指定集合是否为该方法参数集合的子集A = set('abcd')B = set('cdef')C = set('ab')print("C是否A子集:", C.issubset(A))#union()方法:返回两个集合的并集,也可以用 |print("A和B并集:", A|B)print("A和B并集:",A.union(B))#intersection()方法:返回集合的交集,也可以用&print("A和B交集:", A&B)print("A和B交集:",A.intersection(B))#difference()方法:差集,也可以用-print("A和B差集:", A-B)print("A和B差集:",A.difference(B))

字典类型(Dictionary)

字典类型是可变类型。在同一个字典中,键(key)必须是唯一的。

字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中。

# 用{}创建字典dict1 = {"a":"1", "b":"2"}print(dict1)# 用内置函数dict()dict2 = dict(a="1", b="2")print(dict2)#访问字典里的值dict1 = {"a":"1", "b":"2"}print ("dict1['a']: ", dict1['a']) #如果没有会报错print ("dict1.get('a'): ", dict1.get('a')) #如果没有返回Noneprint("获取所有的key值:", dict1.keys())print("获取所有的value值:", dict1.values())#增加新的键/值对dict1 = {"a":"1", "b":"2"}print ("增加前:", dict1)dict1['c'] = 3print ("增加后:", dict1)#删除字典指定元素dict1 = {"a":"1", "b":"2"}print ("删除前:", dict1)del dict1['a']print ("删除后:", dict1)#清空字典dict1 = {"a":"1", "b":"2"}print ("清空前:", dict1)dict1.clear()print ("清空后:", dict1)#dir()方法:查看dict所有方法print(dir(dict))

条件判断和循环

条件控制:通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。

每个条件后面要使用冒号:,表示接下来是满足条件后要执行的语句块。使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块。在Python中没有switch–case语句。

#if操作x = 5if x > 3:print("yes")#if嵌套:if...elif...else#也可以把 if...elif...else 结构放在另外一个 if...elif...else 结构中x = 99if x<60:print("不及格")elif x<80:print("良好")else:print("优秀")#while循环sum = 0counter = 1while counter <= 10: sum = sum + counter counter += 1print("1 到 10 之和为: %d" % sum)#while 循环使用 else 语句count = 0while count < 5:print (count, " 小于 5") count = count + 1else:print (count, " 大于或等于 5")#for 语句:for循环可以遍历任何序列(列表、字符串等)str = 'python'list1 = ['I', 'love', 'python']print("遍历字符串")for i in str:print(i)print("遍历列表")for i in list1:print(i)#range()函数:遍历数字序列,可以使用内置range()函数生成数列for i in range(5):print(i)#也可以使用range指定区间的值for i in range(2,6):print(i)#也可以使range以指定数字开始并指定不同的增量(步长),可以是负数for i in range(0, 10, 3):print(i)for i in range(-10, -100, -30):print(i)#可以结合range()和len()函数以遍历一个序列的索引list1 = ['I', 'love', 'Python']for i in range(len(list1)):print(list1[i])#break语句:跳出 for 和 while 的循环体list1 = ['I', 'love', 'Python']for i in list1:if i == 'love':breakprint('当前为 :', i)#continue语句:跳过当前循环块中的剩余语句,然后继续进行下一轮循环var = 10whilevar > 0: var = var-1# 变量为 5 时跳过输出ifvar == 5: continueprint ('当前值 :', var)print ("hello world!")#pass 语句:pass是空语句,是为了保持程序结构的完整性,pass 不做任何事情,一般用做占位语句while True: pass # 等待键盘中断 (Ctrl+C)

函数

函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。函数能提高应用的模块性,和代码的重复利用率。

Python提供了许多内建函数,比如“print()”,也可以自己创建函数,这被叫做用户自定义函数。

# 1.无参函数# 用def定义新函数defmy_func(): print("test...")return1# 调用函数my_func() # 2.有参函数# 关键字参数、默认参数、可变参数。# 关键字参数: 调用时指定参数的名称,且与函数声明时的参数名称一致。使用关键字参数允许函数调用时参数的顺序与声明时不一致。defmy_func1(x, y): print(x) print(y)# 标准调用my_func1(1, 2)# 关键字调用defmy_func1(y = 1, x = 2)# 默认参数:在函数声明时,指定形参的默认值,调用时可不传入参数(使用默认值)。defmy_func2(x, y=1): print(x+y)my_func2(2)#可变参数:变参数就是传入的参数个数是可变的,可以是1个、2个到任意个。#在参数前面加了一个*号。在函数内部,参数numbers接收到的是一个tuple。defmy_func3(*numbers): sum = 0for n innumbers: sum = sum + n * nreturn sum# 函数调用my_func3() #返回结果0my_func3(1,2) #返回结果5# 关键字参数:可变参数允许你传入0个或任意个参数,这些可变参数在函数调用时自动组装为一个tuple。而关键字参数允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict。defmy_func4(x, **kw): print ('x:', x, 'other:', kw)#除了必选参数x外,还接受关键字参数kw。在调用该函数时,可以只传入必选参数。my_func4(8)#也可以传入任意个数的关键字参数my_func4(8, z="66")

类(Class):用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。

类变量:类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实例变量使用。

数据成员:类变量或者实例变量, 用于处理类及其实例对象的相关的数据。

#创建类StudentclassStudent(object):"学生成绩"def__init__(self, name, score): self.name = name self.score = scoredefprint_score(self): print('%s: %s' % (self.name, self.score))#创建Student类的对象bartjack = Student('Bart Simpson', 59)#创建Student类的对象lisabob = Student('Lisa Simpson', 87)#访问类的属性jack.print_score()bob.print_score()# 添加一个 'age' 属性jack.age = 7print("添加一个 'age' 属性:",hasattr(jack, 'age'))# 修改 'age' 属性jack.age = 8print("修改 'age' 属性:",getattr(jack, 'age'))# 删除 'age' 属性del jack.age print("删除 'age' 属性:",hasattr(jack, 'age'))

类的继承

面向对象的编程带来的主要好处之一是代码的重用,实现这种重用的方法之一是通过继承机制。

通过继承创建的新类称为子类或派生类,被继承的类称为基类、父类或超类。

#编写一个名为Fruit的class,执行run()方法可以直接打印#编写Apple和Orange类时,就可以直接从Fruit类继承classFruit(object):'父类Animal'defrun_father(self): print('调用父类方法...')classApple(Fruit):'子类1 Apple'defrun_son(self): print('调用子类方法...')classOrange(Fruit):'子类2 Orange'defrun_son(self): print('调用子类方法...')#实例化子类apple = Apple()orange = Orange()#调用父类方法apple.run_father()orange.run_father()#调用子类方法apple.run_son()orange.run_son()

方法重写

如果父类方法的功能不能满足你的需求,你可以在子类重写你父类的方法

classFruit(object):'父类Animal'defrun(self): print('调用父类方法...')classApple(Fruit):'子类1 Apple'defrun(self): print('子类1 Apple 重写父类方法...')classOrange(Fruit):'子类2 Orange'defrun(self): print('子类2 Orange 重写父类方法...')#实例化子类apple = Apple()orange = Orange()#调用父类方法apple.run()orange.run()

模块

Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句。模块让你能够有逻辑地组织你的 Python 代码段。

把相关的代码分配到一个模块里能让你的代码更好用,更易懂。模块能定义函数,类和变量,模块里也能包含可执行的代码。

# 导入模块import math# 现在可以调用模块里包含的函数了print("求e的n次幂:",math.exp(1))# from…import 语句:从模块中导入一个指定的部分到当前命名空间中# 导入模块中的特定函数from math import exp# 现在可以直接使用该函数了print("求e的n次幂:",exp(1))# from…import* 语句:导入一个模块中的所有项目。然而这种声明不该被过多地使用from math import *

声明:本文为公众号「 AI小白入门」投稿,版权归作者所有。

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

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

相关文章

Sonar与jenkins集成

2019独角兽企业重金招聘Python工程师标准>>> 参考文档&#xff1a;http://blog.csdn.net/kefengwang/article/details/54377055 一.下载&#xff1a;wget https://fossies.org/linux/misc/sonarqube-7.0.zip 二.配置sonar.properties ## sudo vim /opt/sonarqube-6.…

python变量和常量_5、python的变量和常量

今天看看python的变量和常量&#xff0c;这是python中最基本的两个概念。首先先说一下解释器执行Python的过程&#xff1a; python3 C:\test.py1. 启动python解释器(内存中)2. 将C:\test.py内容从硬盘读入内存(这一步与文本编辑器是一样的)3. 执行读入内存的代码如果想要永久…

eplan连接定义点不显示_EPLAN电气图实例--控制柜(控制面板)

EPLAN电气图实例--控制柜(控制面板)上期回顾(上期主要画了硬件的布局图)&#xff1a;这期主要画一个控制面板控制柜布局1.0 上期主要做了一个长方形的结构板&#xff0c;里面插入了一个结构盒&#xff0c;然后放置一个HMI的宏(这里是KTP1000&#xff0c;在官网随便找下就行了)&…

virtualbox安装android6.0并设置分辨率为1920x1080x32

下载安装&#xff1a;https://www.cnblogs.com/wynn0123/p/6288344.html 这里我做的是下载android6.0-64bit&#xff0c;然后文件系统只支持ext4 安装完成之后我的虚拟机名称是Android6.0 设置分辨率为1920x1080x32&#xff1a;https://my.oschina.net/xldc/blog/290155 首先&a…

python中装饰器修复技术_python3之装饰器修复技术@wraps

普通函数def f():"""这是一个用来测试装饰器修复技术的函数"""print("哈哈哈")if __name__ __main__:print("执行的函数名:", f.__name__)print("函数的注释:", f.__doc__)# 打印结果执行的函数名: f函数的注释:…

markdown 语法_markdown特殊语法之上下标

markdown特殊语法之上下标​markdown的基本语法很简单&#xff0c;百度一下就可以了&#xff0c;有空的话我再转载一些过来。我想的是平常其实需要用到的一些输入技巧&#xff0c;特殊用法或者扩展语法&#xff0c;还有一些难点倒是要记录学习一下。在写作的时候&#xff0c;大…

oracle安装向导卡住了_JDK 8 的安装与配置

一、安装环节1. 打开网页https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html2.找到对象的版本 尽量从官网下载(官网可能会比较慢&#xff0c;也可以通过浏览器输入jdk版本号进行下载)官网下载需要注册一个账号3.双击下载的 exe,如 jdk-8u131-windows…

Error contacting service. It is probably not running.

安装完zookeeper集群后&#xff0c; [rootzk1 data]# zkServer.sh start JMX enabled by default Using config: /application/zookeeper-3.3.6/bin/../conf/zoo.cfg Starting zookeeper ... STARTED [rootzk1 data]# zkServer.sh status JMX enabled by default Using config…

JavaScript 函数节流 throttle 和防抖 debounce

今天和别人聊到JavaScript函数的节流和防抖&#xff0c;发现自己对这两个的区别很是模糊&#xff0c;遂小小实践一下&#xff0c;在此记录&#xff0c;希望对需要的人有所帮助。 节流 - 频繁操作&#xff0c;间隔一定时间去做一件事 举例说明&#xff1a;假定时间间隔为 500ms&…

python 第三方绘图库_D3py首页、文档和下载 - 基于 D3 的 Python 绘图库 - OSCHINA - 中文开源技术交流社区...

D3py 是一个基于 D3 的 Python 绘图库&#xff0c;可以像 D3 那样画出可交互的漂亮图形。D3py 的目的是把来自命令行或者脚本的数据画到浏览器窗口&#xff0c;d3py 通过构建两个优秀的包来实现这一点。 第一个是 d3.js(Mike Bostock)&#xff0c;它是一个用于创建数据驱动文档…

web 前端 如何分享到instagram_如何找到靠谱的Web培训机构?web前端培训机构哪个好?...

现如今Web前端开发应用越来越广泛&#xff0c;Web前端工程师人才需求逐年递增&#xff0c;薪资待遇也是水涨船高&#xff0c;也因此吸引了越来越多的人想要迈入Web前端行业&#xff0c;参加Web前端培训是很多人选择学习前端开发技能的途径&#xff0c;那么Web前端培训机构哪个好…

java main 命令行_java Main 命令行

CLI 即Command Line Interface&#xff0c;也就是"命令行接口"&#xff0c;它为Java 程序访问和解析命令行参数提供了一种统一的接口。apache Commons CLI为用户提供了一个解释命令行的API.它在解释命令行时主要有三个状态&#xff0c;即&#xff1a;定义、解释和询问…

zookeeper命令行操作

进入命令行 运行 zkCli.sh –server <ip>进入命令行工具。 [rootzk1 bin]# zkCli.sh -server <不加ip地址&#xff0c;连接本地zookeeper> Error: no argument found for option -server Connecting to localhost:2181 [zk: localhost:2181(CONNECTED) 0] …

Spring Data JPA 实例查询

转自&#xff1a;https://www.cnblogs.com/rulian/p/6533109.html 一、相关接口方法 在继承JpaRepository接口后&#xff0c;自动拥有了按“实例”进行查询的诸多方法。这些方法主要在两个接口中定义&#xff0c;一是QueryByExampleExecutor&#xff0c;一个是JpaRepository&am…

python可变参数函数二阶导数公式_Python中函数的参数定义和可变参数

刚学用Python的时候&#xff0c;特别是看一些库的源码时&#xff0c;经常会看到func(*args, **kwargs)这样的函数定义&#xff0c;这个*和**让人有点费解。其实只要把函数参数定义搞清楚了&#xff0c;就不难理解了。先说说函数定义&#xff0c;我们都知道&#xff0c;下面的代…

windows找不到文件gpedit.msc_此电脑右键管理提示windows找不到文件的解决方法

也许当你右键点击此电脑管理时&#xff0c;也许会出现Windows找不到文件的提示&#xff0c;下面提供一些解决方法&#xff1a;1、首先按下“Windows”R组合键打开运行&#xff0c;在弹出的“运行“对话框中输入”compmgmt.msc“&#xff0c;点击”确定“&#xff1b;2、如果此时…

java序列化流_java 序列化流与反序列化流

一 对象序列化流ObjectOutputStreamObjectOutputStream 将Java对象的基本数据类型和图形写入OutputStream。可以使用ObjectInputStream读取(重构)对象。通过在流中使用文件可以实现对象的持久存储。注意&#xff1a;只能将支持 java.io.Serializable 接口的对象写入流中用于从流…

【spring boot】注解@ApiParam @PathVariable @RequestParam三者区别

1.ApiParam&#xff0c;就是用于swagger提供开发者文档&#xff0c;文档中生成的注释内容。 ApiOperation( value "编辑公告", notes "编辑公告", httpMethod "POST" )RequestMapping( value "/edit", method RequestMethod.POST…

Zookeeper Watch监听

概述 ZooKeeper -server host:port cmd args stat path [watch] ls path [watch] ls2 path [watch] get path [watch] watch监听有不同的类型&#xff0c;有监听状态的stat &#xff0c;内容的get&#xff0c;目录结构的ls。 命令使用一次&#xff0c;只监听…

win10文件显示后缀名_win10系统,如何去除“此电脑” 里的6个多余文件夹

Windows系统从XP到win7,再到进化到如今的win10&#xff0c;在系统性能和使用便捷性方面&#xff0c;确实改进了很多&#xff0c;但是&#xff0c;金无赤足&#xff0c;没有完美的东西&#xff0c;总是有一些小细节让我们感觉不舒服&#xff0c;如如鲠在喉。比如我们下面看到的这…