《从菜鸟到大师-杨老师课程笔记》Python工程师之 01

一.文章出处

本文主要学习参考 杨老师的教程

更加详细请转至原文出处:https://blog.csdn.net/Eastmount/article/details/108172132

主要是对老师的课程学习,笔记,记忆。希望多多支持杨老师

Python

Python程序员成长路线图,包括:基础语法–>语感训练–>课题练习–>分方向继续学习–>中级程序员–>拓展深度和广度–>高级程序员。

在这里插入图片描述
老师推荐课程:MOOC北理工嵩天老师的视频和runoob语法

https://www.icourse163.org/course/BIT-268001
https://www.runoob.com/python/python-intro.html

爬虫学习不可或缺,主要学习以下的爬虫方向。

Urllib、Requests、BeautifulSoup、XPath、Selenium、Scrapy、分布式爬虫

Python可视化分析(词云)、微信操作、邮箱发送等功能。

  • 人工智能方向:包括机器学习(回归 | 聚类 | 分类)、深度学习(TensorFlow | Keras | Pytorch)学习,建议结合实际科研或项目进行深入研究
  • 图像识别方向:包括图像处理、OpenCV、模式识别、机器学习、深度学习、目标检测学习,也建议结合实际科研或项目进行深入研究
  • 其他方向学习:Web网站开发、网络安全、自动化测试、应用程序编写

老师说的话十分的刻骨

学习路上没有捷径,只有坚持,但你却能通过Python不断提升你的学习兴趣
If not now, when? If not me, who?
如果不是为了自己奋斗,又是为谁;如果不是现在奋斗,什么时候开始呢?

自己常常用这句话激励自己,每当自己学习久了,确实需要缓一缓,累了就告诫自己要努力,时光有限,不负韶华。

三更灯火五更鸡,正是男儿读书时
黑发不知勤学早,白首方悔读书迟

二.基础语法

2.1缩进与注释
缩进

在python之中用缩进来表明代码之间的层次从属,关系。一般4个空格就表示一个缩进。等于一个tab

Python引号

python中的引号有三种分别是单个引号,双引号,三个引号。单引号开始就要单引号结束,双引号也相同。但是这两者的内容不能够换行,三引号里面的内容可以换行。

word1 = '你好'
word2 = "Hello World"
word3 = '''
	你好,
	我好,
	大家好。
'''
print(word1,word2,word3)

注释
注释的用来揭示代码的含义,一般注释分为两种,一种是行注释

#我是注释
print('hello world') #我也是行注释

另一种就是块注释,块注释一般是用来解释整体代码的运行目的和注意事项,所以内容可以能比较长,一般用三引号’’’ ‘’’’

'''
解释代码作用
'''
print('hello world')

多行语句
Python语言中代码很长不容易阅读的时候,可以将用反斜杠将代码分行,一行被分为两行后,人方便阅读,计算机仍然将其作为一行代码执行

word1 = '你好'
word2 = '我好'
word3 = word1 + \
   			word2
   			


语句中包含 [], {} 或 () 括号就不需要使用多行连接符。如下实例:

list1 = ['hello',
   		'word']

2.变量与常量

变量
变量的命名规则:

  • 变量名是由英文的大小写、数字和下划线(_)组合而成的。
  • 变量名的开始的第一个字符必须是字母或下划线(_),不可以是数字开头。
  • Python中的变量是区分大小写的,只要长得不一样那就是两个不同的变量。
  • 在Python中对变量进行赋值时,使用单引号和双引号是一样的效果。
    关键词不能用于声明变量,如下:

‘and’, ‘as’, ‘assert’, ‘break’, ‘class’, ‘continue’, ‘def’,
‘del’, ‘elif’, ‘else’, ‘except’, ‘exec’, ‘finally’, ‘for’, ‘from’,
‘global’, ‘if’, ‘import’, ‘in’, ‘is’, ‘lambda’, ‘not’, ‘or’,
‘pass’, ‘print’, ‘raise’, ‘return’, ‘try’, ‘while’, ‘with’, ‘yield’

常量
常量是指程序中值不发生改变的元素,一旦初始化后就不能对其修改的固定值,它是内存中用来保存固定值的单元。

3.输入与输出

输出
输出使用print()函数实现。

如果想要输出多个值,多个值之间用英文逗号连接,print(a,b,c)

Python的格式化输出,可以借助format函数实现调用传值

word1 = '你好'
word2 = "Hello World"
word3 = '''
	你好,
	我好,
	大家好。
'''
print(word1,word2,word3)
print(format(word1))

在这里插入图片描述

“6.2f”表示输出6位数值的浮点数,小数点后精确到两位,输出值的最后一位采用四舍五入方式计算。
“.2%”表示输出百分数,保留两位有效数字。
如果想输出整数直接使用“.0f”即可。


输入
Python的输入的input()函数。

  • input()
    input()函数从控制台获取用户输入的值,格式为:<变量>=input(<提示性文字>)。获取的输入结果为用户输入的字符串或值,并保存在变量中。输入字符串和整数实例如下,其中type()函数用于查找变量的类型。
str1 = input("input:")
input:"I am a teacher"
print(str1)
I am a teacher

4.赋值与表达式

赋值
编程语言中的等号’=‘表示的是赋值操作,’==‘才是等于,例如给一个变量赋值可以是 temp = ‘hello’。

Python中支持对多个变量的复制,表达式如下:

  • <变量1>,<变量2>,…,<变量n> = <表达式1>,<表达式2>,…,

先运算右侧N个表达式,然后同时将表达式结果赋给左侧变量。举例如下:

a,b,c = 10,20,(10+20)/2
print(a,b,c)

果然是先算右边的
在这里插入图片描述

表达式
表达式是程序中产生或计算新数据值的一行代码,。定义表达式注意一下几点:

  • 使用变量之前必须对其赋值,使用赋值表达式对其赋值。
  • 表达式也需要遵循句首缩进规律,且不能改变其空格数量。
  • 表达式中可以适量增加空格,使程序可读性更高,但空格不能分割变量的命名方式,比如“a = b + c”,在运算符之间适当增加空格。

四.数据类型

1.数字类型

Python常见的数字类型包括整数类型、浮点数类型、复数类型。

  • 整数类型:对应的数学中的整数,其返回类型为int型,如10、25等;long为长整型,也可以代表八进制和十六进制。

  • 浮点数类型:带有小数点的数字,返回类型为float型。

  • 复数类型:Python复数分为两部分,形如a + bj,其中a为实部,b为虚部,返回类型为complex,例如-12.3 + 8j。复数可以通过.real获取实部数据,.imag获取虚部数据。

>>> z = -12.3 + 8j
>>> print(z, type(z))
(-12.3+8j) <type 'complex'>
>>> print(z.real, z.imag)
-12.3   8.0

Python中数字类型可以相互转换:

  • 浮点型用int()函数转换为整数,如int(3.14)返回结果3。
  • 整数调用float()转换为小数,如float(3),返回结果是3.0。
  • 浮点数调用complex()函数转换为复数。
    在这里插入图片描述

2.字符串类型

字符串类型在Python中是指需要用单引号或双引号括起来的一个字符或字符串。该类型调用type(‘Python’)返回的结果是str类型。一般记为:

  • s=“a1a2···an”(n>=0)

字符串表示一个字符的序列,其最左端表示字符串的起始位置,下标为0,然后依次递增。字符串对应的编号称为“索引”,比如str1=‘Python’,则str1[0]获取第一个字符,即“P”字母,并且字符串提供了一些操作和函数共用户使用,比如len(str1)计算字符串长度,其返回结果为6。

counter = 100         #赋值整型变量
miles = 1000.0        #浮点型
name = "Eastmount"    #字符串


python的字串列表有两种取值顺序:

  • 从左到右索引默认0开始的,最大范围是字符串长度少1
  • 从右到左索引默认-1开始的,最大范围是字符串开头

在这里插入图片描述

获取一段子字符串,可以使用切片操作 [头下标:尾下标] 来截取相应的字符串,其中下标是从0开始算起,可以是正数或负数,下标可以为空表示取到头或尾。[头下标:尾下标] 获取的子字符串包含头下标的字符,但不包含尾下标的字符。

注意包前不包后

比如:

s = 'abcdef'
s[1:5]
>>> 'bcde'

3.列表类型

列表是在中括号([ ])中用逗号分隔的元素集合,列表中的元素可以通过索引进行单个访问,列表的每个元素之间是有序的。例如:

list1 = [1, 2, 3, 4, 5]
print(list1)
>>> [1, 2, 3, 4, 5]
print(list1[0])
>>> 1
print(type(list1))
>>> <type 'list'>
>>> 
list2 = ['I', 'am', 'a', 'teacher']
print(list2)
>>> ['I', 'am', 'a', 'teacher']
print(list2[3])
>>> teacher

列表可是复合数据类型。可以是字符、数字、字符串甚至可以包含列表(即嵌套)多种数据类型在一个列表之中。列表用 [ ] 标识。

列表也支持切片操作
在这里插入图片描述

列表支持 + 的拼接操作,以及对于*的复制操作

 list1 = [1, 2, 3, 4, 5]
 list2 = [6, 7, 8]
 list3 = [1,1]
 print(list1+list2)
>>> [1, 2, 3, 4, 5, 6, 7, 8]
 print(list3*3)
>>> [1,1,1,1,1,1,]
#列表的切片操作
print(list1[2:4])
>>> [3, 4]

在这里插入图片描述


4.元组类型

元组是和列表类似的一种数据类型,它采用小括号定义一个或多个元素的集合,其返回类型为tuple。示例如下:

t1 = (12, 34, 'Python')
print(t1)
>>> (12, 34, 'Python')
print(type(t1))
>>> <type 'tuple'>
print(t1[2])
>>> Python

注意:可以定义空的元组,如t2=(),元组可以通过索引访问,比如上述代码t1[2]访问第3个元素,即“Python”。当元组定义后就不能进行更改,也不能删除。

5.字典类型

字典(dictionary)是除列表以外python之中最灵活的内置数据结构类型。列表是有序的对象集合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

字典是针对非序列集合而提供的,字典用"{ }"标识,由键值对(< Key > < Value >)组成,字典是键值对的集合,其类型为dict。键是字典的索引,一个键对应着一个值,通过键值可查找字典中的信息,这个过程叫做映射。

示例如下,通过键值对可以获取“4”对应的“Guiyang”。

dic = {"1":"Beijing","2":"Shanghai","3":"Chengdu","4":"Guiyang"}
print(dic)
>>> {'1': 'Beijing', '3': 'Chengdu', '2': 'Shanghai', '4': 'Guiyang'}
print(dic["4"])
>>> Guiyang
>>> 12345

字典与列表主要区别:

  • 列表中的元素是顺序排列的,字典中的数据是无序排列的。
  • 它们的映射方式不同,列表通过地址映射到值,字典通过键值对映射到值。
  • 列表只能通过数字下标或索引访问,字典可以用各种对象类型作为键访问。

字典键值keys()和values()用法以及items()方法

在这里插入图片描述
可以发现items返回对象是一个列表嵌套的每个映射一个元组。可以遍历取值。


五.字符串操作

字符串的操作非常重要。

字符串支持格式化输出,需要引入操作符百分号(%)实现。

在百分号的左侧放置一个格式化字符串,左边主要是占位,右侧放置期望的格式化值,也可是元组和字典。例如:

print("Hi!My Name is %s,I am %d years old and %f pounds heavy."%("YXZ", 26, 55.5))
Hi!My Name is YXZ,I am 26 years old and 55.500000 pounds heavy.

字符串(%s)、整数(%d)、浮点数(%s)

基础操作

字符串的基本操作包括求长度、拼接、重复操作、索引、切片等等。假设str1字符串为“hello”,str2字符串为“world”,len(str1)计算字符串长度为;str1+str2拼接后的结果为“helloworld”;str1*3字符串重复结果为“hellohellohello”。

字符串切片定义为s[i:j:step],其中step表示切片的方向,默认起点从0开始,终点不写切到最后。

find()函数

  • 用法:从字符串中查找子字符串,返回值为子串所在位置的最左端索引。返回值是索引!!!

如果没有找到则返回-1。

扩展的rfind()方法表示从右往左方向查找,常用于正则表达式爬取数据。

  • 示例:获取字符串“def”的位置,位于第3个位置(从0开始计数)。
str1 = 'abcdefghijklmn'
num = str1.find('def')
print num
>>> # 3

split()函数(字符串变为列表)

  • 用法:字符串分割函数,将字符串分割成序列,返回分割后的字符串序列。
  • 注意 split 是将字符串 切分为一个个元素,存在列表中。最终的返回对象是列表
  • 如果不提供分割符,程序将会把所有空格作为分隔符。

在这里插入图片描述

strip()函数

  • 用法:该函数用于去除开头和结尾的空格字符(不包含字符串内部的空格),同时S.strip([chars])可去除指定字符。

  • 扩展的函数lstrip()去除字符串开始(最左边)的所有空格,rstrip()去除字符串尾部(最右边)的所有空格。

  • 示例:去除字符串前后两端的空格和换行符号。

在这里插入图片描述

join()函数(列表变字符串)

  • 用法:通过某个字符拼接序列中的字符串元素,队列中元素必须是字符串,返回一个拼接好的字符串函数。

  • 将列表中的元素,拼接在一起,返回的是一个字符串。

  • join()函数是split()函数的逆方法。

  • 示例:采用空格(’ ')拼接字符串[‘I’,‘am’,‘a’,‘student’],代码及输出结果如下。

num = ['I','am','a','student']
sep = ' '
str1 = sep.join(num)
print str1
>>> I am a student
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

驭风少年君

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值