python基础学习笔记2

python基础语法

python的优点

  • 开源、易于维护、可移植
  • 易于使用、简单优雅
  • 广泛的标准库、功能强大
  • 可扩展、可嵌入
  • 所有的深度学习框架一般都有一个Python版的接口
  • ...

python典型应用

  • 数据分析:对数据进行清洗、去重、规格化和针对性的分析
  • 科学计算
  • 常规软件开发
  • 人工智能
  • 网络爬虫
  • WEB开发

python基础语法

基础操作

python 复制代码
#1.基础操作
age = 20 #声明一个变量age用来存储一个数字20
1+1      #基础数学加法
print('Hello World!')#打印Hello World!

条件判断if

  • Python指定任何非0和非空值为True,0 或者None为False
  • Python 编程中if 语句用于控制程序的执行,基本形式为:
  • 其中"判断条件"成立时(非零),则执行后面的语句,而执行内容可以多行,以缩进来区分表示同一范围。
  • else 为可选语句,当需要在条件不成立时执行内容则可以执行相关语句。
python 复制代码
#2.条件判断if
if 1 == 2:#如果if跟随的条件为假,那么不执行属于if的语句,然后寻找else
    print("假的")
else:#寻找到else之后执行属于else中的语句
    print("1==2是假的")

循环操作

Python基础语法Python的循环有两种,一种是for...in循环,可以依次把list或tuple中的元素迭代出来

第二种是while,只要条件满足,就不断循环,条件不满足时退出循环在while ... else 在条件语句为false 时执行else 的语句块

python 复制代码
#3.循环操作--while
sum = 0
n = 99
while n > 0:
    sum = sum + n 
    n = n - 1
print(sum)

break、continue、pass语句

python 复制代码
#4.breal、continue、pass
#break语句可以跳出for和while的循环体
n = 1
while n <= 100:
    if n > 10:
        break
    print(n)
    n += 1
python 复制代码
#continue语句跳过当前循环,直接进行下一轮循环
n = 1
while n < 10:
    n = n + 1
    if n % 2 == 0:
        continue
    print(n)
python 复制代码
#pass是空语句,一般用作占位语句,不做任何事
for letter in 'love':
    if letter == 'v':
        pass
        print('pass')
    print(letter)

核心数据结构

Number(数字):Python支持int, float, complex三种不同的数字类型

python 复制代码
#5.数据类型--Number(数字)
#python支持int,float,complex三种不同的数字类型
a = 5
b = 5.20
c = 5 + 2j
print(type(a),type(b),type(c))

String(字符串)

  • Python中的字符串可以使用单引号、双引号和三引号(三个单引号或三个双引号)括起来,使用反斜杠\转义特殊字符
  • Python3源码文件默认以UTF-8编码,所有字符串都是unicode字符串
  • 支持字符串拼接、截取等多种运算
python 复制代码
#5.数据类型--String(字符串)
#支持字符串拼接、截取等多种运算
a = "Hello"
b = "Python"
print("a + b 输出结果:", a + b)
print("a[1:3]输出结果:", a[1:3])

List(列表)

  • 列表可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套)。
  • 列表是写在方括号[]之间、用逗号分隔开的元素列表。
  • 列表索引值以0 为开始值,-1 为从末尾的开始位置。
  • 列表可以使用+操作符进行拼接,使用*表示重复。
python 复制代码
#5.数据类型--List(列表)
#列表是写在方括号 [] 之间、用逗号分隔开的元素列表
#列表索引值以0为开始值,-1为从末尾的开始位置
list = ['abcde',783,3.33,'moon',66.6]
print(list[-3:-1])

tinylist = [136,'moon']
print(list + tinylist)

Tuple(元组)

注意:定义一个只有1个元素的tuple,必须加逗号。

python 复制代码
#5. 数据类型--Tuple(元组)
#tuple与list类似,不同之处在于tuple的元素不能修改。tuple写在小括号里,元素之间用逗号隔开
#元组的元素不可变,但可以包含可变对象,如list
t1 = ('abcde',666,3.33,'moon',30.3)
t2 = (1, )
t3 = ('a','e',['A','E'])
t3[2][0] = 'X'
print(t3)

# t1[3] = 'yes'
# print(t1)


# 报错:TypeError                                 Traceback (most recent call last)
# Cell In[15], line 9
#       7 t3[2][0] = 'X'
#       8 print(t3)
# ----> 9 t1[3] = 'yes'
#      10 print(t1)

# TypeError: 'tuple' object does not support item assignment
# 错误原因:在Python中,元组是不可变的。这意味着一旦定义了元组,其元素就无法修改。元组的元素保持不变,不能重新分配。

dict(字典)

python 复制代码
#5.数据类型--dict(字典)
#字典是无序的对象集合,使用键-值(key-value)存储,具有极快的查找速度
#键(key)必须使用不可变类型
#同一个字典中,键(key)必须是唯一的。
d = {'Mack':99,'Bob':98,'Lucy':100}
print(d['Mack'])

set(集合)

python 复制代码
#5.数据类型--set(集合)
#set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。
#set是无序的,重复元素在set中自动被过滤。
s = set([3,3,4,4,5,5])
print(s)

常用库

  • numpy(Numerical Python的简称)是高性能科学计算和数据分析的基础包。
  • matplotlib由各种可视化类构成,内部结构复杂的可视化基础包。

人工智能概述与入门基础

人工智能无处不在

搜素引擎:网页、图片、视频、新闻、学术、地图

信息推荐:新闻、商品、游戏、书籍

图片识别:人像、用品、动物、交通工具

用户分析:社交网络、影评、商品评论

机器翻译、摘要生成......

什么是人工智能

人工智能(Artificial Intelligence),英文缩写为AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新技术科学。

使一部机器的反应方式像人一样进行感知、认知、决策、执行的人工程序或系统。

人工智能发展历程

  1. 1956诞生:Dartmouth会议;标志着AI的诞生
  2. 1957第一次高峰:罗森布拉特;发明第一款神经网络Perceptron
  3. 1970第一次低估:计算能力突破受限,机器未能完成大数据训练
  4. 1986第二次高峰:BP算法出现;大规模神经网络训练
  5. 2000第二次低估:AI计算机DARPA未实现;政府投入缩减
  6. 2014第三次浪潮:深度学习算法成功;语音和视觉识别为99%和95%
  7. NOW:AI爆发

人工智能与机器学习、深度学习关系

机器学习:一种实现人工智能的方法

深度学习:一种实现机器学习的技术,人工神经网络是机器学习中的一个重要算法"深度"就是说神经网络中众多的层。

深度学习入门基础

深度学习优势--从图像识别说起

理想目的:让计算机像人一样理解图像

实际目的:让计算机将语义概念相似的图像划分为同一类别

图像识别面临挑战

  • 语义鸿沟(Semantic Gap)现象:图像的底层视觉特性和高层语义概念之间的鸿沟

相同的视觉特性,不同的语义概念(相似但不同)

不相似的视觉特性,相同的语义概念(相同但角度不同)

传统方法

  • 用全局的视觉底层特性统计量表示图像
  • 全局特征会丢掉了图像细节
  • 人工特征提取+分类器

深度学习

手工地选取特征是一件非常费力、启发式(需要专业知识)的方法,能不能选取好很大程度上靠经验和运气,而且它的调节需要大量的时间,而深度学习是学习特征。

一般过程如下:

数学基础

  • 数据表示------标量、向量、矩阵和张量

向量的范数、常见的向量

常见的矩阵、矩阵的操作

  • 优化的基础------导数及其应用

导数、泰勒公式

拉格朗日乘数法

  • 概率模型的基础------概率论

概率分布、边缘概率、条件概率

期望、方差和协方差

深度学习框架

深度学习框架的优势:

  • 易用性:屏蔽底层,用户只需关注模型结构。同时,深度学习工具简化了计算,降低了深度学习入门门槛。
  • 高效性:灵活的移植性,可将代码部署到CPU/GPU/移动端上。选择具有分布式性能的深度学习工具会使模型训练更高效。
相关推荐
aloha_7891 小时前
从零记录搭建一个干净的mybatis环境
java·笔记·spring·spring cloud·maven·mybatis·springboot
dsywws2 小时前
Linux学习笔记之vim入门
linux·笔记·学习
晨曦_子画3 小时前
3种最难学习和最容易学习的 3 种编程语言
学习
城南vision3 小时前
Docker学习—Docker核心概念总结
java·学习·docker
ctrey_4 小时前
2024-11-1 学习人工智能的Day20 openCV(2)
人工智能·opencv·学习
十年之少4 小时前
由中文乱码引来的一系列学习——Qt
学习
A-超4 小时前
vue3展示pag格式动态图
笔记
u0101526585 小时前
STM32F103C8T6学习笔记2--LED流水灯与蜂鸣器
笔记·stm32·学习
weixin_518285055 小时前
深度学习笔记10-多分类
人工智能·笔记·深度学习
丘狸尾5 小时前
ubuntu【桌面】 配置NAT模式固定IP
笔记