Python系统学习-第一章基础知识(2) 如何与Python沟通

Python的算法

引用自百度百科

算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。不同的算法可能用不同的时间、空间或效率来完成同样的任务。一个算法的优劣可以用空间复杂度与时间复杂度来衡量。

个人的通俗理解,计算机可以做很多事情,也能做的很快。但是它不擅长思考,需要程序员告诉它如何做。也就是需要用计算机语言告诉计算机准确而完整的如何结题的方案。算法即结题想法,好的算法能够更快的解决问题,在计算机中主要是考虑两个参数,时间(算法运行所需时间)和空间(描述算法的计算机语言在计算机中占用的存储空间)

接下来介绍如何通过Python与计算机进行沟通

Python的语法

数字和表达式

常用的 加减乘除、取余、幂(乘方)

加法
>>> 2  +  2
4
减法
>>>2 - 2
0
乘法
>>>2  *  2
4
除法
>>>1 / 2
0
// 以上结果,结果和你预想中的不同,计算结果只保留了证书部分,小数部分被截取,为什么会出现这样的一个因为,因为整型(int)与整型(int)相除,得到的结果还是整型以下是解决方案
//方法一 加入浮点数(Float)
>>>1 / 2.0
0.5
>>>1.0 / 2
0.5
>>>1.0 / 2.0
0.5

//方法二 引入其他模块
>>> from _future_ import division

//或者使用命令行语言
python -Qnew
取余
>>>1 % 2
1
>>>10 % 3
1
>>>9 % 3
0
幂(乘方)
>>>2 ** 3
8
//等同于公式 -(3 ** 2)
>>> -3 ** 2
-9
>>> (-3) ** 2
9

长整型

注意2.2以前的版本无法处理

>>>1000000000000000000
OverflowError:integer lnteger literal too large

普通整数的区间 2 147 483 647 与 - 2 147 483 648
长整型会在数据结尾后有个L

十六进制与八进制

// 0x 表示十六进制
>>> 0xAF
175
//0 表示八进制
>>>010 

变量

变量代表或引用某个值的名字

>>> x = 3
>>> x * 2
6
//注意:变量可以包括字母、数字和下划线(_)。 不能以数字开头

获取用户输入

input() 函数,获取用户输入的数据

函数

很多时候函数的名字都是英文词的缩写
在之前讲到的幂运算符,可以通过pow(2,3)替代。
函数是用来实现特点功能的代码段,方便重复使用,用于创造更复杂的表达式

abs()得到绝对值

模块

用于进一步扩展Python的功能

>>>import math
>>>math.floor(32.9)
>>>32.0
cmath 和 复数
//报错操作
>>> from math import sqrt
>>> sqrt(-1)
//可以得到复数结果操作
>>> import cmath
>>> cmath.sqrt(-1)
1
future

这里有一个比较有意思的模块,Guido van Rossum(Python之父)将部分未来可能成为标准python部分的新特性放入到future模块,方便大家使用

保存并执行程序

1.新建文件,输入python代码

print "Hello world!"

2.保存文件,以.py为后缀名保存 (这点很重要)

运行在任何地方

在脚本首航开头加入python解释脚本程序的绝对路径

#/usr/bin/python
注释

#符号用于在代码中放入解释语言,方便更易于解读程序

字符串

单引号与转义字符

单引号与双引号没有区别,但是在某种特殊场合有需要使用

>>>'Let's go!'
SyntaxError:invalid syntax
//以下才是争取方法
>>> "Let's go!"
Let's go!

或者使用转义引号

>>>'Let\'s go!'
Let's go!
拼接字符串

通过 + 号可以将两个字符串进行拼接

字符串表示 str 和 repr

将值转化为字符串形式有两种机制
str函数 将值转化为字符串

>>>print str('Hello wolrd!')
Hello, world!
>>>print str(10000L)
10000

repr 将创建一个字符,以合法的Python表达的形式来表示值
repr(x) 与 x 是同一个效果

>>>print repr("Hello world!")
'Hello world!'
>>>print repr(10000L)
10000L
input 和 raw_input 的比较

input函数对于数据的数据会根据数据类型自动赋值
raw_input函数会将数据转化为原始数据,然后放入字符串当中

name = input("What is your name?")
print "Hello, " + name + "!"

以上代码当输入的是字符串时,是不会报错。但是如果输入的是数字,则报错为,因为name不是字符串,不同数据类型无法通过+ 号运算进行字符串拼接
更换成以下代码,即可

name = raw_input("What is your name?")
print "Hello, " + name + "!"

或者将name转化为 字符串类型

name = input("What is your name?")
print "Hello, " +str(name) + "!"
长字符串、原始字符串和Unicode
长字符串

如果需要多行字符串,可以使用三个单引号

print '''This is very long string,
It coutinues here.
And it's not over yet.
"Hello world!"
Still here.'''

也可以使用三个双引号,这样就可以在字符串之间同时使用双引号和单引号。

原始字符

大部分时候需要输出的字符串拥有一些特性,比如说\n 换行,或者需要字符串输入出 \ ,那就需要 \ 转义字符,对本身进行转义。
但是当输入路径或者正则表达式时使用转义字符会很不方便

推荐使用,使用原始字符不会将转义字符当做特殊字符

print r'C:\\nowhere'
#注意原始字符串不能以转义字符结尾
unicode

字符串常量的最后一个类型就是Unicode对象,与字符串并不是同一种类型。
Python中常用的字符串是以8位的ASCII码形式存在,而Unicode字符串则存储为16位Unicode字符串,这样能够表示更多字符串

>>> u'Hello world!'
u'Hello world!'
【6层】一字型框架办公楼(含建筑结构图、计算书) 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
深度学习是机器学习的一个子领域,它基于人工神经网络的研究,特别是利用多层次的神经网络来进行学习和模式识别。深度学习模型能够学习数据的高层次特征,这些特征对于图像和语音识别、自然语言处理、医学图像分析等应用至关重要。以下是深度学习的一些关键概念和组成部分: 1. **神经网络(Neural Networks)**:深度学习的基础是人工神经网络,它是由多个层组成的网络结构,包括输入层、隐藏层和输出层。每个层由多个神经元组成,神经元之间通过权重连接。 2. **前馈神经网络(Feedforward Neural Networks)**:这是最常见的神经网络类型,信息从输入层流向隐藏层,最终到达输出层。 3. **卷积神经网络(Convolutional Neural Networks, CNNs)**:这种网络特别适合处理具有网格结构的数据,如图像。它们使用卷积层来提取图像的特征。 4. **循环神经网络(Recurrent Neural Networks, RNNs)**:这种网络能够处理序列数据,如时间序列或自然语言,因为它们具有记忆功能,能够捕捉数据中的时间依赖性。 5. **长短期记忆网络(Long Short-Term Memory, LSTM)**:LSTM 是一种特殊的 RNN,它能够学习长期依赖关系,非常适合复杂的序列预测任务。 6. **生成对抗网络(Generative Adversarial Networks, GANs)**:由两个网络组成,一个生成器和一个判别器,它们相互竞争,生成器生成数据,判别器评估数据的真实性。 7. **深度学习框架**:如 TensorFlow、Keras、PyTorch 等,这些框架提供了构建、训练和部署深度学习模型的工具和库。 8. **激活函数(Activation Functions)**:如 ReLU、Sigmoid、Tanh 等,它们在神经网络中用于添加非线性,使得网络能够学习复杂的函数。 9. **损失函数(Loss Functions)**:用于评估模型的预测与真实值之间的差异,常见的损失函数包括均方误差(MSE)、交叉熵(Cross-Entropy)等。 10. **优化算法(Optimization Algorithms)**:如梯度下降(Gradient Descent)、随机梯度下降(SGD)、Adam 等,用于更新网络权重,以最小化损失函数。 11. **正则化(Regularization)**:技术如 Dropout、L1/L2 正则化等,用于防止模型过拟合。 12. **迁移学习(Transfer Learning)**:利用在一个任务上训练好的模型来提高另一个相关任务的性能。 深度学习在许多领域都取得了显著的成就,但它也面临着一些挑战,如对大量数据的依赖、模型的解释性差、计算资源消耗大等。研究人员正在不断探索新的方法来解决这些问题。
1、资源项目源码均已通过严格测试验证,保证能够正常运行;、 2项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
深度学习是机器学习的一个子领域,它基于人工神经网络的研究,特别是利用多层次的神经网络来进行学习和模式识别。深度学习模型能够学习数据的高层次特征,这些特征对于图像和语音识别、自然语言处理、医学图像分析等应用至关重要。以下是深度学习的一些关键概念和组成部分: 1. **神经网络(Neural Networks)**:深度学习的基础是人工神经网络,它是由多个层组成的网络结构,包括输入层、隐藏层和输出层。每个层由多个神经元组成,神经元之间通过权重连接。 2. **前馈神经网络(Feedforward Neural Networks)**:这是最常见的神经网络类型,信息从输入层流向隐藏层,最终到达输出层。 3. **卷积神经网络(Convolutional Neural Networks, CNNs)**:这种网络特别适合处理具有网格结构的数据,如图像。它们使用卷积层来提取图像的特征。 4. **循环神经网络(Recurrent Neural Networks, RNNs)**:这种网络能够处理序列数据,如时间序列或自然语言,因为它们具有记忆功能,能够捕捉数据中的时间依赖性。 5. **长短期记忆网络(Long Short-Term Memory, LSTM)**:LSTM 是一种特殊的 RNN,它能够学习长期依赖关系,非常适合复杂的序列预测任务。 6. **生成对抗网络(Generative Adversarial Networks, GANs)**:由两个网络组成,一个生成器和一个判别器,它们相互竞争,生成器生成数据,判别器评估数据的真实性。 7. **深度学习框架**:如 TensorFlow、Keras、PyTorch 等,这些框架提供了构建、训练和部署深度学习模型的工具和库。 8. **激活函数(Activation Functions)**:如 ReLU、Sigmoid、Tanh 等,它们在神经网络中用于添加非线性,使得网络能够学习复杂的函数。 9. **损失函数(Loss Functions)**:用于评估模型的预测与真实值之间的差异,常见的损失函数包括均方误差(MSE)、交叉熵(Cross-Entropy)等。 10. **优化算法(Optimization Algorithms)**:如梯度下降(Gradient Descent)、随机梯度下降(SGD)、Adam 等,用于更新网络权重,以最小化损失函数。 11. **正则化(Regularization)**:技术如 Dropout、L1/L2 正则化等,用于防止模型过拟合。 12. **迁移学习(Transfer Learning)**:利用在一个任务上训练好的模型来提高另一个相关任务的性能。 深度学习在许多领域都取得了显著的成就,但它也面临着一些挑战,如对大量数据的依赖、模型的解释性差、计算资源消耗大等。研究人员正在不断探索新的方法来解决这些问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值