Python基础学习笔记3

2023-09-20 20:42:26

深度学习实践

深度学习离不开编程

  • 深度学习离不开数学分析(高等数学)、线性代数、概率论等知识,更离不开以编程为核心的动手实践。

Python编程语言 

  • 无论是在机器学习还是深度学习中,Python已经成为主导性的编程语言。而且,现在许多主流的深度学习框架都提供Python接口,Python被用于数据预处理、定义网络模型、执行训练过程、数据可视化等
  • 熟悉Python的基础语法,并掌握NumPy,Pandas及其他基础工具模块的使用对深度学习实践是非常重要的!

AI Studio使用更多使用,可参考官方使用文档:https://ai.baidu.com/ai-doc/AISTUDIO/Tk39ty6ho

Python进阶语法

Python数据结构

数字(Number)

  • Python Number数据类型用于存储数值,包括整型、长整型、浮点型、复数。
  • Python中数学运算常用的函数基本都在math模块
import math
print(math.ceil(4.1)) #返回数字的上入整数     5
print(math.floor(4.9))#返回数字的下舍整数     4
print(math.fabs(-10)) #返回数字的绝对值       10.0
print(math.sqrt(9))   #返回数字的平方根       3.0
print(math.exp(1))    #返回e的x次幂           2.718281828459045

 

  • Python中随机数
#随机生成一个[0,1)范围内的实数
import random

ran = random.random()
print(ran)

#随机生成一个[1,20)范围内的整数
ran1 = random.randint(1,20)
print(ran1)

#当使用random.seed(x)设定好种子之后,random()生成的随机数将会是同一个。
print("-------设置种子seed-------")
random.seed(10)
print("Random number with seed 10 :",random.random())
#生成同一个随机数
random.seed(10)
print("Random number with seed 10 :",random.random())

 

字符串(String)

  • 单引号、双引号、双引号
#Python中的字符串可以使用单引号、双引号和三引号(三个单引号或三个双引号)括起来,使用反斜杠\转义特殊字符
print('Hello')
print("Hello")
print('''I'm going to the movies  ''')
html = '''......'''
print(html)

 

  • 字符串连接
#使用+运算符
str1 = "Hello"
str2 = "World!"
print(str1+'\t'+str2)

#使用join运算符
new_str = '-'.join('Hello')
print(new_str)

 

列表(List) 

  • 声明一个列表,并使用下标访问元素

 

  • 访问最后一个元素

 

  • 访问第一个元素 

  • 列表查询

  • 列表添加

  • 列表修改

  • 列表删除

  • 列表切片

  • 列表排序

元组(Tuple)

  • 与列表类似,区别是元组中的内容不可修改

  • 列表转元组 

#·元组不能修改,所以不存在往元组里加入元素
import random
random_list = []
for i in range(10):
    ran = random.randint(1,20)
    random_list.append(ran)
print(random_list)

random_tuple = tuple(random_list)
print(random_tuple)

#·元组截取
print(random_tuple)
print(random_tuple[0])
print(random_tuple[-1])
print(random_tuple[1:3])
print(random_tuple[::-1])

#·元组的一些函数
print(max(random_tuple))
print(min(random_tuple))
print(sum(random_tuple))
print(len(random_tuple))

字典(Dict)

  • 字典相关函数

  

  • 字典删除 

类 

定义一个类Animals:

(1)init()定义构造函数,与其他面向对象语言不同的是,Python语言中,会明确地把代表自身实例的self作为第一参数传入。

(2)创建一个实例化对象cat,init()方法接收参数

(3)使用点号.,来访问对象的属性

JSON序列化与反序列化

  • JSON序列化:json.dumps用于将Python对象编码成JSON字符

 

  •  JSON反序列化:json.loads用于解码JSON数据。该函数返回Python字段的数据类型

 错误原因:因为 json.loads 函数期望的输入是一个 JSON 格式的字符串,而不是一个列表对象。要解决这个错误,需要将 jsonData 转换成一个 JSON 格式的字符串,然后再使用 json.loads 进行解析。

import json

# 将列表 jsonData 转换为 JSON 格式的字符串
jsonData = [{"a":1,"b":2,"c":3,"d":4,"e":5}]
json_str = json.dumps(jsonData)

# 使用 json.loads 解析 JSON 字符串
text = json.loads(json_str)

# 打印解析后的结果
print(text)

 

首先使用 json.dumpsjsonData 转换为 JSON 字符串,然后再使用 json.loads 对其进行解析,就不会再出现 TypeError 错误了。

Python异常处理

  •  try/except语句用来检测try语句块中的错误,从而让except语句捕获异常信息并处理

#·finally中的内容,退出try的总会执行
try:
    f = open("/home/aistudio/data/testfile02.txt","w")
    f.write("这是一个测试文件,用于测试异常!!")
finally:
    print('关闭文件')
    f.close()

常用Linux命令

Linux文件目录管理

  • ls:列出目录
  • cd:切换目录
  • cp:复制文件或目录
  • mv:移动文件与目录,或修改文件与目录的名称
  • rm:移除文件或目录
  • gzip命令:linux压缩文件中最常见的后缀名即为.gz,gzip是用来压缩和解压.gz文件的命令
  • tar命令:哟昂莱打包或者解包后缀名为.tar。配合参数可同时实现打包和压缩
  • zip和unzip命令:zip命令和unzip命令用在在Linux上处理.zip的压缩文件。

Linux文件编辑

 

 

 

更多推荐

SpringMVC之JSR303和拦截器

认识JSR303JSR303是一项Java标准规范,也叫做BeanValidation规范,提供了一种JavaBean数据验证的规范方式。在SpringMVC中,可以通过引入JSR303相关的依赖,来实现数据的校验。在使用JSR303进行校验时,需要在需要校验的JavaBean的属性上添加相应的注解,如@NotNull

线上论坛之单元测试

对线上论坛进行单元测试的测试报告源码地址:https://gitee.com/coisini-thirty-three/forum一、用户部分(UserServiceImplTest)1.创建普通用户测试名称createNormalUser()测试源码@TestvoidcreateNormalUser(){//构造用户

C++:AVL树

目录​​​​​​​一、关于AVL树二、AVL树的注意事项1、平衡因子的更新规则:2、旋转的处理①、右右:左单旋②、左左:右单旋③、左右:先左单旋再右单旋④、右左:先右单旋再左单旋三、AVL树模拟实现一、关于AVL树前面学过二叉搜索树,数据在有序或是接近有序时,二叉搜索树效率就非常低了,因此这里引入了AVL树,又叫高度平

链表oj题 && 链表与LinkedList && 栈的概念 && 队列的概念 && 树和二叉树

第1题(编程题)题目名称:求环的入口点题目内容:求环的入口点https://leetcode-cn.com/problems/linked-list-cycle-ii/description/第2题(编程题)题目名称:判断链表带环题目内容:判断链表带环https://leetcode-cn.com/problems/l

软件设计中常见的设计模式

以下是常见的设计模式,并且给出了应用场景:工厂模式(FactoryPattern):用于创建对象,隐藏了具体对象的创建细节,客户端只需要通过工厂接口获取对象即可。应用场景包括:当需要根据不同的参数生成不同类型的对象时;当需要遵循“开闭原则”,即增加新类型时,只需要添加新的工厂类。单例模式(SingletonPatter

Kafka 常见问题

文章目录kafka如何确保消息的可靠性传输Kafka高性能的体现利用Partition实现并行处理利用PageCache如何提高Kafka性能调整内核参数来优化IO性能减少网络开销批处理数据压缩降低网络负载高效的序列化方式kafka如何确保消息的可靠性传输消费端弄丢了数据唯一可能导致消费者弄丢数据的情况,就是消费到了这

java中零拷贝和深拷贝的原理以及实现探究

深拷贝和零拷贝是两个在Java中广泛使用的概念,它们分别用于对象复制和数据传输优化。下面将详细介绍这两个概念的原理,并给出相应的Java代码示例。深拷贝深拷贝(DeepCopy)原理:深拷贝是创建一个对象的完全独立副本,包括对象本身、引用类型的属性和子对象。可以通过序列化和反序列化来实现深拷贝。首先,需要确保要拷贝的对

【2023,学点儿新Java-47】常见字符集介绍:ASCII码、 ISO-8859-1字符集、GBxxx字符集、Unicode码的缺陷、UTF-8 | 补充:条件运算符的练习

前情提要:【2023,学点儿新Java-46】条件运算符:语法格式及示例;基础练习:获取两个数/三个数中的较大值;星期运算|附:测试代码位运算符的使用|运算符优先级【2023,学点儿新Java-45】位运算符:基本语法(左移<<、右移>>、无符号右移>>>、按位与&、按位或|、按位异或^、按位取反~)|补充练习:逻辑运

redis实战-redis实现异步秒杀优化

秒杀优化-异步秒杀思路未优化的思路当用户发起请求,此时会请求nginx,nginx会访问到tomcat,而tomcat中的程序,会进行串行操作,分成如下几个步骤1、查询优惠卷2、判断秒杀库存是否足够3、查询订单4、校验是否是一人一单5、扣减库存6、创建订单在这六步操作中,又有很多操作是要去操作数据库的,而且还是一个线程

android-适配方案-密度适配-最小宽度限定符

一最小宽度的该如何计算始终以真实屏幕的最小宽度作为匹配计算,无论横竖屏转变都是以最小宽度为准匹配实际适配调试经验:因为适配过程中可能会动态的调节设备像素和密度。根据如下工具代码打日志,可以快速调试当前设备。packagecom.jicaai.radio.utils;importandroid.app.Activity;

Golang开发--计时器(Timer)和定时器(Ticker)

计时器(Timer)在Go中,可以使用time包提供的计时器(Timer)来执行定时任务。计时器允许你在指定的时间间隔后执行某个操作。time.Timer结构表示一个计时器,它会在指定的时间段后触发单次操作。创建计时器:使用time.NewTimer(duration)函数创建一个计时器,其中duration是一个ti

热文推荐