概述
Python基础学习笔记-第一章(讲师:李刚)
目录
Python基础学习笔记-第一章(讲师:李刚)
1.1 python的起源
第二节:数据类型(目标:使用Python变量/python的基础类型)
2.1 python的变量具有如下两个特征:
2.2 标识符规则(因为python中的模块、类、函数等等都需要起个名字,因此就出现了标识符规则,也就是我们的起名字的规则)
2.3 整型:
2.4 浮点数
2.4 复数
第三节:字符串入门(目标:基础用法/拼接/长字符串与原始字符串/字节串与字符串)
3.1 字符串的基础用法(字符串可以理解为很多字符连接成一串)
3.2 字符串的拼接
3.3 获取用户输入
3.4 长字符串(字符串很长,有时候甚至需要换行才能显示完全的字符串)
3.5 原始字符串(你写啥是啥,不会有任何意义)
3.6 字节串
第四节:字符串高级入门(目标:转义字符/字符串格式化/调用函数操作符)
4.1 转义字符(如果字符串本身包含反斜线,则使用\表示,其中\就是转义字符)
4.2 字符串格式化(使用%加转换说明符的方式执行字符串的格式化,Python支持如下所示转换字符)
4.3 字符串相关的方法(字符串本质就是由多个字符组成,字符串的本质就是不可变序列,因此序列以下的方法通用:)
第五节:运算符(上,目标:赋值运算符与扩展的赋值运算符/算术运算符/索引运算符)
5.1 赋值运算符是=,赋值运算符的作用是将等号右边的值,“装入”左边的变量
5.2 算术运算符
5.3 取余
5.4 乘方和开方
5.5 复杂的运算可以用math模块
5.6 扩展后的赋值运算符-赋值运算符可扩展成更强大的运算符
5.7 索引运算符(就是方括号)
第六节:运算符(下,目标:比较运算符和逻辑运算符/三目运算符/in运算符)
6.1 比较运算符
6.2 逻辑运算符
6.3 三目运算符:实际python没有真正意义上的三目运算符
6.4 in运算符:用于判断某个成员是否位于序列中
第七节:实例操作:简单计算器和进制转换
7.1 简单计算器
7.2 进制转换#要求用户随便输入一个整数#程序能够打印出该整数的十六进制、八进制、二进制形式
1.1 python的起源
- python由Guido于1989年年底处于娱乐目的进行开发的,基于ABC的教学语言进行开发的。优点:上手简单,非常像自然语言。
- python最早是2.x,2008年12月发布的3.0版本,但是由于Python3.0并不兼容Python2.0.导致很长一段时间Python2的用户不愿意升级到Python3.0(这一点真的是,我自己最初开始学的是2,切到3的时候各种不习惯),但是目前Python3.0已经较为普遍应用了,只是个别框架或者工具由于一些支持的问题不得不用Python2.0 。
- Python能够干啥?
- 运维自动化
- 数据分析、大数据处理
- 网络爬虫、数据抓取
- Web后端开发
- 机器学习、AI
- 课程内容(上+下)
- python基础:基本数据类型、str、列表、元素和字典、流程控制
- python函数编程
- python面向对象编程
- python数据库编程
- python并发编程
- python网络编程
- python数据分析
- python网络爬虫
- 学习方法
- 所有练习都认真练,熟能生巧。想不通的就问,不要留着问题过年~~(原谅我的一句话总结)
- 我喜欢一句话,送给在学习路上的你我(你想当一时的傻子,还是一辈子的傻子?)
第二节:数据类型(目标:使用Python变量/python的基础类型)
2.1 python的变量具有如下两个特征:
变量可以理解为一个容器,用来装数据。
- 变量无需声明即可直接赋值:对于一个不存在的变量赋值就相当于定义了一个新变量
- 变量的数据类型可以动态改变:同一个变量可以一会被赋值给整数值,一会被赋值为字符串
举例如下:
#变量无需声明即可直接赋值
a=2
#变量的数据类型可以动态改变,一会儿是int类型,一会儿是字符串类型
a="python基础"
运行结果;
- 题外话:如何理解变量?
变量(Variable)可以看成一个小箱子,专门用来“盛装”程序中的数据。每个变量都拥有独一无二的名字,通过变量的名字就能找到变量中的数据。
从底层看,程序中的数据最终都要放到内存(内存条)中,变量其实就是这块内存的名字。
和变量相对应的是常量(Constant),它们都是用来“盛装”数据的小箱子,不同的是:变量保存的数据可以被多次修改,而常量一旦保存某个数据之后就不能修改了。
2.2 标识符规则(因为python中的模块、类、函数等等都需要起个名字,因此就出现了标识符规则,也就是我们的起名字的规则)
- Python区分大小写
- 标识符可以由数字、字母、下划线(_)组成,首字母必须是数字或者字母,不能是下划线
- 标识符不能包含空格
- 标识符不能用Python的关键字,但是可以包含关键字。具体哪些是python的关键字那?
小声告诉你确定如何哪些是python的关键字:(在编辑器中执行如下代码)
import keyword
print(keyword.kwlist)
运行结果如下:(意思下面这些关键字,你都不能作为自己的标识符哦)
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
2.3整型:
- Python3的整形支持各种整数值,不管是小的整数值还是大的整数值,Python都能处理(Python2.x使用long处理数值过大的整数)
- 整型的四种标识形式:
- 十进制:最普通的整数就是十进制的整数。(0,1,2,3,4,5,6,7,8,9)
- 二进制:以0b或0B开头的整数就是二进制的整数。(0,1)
- 八进制:以(0o)或0O开头的就是八进制的整数。(0,1,2,3,4,5,6,7)
- 十六进制:以(0x)或0X开头的就是八进制的整数。(0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H)
进制转换不变明的可以参考链接:https://wenku.baidu.com/view/64e7f66f7e21af45b307a8ad.html
2.4 浮点数
- 浮点型数值用于保存带小数点的数值,Python的浮点标识形式:
- 十进制形式:这种形式就是平常简单的浮点数
- 科学技术形式:例如5.12e2(即5.12*10**2)
举例:
2.4 复数
- Python支持复数,复数的虚部用j或J表示:
- 如果需要在程序中对读书进行计算,可导入Python的cmath模块(c代表complex),该模块下包含了各种支持复数运算的函数
- python也支持复数的其他运算,但是这里不赘述
精度丢失:计算机底层计算造成的,可忽略不计
第三节:字符串入门(目标:基础用法/拼接/长字符串与原始字符串/字节串与字符串)
3.1 字符串的基础用法(字符串可以理解为很多字符连接成一串)
- 列字符串的内容几乎包含任何字符,英文字符也行,中文字符特殊字符都可以
- 既可以用单引号,也可以用双引号
- 若字符串包含了单引号或双引号,可采用以下方法进行处理:
- 使用不同的引号将字符串括起来,举例如下:
- 对引号进行转义,举例如下:
3.2 字符串的拼接
- 将两个字符串紧挨着写在一起,Python就会自动给其进行拼接(这种不是很理想)
- 使用+拼接两个字符串(建议使用这种方式进行拼接)
- 数值必须先用str()或者repr()函数进行转换
- repr()会以python表达式的形式来表示值(python表达式会认为字符串要带引号,引号只有在python控制台上输出才能看到,在工具中是看不到与str的差别的)
但是不能使用+号连接不同类型的数值,会报错的
具体操作如下
修改如下:
3.3 获取用户输入
- input()向用户生成一条提示信息,然后获取用户的输入内容
- python2.x的raw_input()相当于python3.x的input()
- python2.x的input()函数比较怪异
3.4 长字符串(字符串很长,有时候甚至需要换行才能显示完全的字符串)
- 长字符串使用三个引号(单引号、双引号都行)括起来
- Python还允许使用转移字符()对转换符转义,这定义长字符串
还可以写成:
3.5原始字符串(你写啥是啥,不会有任何意义)
- 原始字符串以r开头,原始字符串不会把反斜线当成特殊字符
- 如果字符串中包含引号,程序同样需要对引号进行转义(否则python同样无法对字符串的引号精确配对)
3.6 字节串
- 字符串(str)由多个字符组成,字节串(bytes)由字节组成
- bytes和str除了操作的数据单元不同之外,他们所有方法都基本相同,bytes也是不可变序列
- 字符串与字节串之间可以相互转换
- 将字符串转换成bytes(字节串)对象,可以有如下三种方法
1)如果字符串内容都是ASCII字符,可以通过直接在字符串之前添加b前缀来构建字节串值
2) 调用bytes()函数(其实是bytes的构造方法)将字符串按指定字符串转换成字节串,默认使用utf-8字符集
3) 调用字符串本身的encode()方法将字符串按指定字符集转换成字节串,默认使用utf-8字符集(就是将字符串编译成字节串)
方法一:
方法二:
方法三:
2.调用bytes对象的decode()方法将bytes对象解码成字符串(就是将字节码破译成字符串,哈哈)
第四节:字符串高级入门(目标:转义字符/字符串格式化/调用函数操作符)
4.1 转义字符(如果字符串本身包含反斜线,则使用\表示,其中\就是转义字符)
转义字符 | 说明 |
b | 退格符 |
n | 换行符 |
r | 回车符 |
t | 制表符 |
" | 双引号 |
' | 单引号 |
\ | 反斜线 |
在python中当需要打印时,需要根据部分格式进行展示字符串,此时就可以在打印时插入转义字符。不同的转义字符代表不同的键盘按钮的操作效果。以下面为例
4.2 字符串格式化(使用%加转换说明符的方式执行字符串的格式化,Python支持如下所示转换字符)
转换说明符 | 说明 |
d,i | 转换为带符号的十进制数 |
o | 转换为带符号的八进制数 |
x,X | 转换为带符号的十六进制数 |
e,E | 转换为科学计数法表示的浮点数(e小写,E小写) |
f,F | 转换为十进制浮点数 |
g | 智能选择f或e格式 |
G | 智能选择F或E格式 |
C | 转换为单字符(只接受整数或单字符字符串) |
r | 使用repr()将变量或表达式转换为字符串 |
s | 使用str()将变量或表达式转换为字符串 |
字符串格式化,就是在原先字符串中用转换说明符对将要进行格式化的字符或者数值进行占位并且对将要传入的参数进行按照转换说明符所代表的的意义进行格式化。而将要传入的参数则使用‘%’+值的方式按照从左到右的顺序进行传入
由上课推导出一个简单的进制转换器
核对计算器中的数值
4.3 字符串相关的方法(字符串本质就是由多个字符组成,字符串的本质就是不可变序列,因此序列以下的方法通用:)
-
基于索引的计算(就是根据下标进行计算)
-
in运算
-
len()函数
-
min()max()函数
- 基于索引的计算,就是根据下标进行计算。(根据下标进行计算索引,索引一般左边从0开始计算,右边从-1开始进行计算)
- in是判断指定字符串中是否包含指定的字符串
- len()获取字符串的长度
- min()计算里面最小的、max()计算里面最大的。如果是字符串传入则按照先将字符转换为ASCII码,然后计算按照ASCII码的数值取出其最小的数值/最大的数值
- 将指定字符串的字母进行大小写转换(upper()--转换为大写字母,lower()--转换为小写字母,title()--每个单词(按照是否有间隔进行区分)首字母大写,其他均小写)
- 题外话:如何知道某个类都有哪些方法?(以双斜线开头的都是被隐藏的方法可以不看,其他都可以用)
想看某个方法的详细介绍,则可以如下操作:(给help中传入类名.方法名)
- 删除空白
str.lstrip() #删除字符串中左边的空白 str.rstrip() #删除字符串中右边的空白 str.strip() #删除字符串中左右两边的空白
- 查找替换相关方法
#查找和替换 str='alod sdids ' print(str.startswith('s')) #判断字符串是否以指定子串开头 print(str.endswith(' ')) #判断字符串是否以指定子串结尾 print(str.find('s')) #查找指定子串在字符串中出现的位置,如果没有找到指定的子串,返回-1。如果找到只返回第一个子串的下标索引 print(str.index('d')) #查找指定子串在字符串中出现的位置,如果没有找到指定的子串,返回ValueErroe错误。如果找到只返回第一个子串的下标索引 print(str.replace('s','2')) #使用指定子串替换字符串中所有匹配的目标子串
- 分割和拼接(splie进行分割,join进行拼接)
第五节:运算符(上,目标:赋值运算符与扩展的赋值运算符/算术运算符/索引运算符)
5.1 赋值运算符是=,赋值运算符的作用是将等号右边的值,“装入”左边的变量
-
一般情况下,如果右边是表达式,则先计算右边表达式的值,然后将这个值放入左边的变量中去
5.2 算术运算符
- +、-、*、/、//(取整)、%、**(求乘方,也可以算开方)
- print(div) #取商的整数部分,会直接去掉结果的小数部分,返回结果的整数部分以浮点格式展示
5.3 取余
5.4 乘方和开方
5.5 复杂的运算可以用math模块
5.6 扩展后的赋值运算符-赋值运算符可扩展成更强大的运算符
- +=:对于x+=y,即对应于x=x+y
- -=:对于x-=y,即对应于x=x-y
- *=:对于x*=y,即对应于x=x*y
- /=:对于x/=y,即对应于x=x/y
- //=:对于x//=y,即对应于x=x//y
- %=:对于x%=y,即对应于x=x%y
- **=:对于x**=y,即对应于x=x**y
5.7 索引运算符(就是方括号)
- 方括号中可使用单个索引值,用于访问单个元素
- 方括号中也可以使用索引范围,使用索引范围时,还可以指定步长
索引字符串对所有的序列(序列:字符串、字节串、列表、元组)都支持
第六节:运算符(下,目标:比较运算符和逻辑运算符/三目运算符/in运算符)
6.1 比较运算符
- >、>=:大于、大于或等于
- <、<=:小于、小于或等于
- ==:等于
- !=:不等于
- is(is not):判断两个变量引用的对象是否相同(不相同)。如果相同(不相同)返回True,否则返回False
代码:
a=int(input("请输入a")) b=int(input("请输入b")) if a>b: print("a大于b") elif a<b: print(print("a小于b")) elif a==b: print(print("a等于b")) else: print("输入无效")
6.2 逻辑运算符
- and:与,任一操作数中为False,结果返回False
- or:或,任一操作数中为True,结果返回True
- not:非,只需要一个操作数,如果操作数为True,,非之后,则结果返回False;如果操作数为False,非之后,则返回结果为True
6.3 三目运算符:实际python没有真正意义上的三目运算符
-
python使用if表达式代替三目运算符
-
True_statements if expression else False_statements (如果if后面的语句为真,则执行True_statements,否则执行else后面的语句)
-
if语句支持嵌套
也可以这样写:
- True_statements 可放置多条语句。支持两种放置方式。
多条语句以英文逗号隔开:每条语句都会执行,程序返回多条语句的返回值组合成元组
多条语句以英文分号隔开:每条语句都会执行,程序只返回第一条语句的返回值
6.4 in运算符:用于判断某个成员是否位于序列中
第七节:实例操作:简单计算器和进制转换
7.1 简单计算器
要求:
#要求用户输入两个数,接下来程序第一行打印出两个数的和 #第二行打印两个数的差,第三行打印两个数的乘积
7.2 进制转换
#要求用户随便输入一个整数
#程序能够打印出该整数的十六进制、八进制、二进制形式
实现思路(第一种用转换函数,如:hex()-十六进制oct-八进制bin()-二进制 第二种用字符串格式化)
这是作者报名后对于李刚老师讲解的内容做的一次笔记整理,希望对初学的人有用(对我自己系统化的学习python也是一种鞭策)。测试这个行业充满了坎坷和瓶颈。每一次当我处于瓶颈期我都想找一个伙伴进行沟通和交流,但是emmmmm,受限于个人交友圈子,所以都很有限。因此我希望我自己可以成为别人的一缕灵光~~~嘿嘿嘿。有问题可以随时留言哦,看到即回复
学习python不懂的可以参考的资料连接:
1、菜鸟联盟:https://www.runoob.com/python3/python3-tutorial.html
2、W3C school:https://www.w3cschool.cn/python3/
3、C语言中文网 http://c.biancheng.net/python/variable/ 初学推荐******
最后
以上就是瘦瘦心情为你收集整理的Python基础学习笔记-第一章Python基础学习笔记-第一章(讲师:李刚)的全部内容,希望文章能够帮你解决Python基础学习笔记-第一章Python基础学习笔记-第一章(讲师:李刚)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复