python从入门到精通——完整教程【转载】

2023-11-05

文章目录

一、pycharm下载安装

pycharm下载地址:
http://www.jetbrains.com/pycharm/download/#section=windows
下载详细步骤:
1-
在这里插入图片描述
2-
在这里插入图片描述
3-
在这里插入图片描述
4-
在这里插入图片描述
5-
在这里插入图片描述
6
在这里插入图片描述
7-
在这里插入图片描述
8-直接finish
在这里插入图片描述
在这里插入图片描述

二、python下载安装

9-python官网:

https://www.python.org/

 
 

进去网址后点击:
在这里插入图片描述
10
在这里插入图片描述
11-下载好后
在这里插入图片描述
12-添加环境变量
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
记得双击安装:
在这里插入图片描述

三、pycharm上配置python

13-双击桌面pycharm

在这里插入图片描述
随便取个名字(我取的学习),直接点击create.
遇到如下情况,则点击ok(没遇到就算了)
在这里插入图片描述
14-添加解释器
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
![在这里插入图片描述](https://img-blog.csdnimg.cn/4f4c5fc9f8b64ecebbf4c1046e876036.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_Q1NETiBA5bed5bed6I-c6bif,size_36,color_FFFFFF,t_70,g_se,x_16
成功如下:
在这里插入图片描述
打印成功:标志配置完成
在这里插入图片描述

四、配置镜像源让你下载嗖嗖的快

在这里插入图片描述

在这里插入图片描述

我喜欢用清华的,所以我在这里介绍都用清华源,当然这里是一些比较好用的镜像源:


 
 
  1. 清华: https:/ /pypi.tuna.tsinghua.edu.cn/simple
  2. 阿里云: http:/ /mirrors.aliyun.com/pypi /simple/
  3. 中国科技大学  https:/ /pypi.mirrors.ustc.edu.cn/simple /

一共有三种镜像源配置,建议你每一种都跟我一起学会。

4.1)pycharm内部配置

第一步:
在这里插入图片描述
第二步:
在这里插入图片描述
第三步:
在这里插入图片描述
在这里插入图片描述
第四步:
复制上面的清华镜像源粘贴,然后okokokok
在这里插入图片描述
测试,遇到了这个问题:
pip : 无法将“pip”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。
在这里插入图片描述
因为我忘记给pip加环境变量了,所以加一下,一次如下:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
第五步:
退出pycharm,因为加了环境变量需要重启软件。我们先到cmd输入pip,如下就是配置成功了:
在这里插入图片描述
第六步:
重启软件后,随便装一个模块,如下:(你可以看到下载模块速度很快!)
在这里插入图片描述

4.2)手动添加镜像源

使用方法:

pip install 下载的模块名 -i https://pypi.tuna.tsinghua.edu.cn/simple

 
 

比如我要下载numpy这个模块,执行以下命令:

pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple

 
 

几秒就好了:
在这里插入图片描述
这个方法的好处就是,你不用像其它配置一样要去配置一遍,你只需要在后面加上:

-i https://pypi.tuna.tsinghua.edu.cn/simple

 
 

4.3)永久配置镜像源

这个配置我是建议你一定要添加配置。
方法一:
到cmd执行如下命令创建pip.ini:

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

 
 

返回:
在这里插入图片描述

然后我们把这个路径添加到系统环境变量就好了(怎么添加环境变量?跟前面给pip添加环境变量一样操作,只是路径不一样)

方法二:

如果刚刚这个命令你执行失败,你可以自己在c盘任意找个位置创建一个文件名叫做pip文件夹,在这下面下创建一个文件名pip.ini,内容为:


 
 
  1. [ global]
  2. index-url =  https: //pypi.tuna.tsinghua.edu.cn/simple

然后添加到环境变量。

五、插件安装(比如汉化?)

在这里插入图片描述

在这里插入图片描述

首先个人不建议汉化,最后我再演示汉化插件。我是想要推荐一些不错的插件。
首先进入如下界面:
在这里插入图片描述

5.1)自动补码神器第一款

推荐使用:TabNine,当然kite也不错,你可以都安装,我是都在用。我演示一款:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
弹出这个页面删了不要管:
在这里插入图片描述
测试:已经开始有提示了
在这里插入图片描述

5.2 )自动补码神器第二款

(底部扫码也可以)到我公众号:川川菜鸟 发送:kite 即可领取kite软件,无脑安装配置就饿可以了。实在不会左侧加我再给你说。
在这里插入图片描述

直接跳转我这一篇文章,如果你效果跟我一样,那就是成功了:
Kite神器

5.2)汉化pycharm

首先,个人不建议汉化,不管你英语好不好,都要去适应这个英语界面,当然你实在需要汉化,这是教程:
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

现在就已经全部汉化:
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

5.3)其它插件

如果需要下载别的插件,你可以百度搜一下pycharm有哪些好的插件,都是安装上述方式安装。

六、美女背景

你是否想要如下桌面?
在这里插入图片描述

教程传送门:
美女桌面背景设置

七、自定义脚本开头

你是都在先每次创建一个文件,开头都是如下?
在这里插入图片描述
节约版面,跳转此文:
自定义脚本开头

八、即将开始写代码了!

拥有本篇文章,意味着你拥有一本最完善的书籍,讲得比书上全,语法也会比买的书上更详细,大家要慢慢看。拥有本篇文章,你将基础无敌,从此可以有能力自学一些高级教程。作者写了好几天,实在很累,希望你三连支持。

python,言简意赅就是:通俗易懂,功能强大无比,上手快,实用强。你跟着我在这里认真学完这一篇,你一定会学会最扎实的python基础,同时我还可以提供免费辅导,作者本是一名学生,并不图有任何好处。如果需要辅导,可以加从左侧栏加群,当然仅是交流,不会有时间一直教你,只能帮助你解决一些问题,更多要靠自己。
在这里插入图片描述

九、python入门

软件安装我就不介绍了,大家b站搜一下python和pycharm安装安装即可,个人是推荐python和pycharm结合使用,pycharm是什么?是python的编译器,如果我们没有编译器,写代码是很困难的,而且pycharm提供了许多插件和优美的界面,使得你写代码又快又舒服,不会因为在python的IDE上写得头疼。
当然!下载软件不用到官网下,你只需要到软件管家下载即可,我也是这个公众号的忠实粉丝了。
入门第一步:打印

print("Hello, World!")

 
 

当然,你想打印别的也可以,对吧?

print('川川帅哥,我爱你')

 
 

在这里插入图片描述

在这里插入图片描述

十、python缩进

最基本的语法,我不可能在这里把所有的语法都讲一遍,但是最基本语法要说一下。在这里,我们又不得不鸣谢pycharm编译器,实在帮助我们太多了。为什么这么说?pycharm中,它会自动帮助我们完成换行,缩进等问题,不会像IDE中写代码,要自己手动,如果忘记手动就回报错,因此我是不建议只用python解释器,一定要用pycharm!

举一些例子,当然,如果你是小白,现在只会打印,大可不必着急,你只需要看看,后面我会讲到。
比如缩进问题,缩进是指代码行开头的空格。if后面的语句需要tap一下(当然,如果你用pycharm编译器,会自动tap)。
例如:


 
 
  1. if  6 >  2:
  2.    print( "六大于二")

在这里插入图片描述

在这里插入图片描述

十一、Python注释

注释可用于解释 Python 代码。注释可用于使代码更具可读性。注释可用于在测试代码时阻止执行。

1)单行注释

将需要注释的部分开头用#
例如:


 
 
  1. #川川真帅
  2. print( '川川帅哥,我爱你')

或者这样:

print("Hello, World!"#川川真帅

 
 

你可以看到如下,这就是注释意义了,懂了吧。
在这里插入图片描述

2)多行注释

第一种方法(不建议,太麻烦)


 
 
  1. #川川真帅
  2. #川川真帅
  3. #川川真帅
  4. print( "Hello, World!")

你也可以左键选中我们需要注释的代码,松开,按:Ctrl+/,就完成相同效果注释。
第二种方法:
把要注释的内容放到三个引号对里面。,例如:


 
 
  1. '''
  2. 川川真帅
  3. 川川真帅
  4. '''
  5. print( '川川帅哥,我爱你')

取消注释
左键选中我们需要取消注释的代码,松开,按:Ctrl+/

十二、Python 变量

1)变量定义理解

在 Python 中,当你给它赋值时就会创建变量:Python 没有用于声明变量的命令。变量在您第一次为其赋值时创建。
例如:


 
 
  1. x =  5
  2. y =  "川川"
  3. print(x)
  4. print(y)

对于同一个变量,赋值类型不同则会发生类型的变化,例如:


 
 
  1. x = 4        # x 现在是整形
  2. x =  "川川"  # x 现在是字符串
  3. print(x)

则打印为:
在这里插入图片描述
如果要指定变量的数据类型,可以通过强制转换来完成,比如:


 
 
  1. x =  str( 3)     # x will be '3'
  2. y =  int( 3)     # y will be 3
  3. z =  float( 3)   # z will be 3.0

那么刚刚我说到了类型,小白肯定还不知道类型是什么,怎么查看,我们来说一下如何获取类型,这里我们要用到type函数,举个例子:


 
 
  1. x =  5
  2. y =  "川川"
  3. print( type(x))
  4. print( type(y))

看看返回什么:int为整形,str为字符串。这是你要背的。
在这里插入图片描述
可以使用单引号或双引号来声明字符串变量:


 
 
  1. x1 =  "川川真棒"
  2. x2 =  '川川真棒'
  3. print(x1)
  4. print(x2)

返回为:
在这里插入图片描述
变量名区分大小写:


 
 
  1. a =  4
  2. A =  "川川"
  3. print(a)
  4. print(A)

返回为:

在这里插入图片描述

在这里插入图片描述

2) 变量名命名

变量可以有一个简短的名称(如 x 和 y)或一个更具描述性的名称(age、carname、total_volume)。Python 变量的规则:

  • 变量名必须以字母或下划线字符开头

  • 变量名不能以数字开头

  • 变量名称只能包含字母数字字符和下划线(Az、0-9 和 _ )

  • 变量名区分大小写(age、Age和AGE是三个不同的变量)

例如:


 
 
  1. myvar =  "川川"
  2. my_var =  "川川" "
  3. _my_var = "川川 ""
  4. myVar =  "川川" "
  5. MYVAR = "川川 ""
  6. myvar2 =  "川川" "

命名法则:
骆驼法则:除了第一个单词外,每个单词都以大写字母开头

myNameIs = "川川"

 
 

帕斯卡法则:每个单词都以大写字母开头

MyNameIs = "川川"

 
 

蛇形法则:每个单词由下划线字符分隔

My_Name_Is = "川川"

 
 

3) 分配多个值

多个变量的多个值。
Python 允许您在一行中为多个变量赋值:


 
 
  1. x, y, z =  "川川一号""川川二号""川川三号"
  2. print(x)
  3. print(y)
  4. print(z)

输出为:
在这里插入图片描述
注意:确保变量的数量与值的数量相匹配,否则你会得到一个错误。

多个变量的一个值
您可以在一行中为多个变量分配相同的值:


 
 
  1. x = y = z =  "川川菜鸟"
  2. print(x)
  3. print(y)
  4. print(z)

输出为:
在这里插入图片描述

打开一个集合
如果您在列表、元组等中有一组值。Python 允许您将值提取到变量中。这称为拆包。当然,在这里,你可能还不知道集合列表,元组是什么,没有关系,后面我会讲到。


 
 
  1. fruits = [ "apple""banana""cherry"]
  2. x, y, z = fruits
  3. print(x)
  4. print(y)
  5. print(z)

4)输出变量

print语句通常用于输出变量。
为了组合文本和变量,Python 使用 +字符:


 
 
  1. x =  "川川"
  2. print( "帅哥是" + x)

输出为:
在这里插入图片描述
您还可以使用该+字符将一个变量添加到另一个变量中:


 
 
  1. x =  "川川真"
  2. y =  "帅"
  3. z = x + y
  4. print(z)

返回一样:
在这里插入图片描述
对于数字,该+字符用作数学运算符:


 
 
  1. x =  6
  2. y =  10
  3. print(x + y)

返回:
在这里插入图片描述
如果你尝试组合一个字符串和一个数字,Python 会给你一个错误,比如:


 
 
  1. ​```c
  2. x = 5
  3. y =  "川川"
  4. print(x + y)

该怎么修改呢?把数字转为字符即可,则修改为:


 
 
  1. x =  5
  2. y =  "川川"
  3. print( str(x) + y)

成功返回:
在这里插入图片描述

5)全局变量与局部变量,全局关键字

在函数外部创建的变量称为全局变量。都可以使用全局变量,无论是在函数内部还是外部。当然,在这里,你可能还不知道函数是什么,后面我会讲到,大可不必慌张。


 
 
  1. x =  "川川"
  2. def myfunc():
  3.   print( "帅哥是 " + x)
  4. myfunc()

返回为:
在这里插入图片描述
如果在函数内部创建同名变量,该变量将是局部变量,只能在函数内部使用。具有相同名称的全局变量将保持原样,全局且具有原始值。


 
 
  1. x =  "awesome"
  2. def  myfunc():
  3.   x =  "fantastic"
  4.    print( "Python is " + x)
  5. myfunc()
  6. print( "Python is " + x)

返回为:
在这里插入图片描述
全局关键字
通常,当您在函数内部创建变量时,该变量是局部的,并且只能在该函数内部使用。要在函数内创建全局变量,可以使用 global关键字。


 
 
  1. x =  "帅哥"
  2. def  myfunc():
  3.    global x
  4.   x =  "菜鸟"
  5. myfunc()
  6. print( "川川" + x)

返回为:
在这里插入图片描述

6)练习题

  1. 创建一个名为的变量carname并为其赋值菜鸟。

  2. 创建一个名为的变量x并为其赋值60。

  3. 5 + 10使用两个变量x和y。显示,打印它们的总和

  4. 创建一个名为的变量z,x=8,y=9,分配x + y给它,并显示结果。

十三、Python数据类型

在这里插入图片描述

在这里插入图片描述

1)置数据类型

默认情况下,Python 具有以下内置数据类型,在这些类别中:


 
 
  1. 文本类型:  str
  2. 数字类型:  intfloatcomplex
  3. 序列类型:  listtuplerange
  4. 映射类型:  dict
  5. 套装类型:  setfrozenset
  6. 布尔类型:  bool
  7. 二进制类型:  bytesbytearraymemoryview

此时你大可不必知道这些类型到底是什么,在后续的深入中,你一定会用得到,所以是需要记住的。

2)获取数据类型

您可使用以下type()函数获取任何对象的数据类型。
例如,打印变量 x 的数据类型:


 
 
  1. x =  6
  2. print( type(x))

我们可以看到返回为:int类型
在这里插入图片描述

3)设置数据类型

在 Python 中,数据类型是在为变量赋值时设置的。
例如以下例子。
str字符串:


 
 
  1. x =  "Hello World"
  2. print(x)
  3. print( type(x)) 

int整形:


 
 
  1. x1 =  6
  2. print( type(x1))

float浮点类型:


 
 
  1. x2 =  6.5
  2. print( type(x2))

complex复数类型:


 
 
  1. x3 =  2j
  2. print(x3)
  3. print( type(x3))

list列表类型:


 
 
  1. x4 = [ "apple""banana""cherry"]
  2. print(x4)
  3. print( type(x4))

tuple元祖类型:


 
 
  1. x5 = ( "apple""banana""cherry")
  2. print(x5)
  3. print( type(x5)) 

后面还有其它一些类型,我就不以完整代码形式演示了,直接以例子形式让大家看看什么样子是什么类型,当然如果你能亲自动手像我上面的例子一样进行操作打印看一看就再好不过了。
range范围类型

x = range(6

 
 

dict字典类型

x = {"name" : "John""age" : 36
 
 

set集合类型:

x = {"apple""banana""cherry"}

 
 

不常用的冻结集类型:

x = frozenset({"apple""banana""cherry"})

 
 

bool布尔类型:

x = True

 
 

不常用byte字节类型:

x = b"Hello"

 
 

不常用bytearray字节数组类型:

x = bytearray(5)

 
 

更有冷门到爆的memoryview内存试图类型

x = memoryview(bytes(5))

 
 

4)设置特定数据类型

我会举一些例子说明,尽量很全,大可不必担心。先举一个完整例子,后面的是一样的打印就不演示了。
强调特定x为字符串:


 
 
  1. x =  str( "Hello World")
  2. print(x)
  3. print( type(x))

返回为:
在这里插入图片描述
强调x为整形:

x = int(20)

 
 

强调x为浮点:

x = float(20.5)

 
 

强调x为复数:

x = complex(1j)

 
 

强调为列表

x = list(("apple""banana""cherry"))

 
 

强调为元祖

x = tuple(("apple""banana""cherry"))

 
 

强调为范围

x = range(6)

 
 

强调为字典

x = dict(name="John", age=36)

 
 

强调为集合

x = set(("apple""banana""cherry"))

 
 

强调冻结集(没啥用的类型)

x = frozenset(("apple""banana""cherry"))

 
 

强调布尔类型

x = bool(5)

 
 

强调字节类型

x = bytes(5)

 
 

强调字节组类型

x = bytearray(5)

 
 

强调内存试图类型(又是没啥用的类型)

x = memoryview(bytes(5))

 
 

6)练习题

回答下面的问题结果为什么类型?
1-


 
 
  1. x =  5
  2. print( type(x))

2-


 
 
  1. x =  "Hello World"
  2. print( type(x))

3-


 
 
  1. x =  20.5
  2. print( type(x))

4-


 
 
  1. x = [ "apple""banana""cherry"]
  2. print( type(x))

5-


 
 
  1. x = ( "apple""banana""cherry")
  2. print( type(x))

6-


 
 
  1. x = { "name" :  "John""age" :  36}
  2. print( type(x))

7-


 
 
  1. x =  True
  2. print( type(x))

十四、python数字

在这里插入图片描述

在这里插入图片描述

Python 共有三种数字类型:

  • int

  • float

  • complex
    三种类型分别对应如下例子:


 
 
  1. x =  1     # int
  2. y =  2.8   # float
  3. z =  1j    # complex

要验证 Python 中任何对象的类型,请使用以下type()函数:


 
 
  1. print( type(x))
  2. print( type(y))
  3. print( type(z))

因此你可以运行如下代码:


 
 
  1. x =  1    # int
  2. y =  2.8  # float
  3. z = 1j   # complex
  4. print( type(x))
  5. print( type(y))
  6. print( type(z))

1)整数

Int 或 integer,是一个整数,正负,不带小数,长度不限。
例如:


 
 
  1. x =  1
  2. y =  3562254887
  3. z = - 35522
  4. print( type(x))
  5. print( type(y))
  6. print( type(z))

2)浮点数

浮点数或“浮点数”是包含一位或多位小数的正数或负数。
例如:


 
 
  1. x =  1.10
  2. y =  1.0
  3. z = - 35.59
  4. print( type(x))
  5. print( type(y))
  6. print( type(z))

浮点数也可以是带有“e”的科学数字,表示 10 的幂。
例如:


 
 
  1. x =  35e3
  2. y =  12E4
  3. z = - 87.7e100
  4. print( type(x))
  5. print( type(y))
  6. print( type(z))

3)虚数

复数写有“j”作为虚部。


 
 
  1. x =  3+5j
  2. y = 5j
  3. z = -5j
  4. print( type(x))
  5. print( type(y))
  6. print( type(z))

4)类型转换

比如你可以从一种类型转变成另一种同int(), float()和complex()方法。
例如:(你可以亲自运行一下)


 
 
  1. x =  1     # int
  2. y =  2.8   # float
  3. z =  1j    # complex
  4. a =  float(x)
  5. b =  int(y)
  6. c =  complex(x)
  7. print(a)
  8. print(b)
  9. print(c)
  10. print( type(a))
  11. print( type(b))
  12. print( type(c))

5)随机数

Python 有一个内置模块 random可以用来生成随机数。
示例:导入 random 模块,并显示 1 到 10之间的一个随机数:


 
 
  1. import  random
  2. print( random.randrange( 111))

6)练习题

1-插入正确的语法将 x 转换为浮点数。


 
 
  1. x = 5
  2. x = _(x)

2-插入正确的语法以将 x 转换为整数。


 
 
  1. x = 5.5
  2. x = _(x)

3-插入正确的语法以将 x 转换为复数。


 
 
  1. x = 5
  2. x = _(x)

十五、python指定变量类型

在这里插入图片描述

在这里插入图片描述

python 中的转换是使用构造函数完成的:

  • int() - 从整数文字、浮点文字(通过删除所有小数)或字符串文字(提供字符串表示整数)构造整数

  • float() - 从整数文字、浮点文字或字符串文字构造浮点数(提供字符串表示浮点数或整数)

  • str() - 从多种数据类型构造一个字符串,包括字符串、整数文字和浮点文字

我将每一个类型都举例子说明。
整数


 
 
  1. x =  int( 1)    # x will be 1
  2. y =  int( 2.8# y will be 2
  3. z =  int( "3"# z will be 3

浮点


 
 
  1. x2 =  float( 1)      # x will be 1.0
  2. y2 =  float( 2.8)    # y will be 2.8
  3. z2 =  float( "3")    # z will be 3.0
  4. w2 =  float( "4.2"# w will be 4.2

字符串


 
 
  1. x1 =  str( "s1"# x will be 's1'
  2. y1 =  str( 2)     # y will be '2'
  3. z1 =  str( 3.0)   # z will be '3.0'

十六、Python字符串

一、字符串基本使用

1)字符串理解

python 中的字符串被单引号或双引号包围。'hello’与"hello"相同。您可以使用以下print()函数显示字符串文字:


 
 
  1. print( "Hello")
  2. print( 'Hello')

2)将字符串分配给变量


 
 
  1. a =  "川川"
  2. print(a)

3)多行字符串

您可以使用三个引号将多行字符串分配给变量:


 
 
  1. a =  """从前有座山,
  2. 山里有座庙
  3. 庙里有个小和尚"""
  4. print(a)

返回如下:
在这里插入图片描述
或三个单引号:


 
 
  1. a =  '''从前有座山,
  2. 山里有座庙
  3. 庙里有个小和尚'''
  4. print(a)

4)字符串是数组

Python 没有字符数据类型,单个字符只是一个长度为 1 的字符串。方括号可用于访问字符串的元素。这里用到了切片,你可以不懂。
获取位置 1 处的字符(记住第一个字符的位置为 0):


 
 
  1. a =  "Hello, World!"
  2. print(a[ 1])

5)遍历字符串

循环遍历单词“chuanchuan”中的字母:


 
 
  1. for x in  "chuanchuan":
  2.    print(x)

6)字符串长度

len()函数返回字符串的长度,注意标点符号和空格也算一个长度:


 
 
  1. a =  "Hello, World!"
  2. print( len(a))

7)检查字符串

要检查字符串中是否存在某个短语或字符,我们可以使用关键字 in。


 
 
  1. txt =  "The best things in life are free!"
  2. print( "free" in txt)

返回布尔类型(True代表有):
在这里插入图片描述
也可以通过if来判断是否存在:


 
 
  1. txt =  "The best things in life are free!"
  2. if  "free" in txt:
  3.    print( "是的, 'free'存在.")

8)检查如果不是

检查以下文本中是否不存在“川川”:


 
 
  1. txt =  "川川就读上海交大!"
  2. print( "川川" not in txt)

因为存在,返回false:
在这里插入图片描述
仅在不存在“川川”时才打印:


 
 
  1. txt =  "川川就读上海交大!"
  2. if  "川川" not in txt:
  3.    print( "No, '川川' 不在文档.")

因为不符合条件,所以不会打印。

二、切片字符串

1)切片

您可以使用切片语法返回一系列字符。指定开始索引和结束索引,以冒号分隔,以返回字符串的一部分。
示例:获取从位置 2 到位置 5 的字符(不包括在内):


 
 
  1. b =  "Hello, World!"
  2. print(b[ 2: 5])

返回为:
在这里插入图片描述
注意:第一个字符的索引为 0。
在这里插入图片描述

2)从头开始切片

示例:获取从开始到位置 5 的字符(不包括在内):


 
 
  1. b =  "Hello, World!"
  2. print(b[: 5])

返回为:
在这里插入图片描述

3)切到最后

通过省略结束索引,范围将到最后。
例如,获取从位置 2 到最后的字符:


 
 
  1. b =  "Hello, World!"
  2. print(b[ 2:])

返回:
在这里插入图片描述

4)负索引

使用负索引从字符串末尾开始切片,就是从右往左看,不再是从左往右看。
例如:


 
 
  1. b =  "Hello, World!"
  2. print(b[ -5: -2])

返回为:
在这里插入图片描述

三、修改字符串

在这里插入图片描述

在这里插入图片描述

1)小写转大写

upper()方法以大写形式返回字符串:


 
 
  1. a =  "Hello, World!"
  2. print(a. upper())

返回为:
在这里插入图片描述

2)大写转小写

lower()方法以小写形式返回字符串:


 
 
  1. a =  "Hello, World!"
  2. print(a. lower())

返回为:
在这里插入图片描述

3)删除空格

空白是实际文本之前和/或之后的空间,通常您想删除这个空间。
strip()方法从开头或结尾删除任何空格:


 
 
  1. a =  " Hello, World! "
  2. print(a.strip())

返回为:
在这里插入图片描述

4)替换字符串

replace()方法用另一个字符串替换一个字符串.


 
 
  1. a =  "Hello, World!"
  2. pr int(a. replace( "H""J"))

返回为:
在这里插入图片描述

5)拆分字符串

split()方法返回一个列表,其中指定分隔符之间的文本成为列表项。split()如果找到分隔符的实例,该方法会将字符串拆分为子字符串。
例如我要将下面的字符串以逗号分隔:


 
 
  1. a =  "Hello, World!"
  2. pr int(a. split( ","))

返回为:
在这里插入图片描述

四、字符串连接

要连接或组合两个字符串,您可以使用 + 运算符。
例如,将变量a与变量b, 合并到变量中c:


 
 
  1. a =  "Hello"
  2. b =  "World"
  3. c = a + b
  4. print(c)

返回为:
在这里插入图片描述
例如要在a和b变量之间添加空格,请添加" ":


 
 
  1. a =  "Hello"
  2. b =  "World"
  3. c = a +  " " + b
  4. print(c)

返回为:
在这里插入图片描述

五、格式化字符串

1)format单个传参

我们不能像这样组合字符串和数字:


 
 
  1. #会报错
  2. age = 20
  3. txt = " 川川今年 " + age
  4. print(txt)

但是我们可以通过使用format() 方法来组合字符串和数字!format()方法接受传递的参数,格式化它们,并将它们放在占位符所在的字符串中 {}。
例如,使用format()方法将数字插入字符串:


 
 
  1. age =  20
  2. txt =  "川川今年 {}"
  3. print(txt. format(age))

返回为:
在这里插入图片描述

2)format多个个传参

format() 方法接受无限数量的参数,并放置在各自的占位符中:


 
 
  1. quantity =  20
  2. itemno =  3000
  3. price =  49.95
  4. myorder =  "川川今年 {}岁 买了个华为手机 {} 每个月花费 {} 元."
  5. print(myorder. format(quantity, itemno, price))

返回为:
在这里插入图片描述
您可以使用索引号{0}来确保参数放置在正确的占位符中:


 
 
  1. quantity =  20
  2. itemno =  3000
  3. price =  49.95
  4. myorder =  "川川今年 {2}岁 买了个华为手机 {0} 每个月花费 {1} 元."
  5. print(myorder. format(quantity, itemno, price))

这样就会导致数字传的顺序发生了变化,看看结果就明白了:
在这里插入图片描述

六、字符串的其它处理方法总结

  1. capitalize() 将第一个字符转换为大写

  2. casefold() 将字符串转换为小写

  3. center() 返回一个居中的字符串

  4. count() 返回指定值在字符串中出现的次数

  5. encode() 返回字符串的编码版本

  6. endswith() 如果字符串以指定的值结尾,则返回 true

  7. join() 将可迭代的元素连接到字符串的末尾

  8. find() 在字符串中搜索指定值并返回找到它的位置

  9. format() 初始化字符串中的指定值
    10.index() 在字符串中搜索指定值并返回找到它的位置
    当然还有很多,个人感觉不是很常用,就不继续总结别的了。

七、练习题

1-使用 len 方法打印字符串的长度。


 
 
  1. x =  "Hello World"
  2. print(  )

2-获取字符串 txt 的第一个字符。


 
 
  1. txt =  "Hello World"
  2. x =

3.获取从索引 2 到索引 4 (llo) 的字符。


 
 
  1. txt =  "Hello World"
  2. x =

4.返回开头或结尾没有任何空格的字符串。


 
 
  1. txt =  " Hello World "
  2. x = 

提示 使用strip()
5-将 txt 的值转换为大写。


 
 
  1. txt =  "Hello World"
  2. txt =

6-将 txt 的值转换为小写。


 
 
  1. txt =  "Hello World"
  2. txt = 

7-用 J 替换字符 H。


 
 
  1. txt =  "Hello World"
  2. txt = txt.

8-插入正确的语法以添加年龄参数的占位符。


 
 
  1. age =  36
  2. txt =  "My name is John, and I am   "
  3. print(txt. format(age))

提示:{}

十七、Python布尔值

在这里插入图片描述

在这里插入图片描述

布尔值表示两个值之一: True或False。在编程中,您经常需要知道表达式是否为 True或False。举一些例子就明白了。

1)比较

当您比较两个值时,将计算表达式并且 Python 返回布尔值答案:


 
 
  1. print( 10 >  9)
  2. print( 10 ==  9)
  3. print( 10 <  9)

返回为:
在这里插入图片描述
在 if 语句中运行条件时,Python 返回 True or False:


 
 
  1. a =  100
  2. b =  30
  3. if b > a:
  4.    print( "b大于a")
  5. else:
  6.    print( "b不大于a")

返回为:
在这里插入图片描述

2)评估值和变量

bool()函数允许您评估任何值,并给您 True或False 作为返回。
例如:评估一个字符串和一个数字


 
 
  1. print( bool( "川川"))
  2. print( bool( 20))

返回为:
在这里插入图片描述
评估两个变量:


 
 
  1. x =  "川川"
  2. y =  15
  3. print( bool(x))
  4. print( bool(y))

返回为:
在这里插入图片描述

3)布尔真值

True如果它具有某种内容,几乎任何值都会被评估。任何字符串都是True,空字符串除外。任何数字都是True,除了 0。任何列表、元组、集合和字典都是True,空的除外。
例如以下都会返回True:


 
 
  1. bool( "abc")
  2. bool( 123)
  3. bool([ "apple""cherry""banana"])

4)布尔假值

实际上,False除了空值(例如()、 []、{}、 “”、 数字 0和 值 )之外,计算为 的值 None。当然,结果为 False。


 
 
  1. bool( False)
  2. bool( None)
  3. bool( 0)
  4. bool( "")
  5. bool(())
  6. bool([])
  7. bool({})

返回为:
在这里插入图片描述

5)函数可以返回布尔值


 
 
  1. def  myFunction() :
  2.    return  True
  3. print(myFunction())

返回为:
在这里插入图片描述
打印“YES!” 如果函数返回 True,否则打印“NO!”:


 
 
  1. def  myFunction() :
  2.    return  True
  3. if myFunction():
  4.    print( "YES!")
  5. else:
  6.    print( "NO!")

Python 也有许多返回布尔值的内置函数,如 isinstance() 函数,可用于确定对象是否属于某种数据类型
例如:检查对象是否为整数


 
 
  1. x =  200
  2. print( isinstance(x,  int))

返回为
在这里插入图片描述

6)练习题

1.回答下面的语句返回值True还是False:

print(10 > 9)

 
 

2.回答下面的语句返回值True还是False:
print(10 == 9)

3.回答下面的语句返回值True还是False:

print(10 < 9)

 
 

4.回答下面的语句返回值True还是False:

print(bool("abc"))

 
 

5.回答下面的语句返回值True还是False:

print(bool(0))

 
 

十八、python运算符

在这里插入图片描述

在这里插入图片描述

1)算术运算符

自己赋值粘贴运行下就懂了!
加减法:(+ -)


 
 
  1. a = 2
  2. b = 3
  3. c =a -b
  4. d =a -b
  5. print ( c ,d )

乘除法:(* /)


 
 
  1. a=( 50 -5* 6)/ 4
  2. print(a)
  3. a= 8/ 5
  4. print(a)

取余数(同时与除法比较)


 
 
  1. '''/返回为float,//返回整数,%返回余数'''
  2. a= 17/ 3
  3. print(a)
  4. a= 17// 3
  5. print(a)
  6. a= 5* 3+ 2
  7. print(a)

幂运算 (**’)


 
 
  1. '''幂运算  **'''
  2. # a=4**2
  3. # b=2**3
  4. # print(a,b)

2)赋值运算符

等于(=)


 
 
  1. x =  5
  2. print(x)

加等于( +=)等效: x = x +


 
 
  1. x =  5
  2. x +=  3
  3. print(x)

减等于(-=) 等效:x=x-


 
 
  1. x =  5
  2. x -=  3
  3. print(x)

类似的我们可以得到以下不同的方式等效:

 x *= 3 等效 x = x * 3

 
 
 x /= 3等效 x = x / 3

 
 
 x %= 3 等效 x = x % 3

 
 
 x //= 3 等效 x = x // 3

 
 
 x **= 3 等效 x = x ** 3

 
 
 x &= 3 等效 x = x & 3

 
 
 x |= 3 等效 x = x | 3

 
 
 x ^= 3 等效 x = x ^ 3

 
 
 x >>= 3 等效x = x >> 3

 
 

 
 
  1.  x <<= 3 等效x = x <<  3

在这里插入图片描述

在这里插入图片描述

十九、Python列表

一、列表基本知识

基本形式为:

mylist = ["川川一号""川川二号""川川三号"]

 
 

1)创建列表

列表是使用方括号创建的:


 
 
  1. mylist = [ "川川一号""川川二号""川川三号"]
  2. print(mylist)

返回:
在这里插入图片描述
创建新列表时也可以使用 list() 构造函数。


 
 
  1. thislist = list(( "apple""banana""cherry"))
  2. print(thislist)

允许重复
由于列表已编入索引,因此列表可以包含具有相同值的项目:


 
 
  1. thislist = [ "川川一号""川川二号""川川三号", "川川一号"]
  2. print(thislist)

2.列出表值

列表项是有序的、可变的,并允许重复值。列表项被索引,第一项有索引[0],第二项有索引[1]等等。
单个索引
例如我要索取川川一号:


 
 
  1. mylist = [ "川川一号""川川二号""川川三号"]
  2. print(mylist)
  3. print(mylist[ 0])

返回:
在这里插入图片描述
遍历列表


 
 
  1. for  i in mylist:
  2.      print(i)

返回为:
在这里插入图片描述

3.列表长度

确定列表有多少项,请使用以下 len()函数:


 
 
  1. thislist = [ "川川一号""川川二号""川川三号", "川川一号"]
  2. print( len(thislist))

返回:
在这里插入图片描述

4.列表项 - 数据类型

列表项可以是任何数据类型。例如:


 
 
  1. list1 = [ "apple""banana""cherry"]
  2. list2 = [ 15793]
  3. list3 = [ TrueFalseFalse]
  4. print(list1)
  5. print(list2)
  6. print(list3)

5.Python 集合(数组)

  1. List列表是一个有序且可变的集合。允许重复成员。

  2. turple元组是一个有序且不可更改的集合。允许重复成员。

  3. Set集合是一个无序且无索引的集合。没有重复的成员。

  4. dict字典是一个有序*且可变的集合。没有重复的成员。
    !!!从 Python 3.7 版开始,字典才是有序的!!!

二.访问列表

1.正常索引

列表项已编入索引,您可以通过引用索引号来访问它们:


 
 
  1. mylist = [ "川川一号""川川二号""川川三号"]
  2. print(mylist[ 0])

注意:第一项的索引为 0。

2)负索引

负索引意味着从头开始,-1指最后一项, -2指倒数第二项等。


 
 
  1. mylist = [ "川川一号""川川二号""川川三号"]
  2. print(mylist[ -1])

3)索引范围


 
 
  1. mylist = [ "川川一号""川川二号""川川三号"]
  2. print(mylist[ 1: 3])

4)负指数范围


 
 
  1. mylist = [ "川川一号""川川二号""川川三号"]
  2. print(mylist[ -3: -1])

5)检查是否存在

要确定列表中是否存在指定的项目,请使用in关键字。
例如,检查列表中是否存在“apple”:


 
 
  1. thislist = [ "apple""banana""cherry"]
  2. if  "apple" in thislist:
  3.    print( "Yes, 'apple' is in the fruits list")

三、更改列表

1)单个更改

要更改特定位置的值,需要通过索引号:


 
 
  1. mylist = [ "川川一号""川川二号""川川三号", "川川四号"]
  2. mylist[ 0]= "川川五号"
  3. print(mylist[ 0])

修改成功:
在这里插入图片描述

2)多个更改

索引号需要用范围表示。


 
 
  1. mylist = [ "川川一号""川川二号""川川三号", "川川四号", "川川五号"]
  2. mylist[ 1: 3]=[ "哈皮川川", "憨批川川"]
  3. print(mylist)

修改成功:
在这里插入图片描述

3)插入列表

insert()方法在指定的索引处插入一个项目。


 
 
  1. mylist = [ "川川一号""川川二号""川川三号", "川川四号"]
  2. mylist. insert( 2, '帅哥呀')
  3. print(mylist)

插入成功:
在这里插入图片描述

四、添加列表

1)末尾添加

要将值添加到列表的末尾,请使用append() 方法:


 
 
  1. mylist = [ "川川一号""川川二号""川川三号", "川川四号"]
  2. mylist. append( "憨批川川")
  3. print(mylist)

添加成功:
在这里插入图片描述

2)指定位置添加


 
 
  1. mylist = [ "川川一号""川川二号""川川三号", "川川四号"]
  2. mylist. insert( 2, '川川菜鸟')
  3. print(mylist)

添加成功:
在这里插入图片描述

3)合并列表

要将另一个列表中的元素附加到当前列表,请使用extend()方法。


 
 
  1. mylist = [ "川川一号""川川二号""川川三号", "川川四号"]
  2. mylist1 = [ "川川一号""川川二号""川川三号", "川川四号"]
  3. mylist.extend(mylist1)
  4. print(mylist)

合并成功:
在这里插入图片描述
extend()方法不一定要 列表,您也可以添加任何可迭代对象(元组、集合、字典等)。


 
 
  1. mylist = [ "川川一号""川川二号""川川三号", "川川四号"]
  2. mylist2=( "川川", "菜鸟")
  3. mylist.extend(mylist2)
  4. print(mylist)

添加成功:
在这里插入图片描述

五、删除列表

在这里插入图片描述

在这里插入图片描述

1)删除指定目标

remove()方法删除指定的项目。


 
 
  1. mylist = [ "川川一号""川川二号""川川三号", "川川四号"]
  2. mylist. remove( '川川二号')
  3. print(mylist)

删除成功:
在这里插入图片描述

2)删除指定索引

pop()方法删除指定的索引。


 
 
  1. mylist = [ "川川一号""川川二号""川川三号", "川川四号"]
  2. mylist.pop( 2)
  3. print(mylist)

删除成功:
在这里插入图片描述
如果不指定索引,该pop()方法将删除最后一项。


 
 
  1. mylist = [ "川川一号""川川二号""川川三号", "川川四号"]
  2. mylist.pop()
  3. print(mylist)

删除成功:
在这里插入图片描述

3)del删除指定的索引


 
 
  1. mylist = [ "川川一号""川川二号""川川三号", "川川四号"]
  2. del mylist[ 0]
  3. print(mylist)

删除成功:
在这里插入图片描述
该del关键字也可以完全删除列表。


 
 
  1. mylist = [ "川川一号""川川二号""川川三号", "川川四号"]
  2. del mylist

4)清除列表

clear()方法清空列表。该列表仍然存在,但没有内容。


 
 
  1. mylist = [ "川川一号""川川二号""川川三号", "川川四号"]
  2. mylist.clear()
  3. print(mylist)

清空:
在这里插入图片描述
坚持!!!
在这里插入图片描述

六、循环列表

1)for循环遍历

方法一:
循环遍历列表您可以使用循环遍历列表项for 。


 
 
  1. mylist = [ "川川一号""川川二号""川川三号", "川川四号"]
  2. for i in mylist:
  3.      print(i)

遍历成功:
在这里插入图片描述
方法二:遍历索引号


 
 
  1. mylist = [ "川川一号""川川二号""川川三号", "川川四号"]
  2. for i in  range( len(mylist)):
  3.      print(mylist[i])

返回:
在这里插入图片描述

2)while循环遍历


 
 
  1. mylist = [ "川川一号""川川二号""川川三号", "川川四号"]
  2. i =  0
  3. while i <  len(mylist):
  4.   pr int(mylist[i])
  5.   i = i +  1

返回:
在这里插入图片描述

七、列表推导式

例如:根据fruits列表,您需要一个新列表,其中仅包含名称中带有字母“a”的fruits。
如果没有列表理解,您将不得不编写一个for带有条件测试的语句:


 
 
  1. fruits = [ "apple""banana""cherry""kiwi""mango"]
  2. newlist = []
  3. for x in fruits:
  4.    if  "a" in x:
  5.     newlist. append(x)
  6. print(newlist)

返回为:
在这里插入图片描述

使用列表推导式,你只需要一行代码即可!


 
 
  1. fruits = [ "apple""banana""cherry""kiwi""mango"]
  2. newlist = [x  for x in fruits  if  "a" in x]
  3. print(newlist)

返回一样:
在这里插入图片描述
换一个例子,只接受小于 5 的数字:


 
 
  1. newlist = [x  for x in  range( 10if x <  5]
  2. print(newlist)

返回“orange”而不是“banana”:(这个不是很好理解,多想想)


 
 
  1. fruits = [ "apple""banana""cherry""kiwi""mango"]
  2. newlist = [x  if x !=  "banana"  else  "orange"  for x in fruits]
  3. print(newlist)

返回为:
在这里插入图片描述

八、列表排序

1)区分大小写的排序

默认情况下,该sort()方法区分大小写,导致所有大写字母都排在小写字母之前:


 
 
  1. thislist = [ "banana""Orange""Kiwi""cherry"]
  2. thislist. sort()
  3. print(thislist)

返回:
在这里插入图片描述

2)不区分大小写的排序

如果你想要一个不区分大小写的排序函数,使用 str.lower 作为键函数:


 
 
  1. thislist = [ "banana""Orange""Kiwi""cherry"]
  2. thislist. sort(key = str. lower)
  3. print(thislist)

返回:
在这里插入图片描述

3)倒序

reverse()方法反转元素的当前排序顺序。


 
 
  1. mylist = [ "川川一号""川川二号""川川三号", "川川四号"]
  2. mylist. reverse()
  3. print(mylist)

返回为:
在这里插入图片描述

九、复制列表

copy()方法制作列表的副本:


 
 
  1. mylist = [ "川川一号""川川二号""川川三号", "川川四号"]
  2. my = mylist.copy()
  3. print( my)

返回:
在这里插入图片描述
list()方法制作列表的副本:


 
 
  1. mylist = [ "川川一号""川川二号""川川三号", "川川四号"]
  2. my = list(mylist)
  3. print( my)

返回为:
在这里插入图片描述

十、加入列表

最简单的方法之一是使用+ 运算符。


 
 
  1. list1 = [ "a""b""c"]
  2. list2 = [ 123]
  3. list3 = list1 + list2
  4. print(list3)

返回:
在这里插入图片描述
稍微有意思点,连接两个列表的另一种方法是将 list2 中的所有项一个一个地附加到 list1 中:


 
 
  1. list1 = [ "a""b" ,  "c"]
  2. list2 = [ 123]
  3. for x in list2:
  4.   list1. append(x)
  5. print(list1)

返回:
在这里插入图片描述
extend() 方法,其目的是将元素从一个列表添加到另一个列表:


 
 
  1. list1 = [ "a""b" ,  "c"]
  2. list2 = [ 123]
  3. list1.extend(list2)
  4. print(list1)

返回:
在这里插入图片描述

十一、列表所有操作总结

如果你英文好可以看看,当然,这些所有操作我都讲过一遍了。
在这里插入图片描述

十二、练习

1-打印fruits列表中的第二项。


 
 
  1. fruits = [ "apple""banana""cherry"]
  2. print( )

2-将fruits列表中的值从“apple”改为“kiwi”。


 
 
  1. fruits = [ "apple""banana""cherry"]
  2.    =

3-使用 append 方法将“orange”添加到fruits列表中。


 
 
  1. fruits = [ "apple""banana""cherry"]

4-使用插入方法将“柠檬”添加为fruits列表中的第二项。


 
 
  1. fruits = [ "apple""banana""cherry"]
  2.      = "lemon")

5-使用 remove 方法从fruits列表中删除“banana”。


 
 
  1. fruits = [ "apple""banana""cherry"]

6-使用负索引打印列表中的最后一项。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python从入门到精通——完整教程【转载】 的相关文章

随机推荐

  • 多版本 Python 使用 pip 安装 package

    最简单的方式 使用参数指定安装路径 pip install t D python3 5 32bit Lib site packages numpy 叨叨叨 如果电脑上安装了多个版本的Python的话 在需要使用pip安装新package时
  • hive分区表的元数据信息numRows显示为0

    创建分区表 CREATE TABLE dept partition deptno int dname string loc string PARTITIONED BY
  • 2023牛客暑期多校训练营3

    A World Fragments I 将两个二进制数先转换成十进制数 因为只要二进制中有1 就加或减1 加减0是没有用的 所以求两个二进制的差的绝对值 这是在有1的情况下 其实只要不等于0就有1 数是非负整数 所以需要特判 如果第一个二进
  • 10种基于MATLAB的方程组求解方法

    线性方程组的求解包括直接法和迭代法 其中迭代法包括传统的高斯消元法 最速下降法 牛顿法 雅克比迭代法 共轭梯度法 以及智能启发式算法求解法和神经网络学习算法 传统算法可以相互组合改进 智能仿生启发式算法包括粒子群算法 遗传算法 模拟退火算法
  • R329-opencv阈值分割算法——自适应阈值

    R329 opencv阈值分割算法 自适应阈值 在不均匀照明或者灰度值分布不均的情况下 如果使用全局阈值分割 那么得到的分割效果往往会很不理想 这个时候就要你用到自适应阈值算法了 OpenCV提供了自适应的二值化函数 通过该函数可以对图像的
  • 如何使用网页版微信文件传输助手(图解教程)

    微信文件传输助手网页版是一款非常方便的工具 可以帮助我们在电脑和手机之间传输文件 而且不需要电脑登录微信即可传输文件 下面是具体的操作步骤 步骤一 打开多御浏览器 点击微信文件传输助手 然后使用微信扫描页面上的二维码 即可进入微信传输助手界
  • uniapp开发微信小程序初次加载弹窗显示隐私政策

    效果图 废话不多说 直接上代码
  • 计算机基础第三版知识点总结,计算机基础知识点归纳总结

    计算机等级考试作为当代大学生必考科目之一 它的基础知识点有哪些呢 以下是由出国留学网编辑为大家整理的 计算机基础知识点归纳总结 仅供参考 欢迎大家阅读 计算机基础知识点归纳总结 计算机的发展 类型及其应用领域 1 计算机 computer
  • 智能BI,如今走到了哪一步?

    我们现在需要的不仅是石油 更是如何使用好石油 作者 三七 编辑 皮爷 出品 产业家 错进 错出 这是美国税务局在1963年对数据质量提出的解释 以此来试图表达数据对于计算机处理结果质量的重要性 这一观点的源头来自 计算机之父 查尔斯 巴贝奇
  • 常见erp系统

    ERP系统是提供决策手段的管理平台 很多的企业都有使用 那么常见的ERP系统都有哪些呢 像国内外最常见的ERP系统有鼎捷ERP系列 SAP Oracle 博科 泛普软件 Infor QAD QAD Adaptive 等 鼎捷ERP系统 鼎捷
  • 三种常见DDOS攻击应对策略

    DDos防御需要根据不同的攻击类型和不同的攻击方式指定对应的策略才能达到最有效的防御 常见的DDos包括 Flood CC和反射等 1 flood攻击 Flood类的攻击最常见并简单有效 黑客通过控制大量的肉鸡同时向服务器发起请求 进而达到
  • 一篇文章搞定克拉美罗界(CRB)

    起因 二郎最近在研究LBL 长基线 定位 大部分论文都提到了文中算法获得的方差接近CRB 所以自己的算法性能较好 于是二郎就想知道克拉美罗界是什么意思 以及能应用的场景 经过 1 查文档 克拉美罗界 为无偏估计量的方差确定一个下界 衡量无偏
  • 详细安装配置django

    安装配置使用Django 1 下载安装 django pip install django 2 创建设置项目 先进入要放置项目的文件夹下 2 1 创建项目 django admin startproject Api project 2 2
  • 万兆以太网选择6类线还是6A类线?

    在综合布线中 有些时候必不可免的需要用到万兆铜缆以太网 那么这个时候就会产生一个问题 就是线缆的选型 6类线和6A类线都可以支持到万兆以太网 那么究竟是选择成本较为低廉的6类线还是选择规格更高一些的6A类线缆 6类线与6A类线的区别 起初
  • Cordic算法

    Cordic算法可以利用简单的移位和加减来计算复杂的三角函数 双曲函数 对数 指数等 Cordic算法核心思想有两点 通过已知的角度来逼近输入的角度 用移位来代替tan 已知角度的cos 经过多次积累相乘趋于常数 具体原理如下 根据坐标旋转
  • 怎么委婉的拒绝别人

    其实拒绝别人最难的那个是自己 有心理负担 导致很多人不能说 不 多少次后悔答应别人了 但是也不能没有技巧的拒绝别人 如果没有思考过 那么也会让自己后悔自己做的不合适 方法不对 怎么去拒绝别人呢 需要掌握好技巧和心理分析然后坦然的拒绝别人是这
  • 关于Mybatis一对多查询以及返回一条记录的经验总结

    前人经验 关于一对多返回一条的问题 原因是在于多张表有列名相同的字段 如果在数据库中使用连接操作 如 INNER JOIN LEFT JOIN RIGHT JOIN 等 进行连接时 列名有相同的字段 则在连接结果集中 这些列名相同的字段会被
  • c:forEach status.index 行索引的使用

    使用seam做了个项目 展示一个自定义列表输出 分别定义表格标题List headerList和数据List
  • 浅谈云计算的三种服务模式:IaaS,PaaS和SaaS

    2008年 云计算的概念由Google率先提出 短时间内其核心理念在全球范围内迅速传播并发展 2010年在国内形成趋势 各大IT互联网商业巨头将目光聚焦在云计算 至目前 云计算在中国已经慢慢开始成熟起来 云计算指的是通过网络 云 将巨大的数
  • python从入门到精通——完整教程【转载】

    文章目录 一 pycharm下载安装 二 python下载安装 三 pycharm上配置python 四 配置镜像源让你下载嗖嗖的快 4 1 pycharm内部配置 4 2 手动添加镜像源 4 3 永久配置镜像源 五 插件安装 比如汉化 5