Pytorch入门深度学习(2)——AI语言Python(1)

一、什么是编程语言

——编程语言是人与计算机进行交互的一种方式。
交互:交流互动

二、Python

1)Python是什么?
Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。Python由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年。
2)Python的优势
简单、免费(开源)、内存自动管理、可移植、可扩展、丰富的第三方库、解释性、面向对象
3)程序规则
①打印输出:print()函数
print()输出完内容后会自动换行,如果不想换行,则加end=" "

print("hello",end=" ")
print("world")

out:hello world
连续输出多个内容,用,将要输出的内容隔开

print("hello",”world")

out:hello world
②输入:input()
③转义字符:
\n:换行
\t:8个字符的空格
r:抑制转义
创建文件路径时不用r可以用\

三、变量

1)什么是变量?
变量来源于数学,是计算机语言中能储存计算结果或能表示值抽象概念。
可以被改变的量叫做变量(容器)。
常量:不能被改变的量(数据)。
2)如何定义变量?
①定义格式:变量名=初始化值
②命名规则:变量命名由字母、数字、下划线组成,不能以数字开头,并且对字母大小写敏感,不能使用关键字
③命名规范:a.不要将python关键字和函数名用做变量名,即不要使用python保留用于特殊用途的单词,如print
b.变量名应该既简短又具有描述性
c.慎用小写字母l和大写字母O
3)变量交换值
a.定义中间变量
b.算术方法
c.使用异或运算符
d.多目标赋值来交换

a = 3
b = 4

# c = a
# a = b
# b = c
# print(a,b)

# a = a+b
# b = a-b
# a = a-b
# print(a,b)

# a = a^b
# b = a^b
# a = a^b
# print(a,b)

四、标准数据类型

Number、String、List、Tuple、Sets、Dictionary
数字、字符串、列表、元组、集合、字典
数字、字符串、元组不可变。
列表和字典是可变的。
1)Number
支持int、float、bool、complex(复数)
int:

import math
a=3.8
print(math.ceil(a))#向上取整
print(math.floor(a))#向下取整

out:4
3
bool:把True和False定义成关键字,值是1和0,可以和数字相加
complex:实部+虚部,虚部以j或J结尾
2)算术运算符
加减乘除 取余% 取整// 乘方**
3)String
①概念:字符串是单个字符的字符的字符串的序列,其他类型的序列还包括列表和元组。
“”和“没有区别,仅仅是为了简化转义字符的使用。
②字符串格式化:a. .format
b. %

print("5+3={}".format(5+3))
print("5+3=%i"%(5+3))

out:8
8
③字符串长度
print(len(a))
④索引
可以反向索引

a = "hello"
print(a[0])
print(a[-1])

out:h
o
⑤切片(左闭右开)
print(a[:-1])为去掉最后一个字符

a = "hello"
print(a[1:4])
print(a[:-1])

out:ell
hell
⑥字符串的操作
a.合并:作为一个序列,字符串支持用+,+=进行拼接,或者用*进行重复。
print(a,b) 有空格
print(a+b) 没空格
b.删除空白
去两端a.strip()
去右边a.rstrip()
去左边a.lstrip()

a = " hello "
print(a.strip())
print(a.rstrip())
print(a.lstrip())

⑦字符串特点
不可变性——在创建后不能就地改变
⑧类型转换
显式转换

a = 3.14
print(int(a))

out:3

隐式转换

a = 3
b = 3.14
c = a+b
print(type(c))

out:
4)List
数据存储方式:
栈:先进后出(弹夹)
队列:先进先出(火车头)

列表是以栈的方式实现的
push添加
pop删除

#声明一个列表
a = [] 
a.append(1)
a.append("2")
print(a)
 #声明一个列表
b = list("abc")
print(b)
 #删除指定位置的元素
b.pop(0)
print(b)
#内置函数
print(len(b))
print(b.__len__())

out:
[1, ‘2’]
[‘a’, ‘b’, ‘c’]
[‘b’, ‘c’]
2
2

b = list("abc") #声明一个列表
print(b)
#删除指定位置的元素
# b.pop(0)
#查询某个元素
print(b[1])
#根据索引去修改元素
b[0],b[1] = "world" , "hello"
print(b)
#一次性修改
b[:] = [1,2]
print(b)

out:
[‘a’, ‘b’, ‘c’]
b
[‘world’, ‘hello’, ‘c’]
[1, 2]

#索引
a = [1,2,3,3,2,4]
print(a.index(2))
#从索引为3开始找
print(a.index(2,3))

#排序(改变原数据)
a.sort()
print(a)
a.sort(reverse=True)
print(a)
print("<<<<<<<<<<<<<<<<<<<<")
#排序(不会改变原数据)
b = sorted(a)
print(a)
print(b)

out:
1
4
[1, 2, 2, 3, 3, 4]
[4, 3, 3, 2, 2, 1]
<<<<<<<<<<<<<<<<<<<<
[1, 2, 3, 3, 2, 4]
[1, 2, 2, 3, 3, 4]

#得到数据的个数
a = [1,2,3,3,2,4]
print(a.count(3))
#插入数据
a.insert(1,5)#在索引为1的位置插入5
print(a)
#删除元素
a.remove(2)
#清空数据
a.clear()
print(a)

out:
2
[1, 5, 2, 3, 3, 2, 4]
[1, 5, 3, 3, 2, 4]
[]

a = list(range(10))
print(a)
b = list("abcd")
print(b)
#合并
print(a+b)#不修改a列表
a.extend(b)#修改a列表
print(a)
#反转(可以通过切片的方式反转)
a.reverse()#(会改变原数据)
print(a)
#切片
print(a[0:5:2])#步长为2
print(a[::-1])#逆序(不会改变原数据,但会生成新的列表,占用内存空间)

out:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[‘a’, ‘b’, ‘c’, ‘d’]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, ‘a’, ‘b’, ‘c’, ‘d’]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, ‘a’, ‘b’, ‘c’, ‘d’]
[‘d’, ‘c’, ‘b’, ‘a’, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
[‘d’, ‘b’, 9]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, ‘a’, ‘b’, ‘c’, ‘d’]

#翻转一个列表,是一个反向迭代器,通过next()迭代,不会改变原数据,也不生成新的列表,即不占用内存空间
b = reversed(a)
print(next(b))
print(a)

out:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
9
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

"""iterator迭代器()
iterable可迭代的(一般有索引,并且可以用for循环).
可迭代的东西要用迭代器去迭代
next方法可以迭代迭代器,列表是可迭代的(不是迭代器)
"""
c = [1,2,3,4,2,6]
d = iter(c)
print(next(d))
print(next(d))
print(next(d))
print(next(d))
print(next(d))
print(next(d))

out:
1
2
3
4
2
6

#删除语句del
c = [1,2,3,4,2,6]
del c[0]
print(c)

out:
[2, 3, 4, 2, 6]

#列表推导式(简化代码)
#[表达式for 变量 in 列表] 或者 [表达式for 变量 in 列表 if 条件]
c = [1,3,2,4,5,2,1]
d = list("121123123")
print([x**2 for x in c])
print([y for y in d])

#print((x**2 for x in c))生成器iterator,可以用next()迭代
a = (x**2 for x in c)
print(next(a))
print(next(a))

out:
[1, 9, 4, 16, 25, 4, 1]
[‘1’, ‘2’, ‘1’, ‘1’, ‘2’, ‘3’]
1
9
Pytorch入门深度学习(2)——AI语言Python(1)_第1张图片
附上我的xmind,有错误的话大家纠正~

你可能感兴趣的:(深度学习,AI,pytorch)