PaddlePaddle-深度学习入门之Python小白逆袭大神系列(一)

简介

我们计算机系统结构专业课的老师为我们推荐了一门免费课程,公众号“百度AI”上发布的百度深度学习7天打卡营(Baidu AI Studio 官网也有发布),这个是飞桨深度学习学院主办的系列课程第六期(只恨才发现这么好的课程),本期的主要实现内容是用Python+AI爬取数据,识别“青你2”小姐姐的高颜值,并对爱奇艺的相关评论进行词云分析,可以说这是我目前为止参加过的最好的一次Python与深度学习课程。从此篇博客开始,我便开始记录一些学习干货,希望对Python与深度学习小白有所帮助。
先附上Baidu AI Studio 的网页链接:https://aistudio.baidu.com/aistudio/index

飞桨(paddlepaddle)是百度开发的源于产业实践的开源深度学习平台,飞桨致力于让深度学习技术的创新与应用更简单,官网链接:https://www.paddlepaddle.org.cn/

Python基础

1.print输出操作

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

Hello World!

2.条件判断if

#2.条件判断if
if 1 == 2: # 如果 if 跟随的条件为 假 那么不执行属于if 的语句,然后寻找 else
    print("假的")
else: # 寻找到 else 之后 执行属于else中的语句
    print("1==2是假的")

1==2是假的

3.循环操作—for

#3.循环操作---for
for i in range(5):
    print(i)

0 1 2 3 4

3.循环操作—while

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

4950

4.break、continue、pass
(1)break

#4.break、continue、pass
#break语句可以跳出 for 和 while 的循环体
n = 1
while n <= 100:
    if n > 10:
        break
    print(n)
    n += 1

1 2 3 4 5 6 7 8 9 10

(2)continue

#continue语句跳过当前循环,直接进行下一轮循环
n = 1
while n < 10:
    n = n + 1
    if n % 2 == 0:
        continue
    print(n)

3 5 7 9
(3)pass

#pass是空语句,一般用做占位语句,不做任何事情
 for letter in 'Room':
    if letter == 'o':
        pass
        print('pass')
    print(letter)

R pass o pass o m

5.数据类型—Number(数字)

#5.数据类型---Number(数字)
#Python支持int, float, complex三种不同的数字类型
a = 3
b = 3.14
c = 3 + 4j
print(type(a), type(b), type(c))

<class 'int'> <class 'float'> <class 'complex'>

5.数据类型—String(字符串)

Python中的字符串可以使用单引号、双引号和三引号(三个单引号或三个双引号)括起来,使用反斜杠\转义特殊字符
Python3源码文件默认以UTF-8编码,所有字符串都是unicode字符串
支持字符串拼接、截取等多种运算

#5.数据类型---String(字符串)
#支持字符串拼接、截取等多种运算
a = "Hello"
b = "Python"
print("a + b 输出结果:", a + b)
#print("a[1:4] 输出结果:", a[1:4])

a + b 输出结果: HelloPython

5.数据类型—List(列表)

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

#5.数据类型---List(列表)
#列表是写在方括号 [] 之间、用逗号分隔开的元素列表。
#列表索引值以 0 为开始值,-1 为从末尾的开始位置。
list = ['abcd', 786 , 2.23, 'runoob', 70.2]
print(list[1:3])

#tinylist = [123, 'runoob']
#print(list + tinylist)

[786, 2.23]

5.数据类型—Tuple(元组)

tuple与list类似,不同之处在于tuple的元素不能修改。tuple写在小括号里,元素之间用逗号隔开。
元组的元素不可变,但可以包含可变对象,如list。
注意:定义一个只有1个元素的tuple,必须加逗号。

#5.数据类型---Tuple(元组)
#tuple与list类似,不同之处在于tuple的元素不能修改。tuple写在小括号里,元素之间用逗号隔开。
#元组的元素不可变,但可以包含可变对象,如list。
t1 = ('abcd', 786 , 2.23, 'runoob', 70.2)
t2 = (1, )
t3 = ('a', 'b', ['A', 'B'])
t3[2][0] = 'X'
print(t3)

('a', 'b', ['X', 'B'])

5.数据类型—dict(字典)

字典是无序的对象集合,使用键-值(key-value)存储,具有极快的查找速度。
键(key)必须使用不可变类型。
同一个字典中,键(key)必须是唯一的。

#5.数据类型---dict(字典)
#字典是无序的对象集合,使用键-值(key-value)存储,具有极快的查找速度。
#键(key)必须使用不可变类型。
#同一个字典中,键(key)必须是唯一的。
d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
print(d['Michael'])

95

5.数据类型—set(集合)

set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。
set是无序的,重复元素在set中自动被过滤。
set可以看成数学意义上的无序和无重复元素的集合,因此,两个set可以做数学意义上的交集(&)、并集(|)、差集(-)等操作。

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

{1, 2, 3}

6.遍历某一路径下文件夹和文件的os.walk函数的简单介绍:

import os
path = r'文件路径内容'
for dirpath,dirnames,filenames in os.walk(path):
    print(dirpath,dirnames,filenames)
    for name in filenames:
    	********

这里dirpath是当前正在遍历的文件夹,dirnames是当前文件夹下所有目录的名字,filenames是当前文件夹中所有文件的名字。所以要遍历path路径下所有的文件,还要一层for循环(如上)。

作业测试

学习了以上文档,大家对python基础想必有了不少了解,下面用两个作业样例测试一下自己吧:

作业一:输出 9*9 乘法口诀表(注意格式)
注意:提交作业时要有代码执行输出结果。

作业二:查找特定名称文件
遍历”Day1-homework”目录下文件;
找到文件名包含“2020”的文件;
将文件名保存到数组result中;
按照序号、文件名分行打印输出。
注意:提交作业时要有代码执行输出结果。
”Day1-homework”目录文件夹结构为:
在这里插入图片描述
其中每个子文件夹之下还有许多子文件夹和文件。
在这里插入图片描述

作业答案

1.题目一

#作业1测试
def table():
    #在这里写下您的乘法口诀表代码吧!
    for i in range(1,10):
        for j in range(1,i+1):
            print(f"{j}×{i}={i*j}",end="\t")
        print("") #换行       
if __name__ == '__main__':
    table()

输出结果:

1×1=1	
1×2=2	2×2=4	
1×3=3	2×3=6	3×3=9	
1×4=4	2×4=8	3×4=12	4×4=16	
1×5=5	2×5=10	3×5=15	4×5=20	5×5=25	
1×6=6	2×6=12	3×6=18	4×6=24	5×6=30	6×6=36	
1×7=7	2×7=14	3×7=21	4×7=28	5×7=35	6×7=42	7×7=49	
1×8=8	2×8=16	3×8=24	4×8=32	5×8=40	6×8=48	7×8=56	8×8=64	
1×9=9	2×9=18	3×9=27	4×9=36	5×9=45	6×9=54	7×9=63	8×9=72	9×9=81	

2.题目二

#导入OS模块
import os
#待搜索的目录路径
path = "Day1-homework"
#待搜索的名称
filename = "2020"
#定义保存结果的数组
result = []
def findfiles():    
	#在这里写下您的查找文件代码吧!
	number =1    
	for root, dirs, files in os.walk(path):        
		#print("当前正在遍历的文件夹:%s"%root)        
		#print("当前文件夹下所有目录的名字:%s"%str(dirs))       
		print("当前文件夹中所有文件的名字:%s"%str(files))
		print("********************************")        				 			        
		for name in files:            
			if filename in name:
		        result.append([number,os.path.join(root,name)])               			               
			number += 1    
	for a in result:        
		print(result)
if __name__ == '__main__':    
findfiles()    

输出结果:

[[1, 'Day1-homework/18/182020.doc'], [2, 'Day1-homework/4/22/04:22:2020.txt'], [3, 'Day1-homework/26/26/new2020.txt']]

print部分的输出样例:

当前正在遍历的文件夹:Day1-homework
当前正在遍历的文件夹:['18', '4', '26', '1']
当前正在遍历的文件夹:[]
********************************
当前正在遍历的文件夹:Day1-homework/18
当前正在遍历的文件夹:[]
当前正在遍历的文件夹:['182020.doc']
原创文章 6 获赞 26 访问量 586

猜你喜欢

转载自blog.csdn.net/XiaoFengsen/article/details/105828723