Python入门学习笔记(1)

  由于最近开始学习python了,而且还没在csdn写过博客,就计划开始在这里记录一下自己的一个学习过程,方便大家指出纠错,反正我也不会接受的。开玩笑,指出有错误的马上改。废话不多说,开始记录。
  安装教程一大堆,网上一搜一大把,这里就不记录安装过程,直接从基础的学习过程开始写起。

一、注释

  写代码最重要一点绝对是注释了,毕竟程序员的思维逻辑都不一样,大家写出来的东西五花八门,这时候就要靠注释去帮助我们去了解代码啦。而且很难保证自己写完的代码没有注释,回过头来自己都忘记什么意思了。程序员最讨厌两件事,看没有注释的代码,给代码写注释。所以说我们还是给自己的代码写注释吧。

  注释在python中分为单行注释和多行注释

  python中单行注释以 # 开头,例如:

# 注释:对代码的解释和说明,提高代码的可读性
# 注释的内容不会被执行,只是起一个解释代码的作用
# 这是一个注释,输入“Hello World!”
# 程序员第一次学习一般都是hello world。。。。
print ("Hello World!")

  python中多行注释则分为单引号和多引号,例如:

# 单引号
'''
print('啦啦啦啦')
print('啦啦啦啦')
'''
# 多引号
"""
print('啦啦啦啦')
print('啦啦啦啦')
"""

二、变量

  变量:我们姑且理解为存储数据的一个容器

# 变量名尽可能写得有意义点,避免自己回头看不认识
# =是赋值符号
name = 'zhangsan'
age = 18
# 变量第一次赋值则是相当于定义了一个变量,变量第二次出现则是相当于重新赋值
arg = 10
arg = arg + 10

  大家如果学过其他语言开发,在定义变量的时候一般都要指定变量类型,例如:int arg = 10,但是在python是不需要我们指定类型的,会根据数据自动推到类型,你只需要写上 变量名=值 就可以了。
  接下来说说python的数据类型:

# 常用的有: int、str、float、bool、list、tuple、dict、set

  变量的命名规则

# 变量的命名规则是由字母、数字、下划线组成,不能以数字开头
# 错误师范
1name = 'zhangsan'          # X
name@age = 'zhangsan18'     # X
class = 'zhangsan'          # X

# 不能使用python中的关键字作为变量名,可以导入keyword模块查看关键字
import keyword
kw = keyword.kwlist
print (kw)
#['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']

  正确的命名规则:驼峰(小驼峰、大驼峰)、下划线
  小驼峰:第一个字母单词小写,其他首字母单词大写
  大驼峰:所有首字母单词大写
  下划线:字母单词都小写,中间用 _ 链接

myAge = 18
MyAge = 18
my_age = 18     # 推荐使用

三、数据类型转换

  额外说明一下,可以用python的内置函数 type() 去查看数据类型

num = 10   #int
my_str = '10'  #str

# str 转 int
num2 = int(my_str)
print(num2, type(num2))

# 判断数据是不是指定的类型
print(isinstance(num2,str))      #False

# 同类型的可以进行计算
print(num + num2)     # 20

# 字符串拼接
print(my_str + my_str)     # 1010

my_float = '3.14'         # str
num4 = float(my_float)
print(num4)      # 3.14

# int + float 结果是float类型
print(num + num4)      # 13.14

# float 转 int(只取整数部分)
num5 = 4.55
num6 = int(num5)
print(num6)      # 4

# float 转 str
res  = str(num5)
print(res,type(res))

  eval():获取字符串中的原始数据(最好不要使用)

# 能直接执行里面的语句
eval("__import__('os').system('ipconfig')")

# 出于安全考虑,对字符串类型转换,最好推荐使用ast模块中的 literal_eval() 
import ast
print(ast.literal_eval('[1,2,3]'))        # [1,2,3]
print(ast.literal_eval("__import__('os').system('ipconfig')"))    #会报错

  bool(布尔类型):python中认为 00.0空值空列表空集合空元祖 都是False

num1 = 1
num2 = None
num3 = ()
num4 = []
num5 = {}
num6 = ''
# 以上值依次代入判断值 num1查看结果
if num1:
	print('True')
else:
	print('False')
 
# bool 转 str
result  = str(True)
print(result,type(result))                  # True <class 'str'>

# str 转 bool 不能强制转
result = bool('False')
print(result, type(result))                   # True <class 'bool'>
print(ast.literal_eval('False'),type(ast.literal_eval('False')))      # False <class 'bool'>

# 内部自己做判断是否相等
data = 'False'
is_true = data == str(True)
print(is_true,type(is_true ))                  # False <class 'bool'>

四、输入和输出

  输出:输出多个参数,要使用逗号分隔

print('hello','world')     # hello world
print('hello','world',sep='__')      # hello__world
print('hello',end='_____')
print('world')            # hello_____world
'''
源码
def print(self, *args, sep=' ', end='\n', file=None): # known special case of print
    """
    print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
    
    Prints the values to a stream, or to sys.stdout by default.
    Optional keyword arguments:
    file:  a file-like object (stream); defaults to the current sys.stdout.
    sep:   string inserted between values, default a space.
    end:   string appended after the last value, default a newline.
    flush: whether to forcibly flush the stream.
    """
    pass
'''

  输入:py3 => input()

# 返回值都是str
name = input('提示信息:')

# 输出多个值
name_list = input('逗号分隔:').split(',')
print(name_list,type(name_list))

五、格式化输出

  格式化符: %s %d %f %x…

name = '我'
age = 18
print('%s的年龄是:%d'%(name,age))

pi = 3.1415926
# 默认小数点后保留6位
print('圆周率:%f' % pi)

六、运算符

  算数运算符:+ - * / % ** //

a = 10
b = 20
print(b/a)
print(b%a)
print(b//a)     # 向下取整

  赋值运算符:= += -= *= /= %= **= //=

  成员运算符:in(是否包含)、not in(是否不包含),结果都是True or False

  比较运算符:== >= > < <= !=









简单记录一下,希望能给看了这篇博客的人带来帮助,学习是一个循序渐进的过程,加油。

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
应用背景为变电站电力巡检,基于YOLO v4算法模型对常见电力巡检目标进行检测,并充分利用Ascend310提供的DVPP等硬件支持能力来完成流媒体的传输、处理等任务,并对系统性能做出一定的优化。.zip深度学习是机器学习的一个子领域,它基于人工神经网络的研究,特别是利用多层次的神经网络来进行学习和模式识别。深度学习模型能够学习数据的高层次特征,这些特征对于图像和语音识别、自然语言处理、医学图像分析等应用至关重要。以下是深度学习的一些关键概念和组成部分: 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
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值