000 愉快的开始

视频地址: https://www.bilibili.com/video/BV1xs411Q799?p=1

python跨平台

应用范围:

  • 操作系统、WEB、3D动画、企业应用、云计算

大家可以学到什么:

  • Python3的所有常用语法、面向对象编程思维、运用模块进行编程、游戏编程、计算机仿真

Python 是脚本语言

脚本语言(Scripting language)是电脑编程语言,因此也能让开发者藉以编写出让电脑听命行事的程序。以简单的方式快速完成某些复杂的事情通常是创造脚本语言的重要原则,基于这项原则,使得脚本语言通常比C 语言、C++语言 或 Java 之类的系统编程语言要简单容易。也让脚本语言另有一些属于脚本语言的特性:

  • 语法和结构通常比较简单
  • 学习和使用通常比较简单
  • 通常以容易修改程序的“解释”作为运行方式,而不需要“编译”
  • 程序的开发产能优于运行性能

一个脚本可以使得本来要用键盘进行的相互式操作自动化。一个 Shell 脚本主要由原本需要在命令行输入的命令组成,或在一个文本编辑器中,用户可以使用脚本来把一些常用的操作组合成一组串行。主要用来书写这种脚本的语言叫做脚本语言。很多脚本语言实际上已经超过简单的用户命令串行的指令,还可以编写更复杂的程序。

IDLE 是一个 Python Shell,shell 的意思就是外壳,基本上来说,就是一个通过键入文本与程序交互的途径!像我们 Windows 那个 cmd 窗口,像 Linux 那个黑乎乎的命令窗口,他们都是 shell,利用他们,我们就可以给操作系统下达命令。同样的,我们可以利用 IDLE 这个 shell 与 Python 进行互动。

注:在 Python 中不能把两个完全不同的东西加在一起,比如说数字和文本

如果我需要在一个字符串中嵌入一个双引号,正确的做法是:你可以利用反斜杠(\)对双引号转义:\",
或者用单引号引起这个字符串

001 我和Python的第一次亲密接触

安装Python

下载地址: http://www.python.org, 这里下载最新版3.9.5

从IDLE启动Python

IDLE是一个Python Shell,shell的意思就是“外壳”,基本上来说,就是一个通过键入文本与程序交互的途径!

我们看到>>>这个提示符,Ta的含义是告诉你,Python已经准备好了,在等着你键入Python指令呢。

好了,大家试试在IDLE里输入:


输入前妻系列和小三系列都是错误的

我们尝试点儿新的东西,我们输入

>>>print(5+3)


或者直接输入

>>>5+3


•不妨在试试计算

>>>1234567890987654321*987654321012345678

还有我们可以将两个字符串“相加”在一起,这种做法叫做拼接字符串


•先试试

>>> print("I love fishc.com"*2)


•和

>>> print("I love fishc.com\n"* 4)


既然乘法可以,那我们不妨试试加法

>>> print("I love fishc.com\n"+4)

由此可见,加法是不行的

002 用Python设计第一个游戏

实例1:

print('----------我爱鱼C工作室----------')
temp=input("不妨碍一下小甲鱼现在心里想的是哪个数字:")
guess=int(temp)
if guess==8:print("我草,你是小甲鱼心里的蛔虫吗? !")print("哼,猜中了也没有奖励! ")
else:print("猜错啦,小甲鱼现在心里想的是8 !")
print("游戏结果,不玩啦^_^")


BIF 就是 Built-in Functions,内置函数。为了方便程序员快速编写脚本程序(脚本就是要编程速度快快快!!!),Python 提供了非常丰富的内置函数,我们只需要直接调用即可,例如 print() 的功能是“打印到屏幕”,input() 的作用是接收用户输入。

在 Python 或 IDLE 中,输入 dir(__builtins__) 可以看到 Python 提供的内置方法列表(注意,builtins 前后是两个下划线哦)其中小写的就是 BIF。如果想具体查看某个BIF 的功能,比如 input(),可以在 shell 中输入 help(input),就会得到这个 BIF 的功能描述。哦,答案应该是 68 个

>>> dir(__builtins__)  查看 Python 提供的内置方法列表

>>> help(input)  查看input的具体使用说明


注:

  • 只有当标识符已经赋值后( Python 的变量是不用先声明的)才能在代码中使用,未赋值的标识符直接使用会导致运行时错误
  • 缩进是 Python 的灵魂
  • Python 不允许 if 条件中赋值,所以 if c = 1: 会报错!

003 小插曲之变量和字符串

插曲之变量

  • 变量名就像我们现实社会的名字,把一个值赋值给一个名字时,Ta会存储在内存中,称之为变量(variable),在大多数语言中,都把这种行为称为给变量赋值把值存储在变量中
  • 不过Python与大多数其他计算机语言的做法稍有不同,Ta并不是把值存储在变量中,而更像是把名字贴在值的上边。
  • 所以有些Python程序员会说“Python”没有“变量”,只有“名字”。


需要注意的地方

  1. 在使用变量之前,需要对其先赋值。

  2. 变量名可以包括字母、数字、下划线,但变量名不能以数字开头。

  3. 字母可以是大写或小写,但大小写是不同的。也就是说fishc和FishC对于Python来说是完全不同的两个名字

  4. 等号(=)是赋值的意思,左边是名字,右边是值,不可写反咯。

  5. 变量的命名理论可以取任何合法的名字,但作为一个优秀的程序员,请将尽量给变量取一个专业点儿的名字:

插曲之字符串

到目前为止,我们所认知的字符串就是引号内的一切东西,我们也把字符串叫做文本,文本和数字是截然不同的,咱看例子:>>>5+8

>>> 5+8
>>> '5'+'8'

要告诉Python你在创建一个字符串,就要在字符两边加上引号,可以是单引号或者双引号,Python女士表示不挑剔。但必须成对,你不能一边单引号,另一边却花心的用上双引号结尾。

  • 如果字符串中需要出现单引号或双引号怎么办?

    例如我想打印字符串:Let’s go!

  • 有两种方法,第一种比较常用,就是使用我们的转义符号(\)对字符串中的引号进行转义:

原始字符串

  • 好像反斜杠是一个好东西,但不妨试试打印:
>>> str = 'C:\now'

  • 我们可以用反斜杠对自身进行转义:
>>> str = 'C:\\now'

  • 原始字符串的使用非常简单,只需要在字符串前边加一个英文字母r即可(则都会以原始字符串输出):
>>>str = r'C:\now'

长字符串

  • 如果希望得到一个跨越多行的字符串,例如:
我爱鱼C,
正如我爱小甲鱼,
他那呱唧呱唧
呱唧呱唧
呱唧呱唧的声音,
总缠绕于我的脑海,
久久不肯散去......

这我们就需要使用到三重引号字符串!

004 改进我们的小游戏


条件分支

代码磁贴

组装磁贴

实例1:

  • 第一个改进要求:猜错的时候程序提示用户当前的输入比答案大了还是小了
print('----------我爱鱼C工作室----------')
temp=input("不妨碍一下小甲鱼现在心里想的是哪个数字:")
guess=int(temp)
if guess==8:print("我草,你是小甲鱼心里的蛔虫吗? !")print("哼,猜中了也没有奖励! ")
else:if guess>8:print("哥,大了,大了~~~")else:print("嘿,小了,小了~~~")
print("游戏结果,不玩啦^_^")

实例2:

  • 第二个改进要求:程序应该提供多次机会给用户猜测,专业点来讲就是程序需要重复运行某些代码。
print('----------我爱鱼C工作室----------')
temp=input("不妨碍一下小甲鱼现在心里想的是哪个数字:")
guess=int(temp)
while guess !=8:temp=input("哎呀,猜错了,请重新输入吧:")guess=int(temp)if guess==8:print("我草,你是小甲鱼心里的蛔虫吗? !")print("哼,猜中了也没有奖励! ")else:if guess>8:print("哥,大了,大了~~~")else:print("嘿,小了,小了~~~")print("游戏结果,不玩啦^_^")

实例3:

  • 每次运行程序,答案可以是随机的。因为程序答案固定,容易导致答案泄露
random模块里边有一个函数叫做:randint(),Ta会返回一个随机的整数。
import random
secret=random.randint(1,10)
print('----------我爱鱼C工作室----------')
temp=input("不妨碍一下小甲鱼现在心里想的是哪个数字:")
guess=int(temp)
while guess !=secret:temp=input("哎呀,猜错了,请重新输入吧:")guess=int(temp)if guess==secret:print("我草,你是小甲鱼心里的蛔虫吗? !")print("哼,猜中了也没有奖励! ")else:if guess>secret:print("哥,大了,大了~~~")else:print("嘿,小了,小了~~~")print("游戏结果,不玩啦^_^")

005 闲聊之Python的数据类型

Python的一些数值类型:整型、布尔类型(True与False)、浮点型、e记法、复数类型等

e记法(e4相当于10的四次方,e-10相当于10的-10次方)

类型转换

字符型转换为整型

浮点型转为整型

整型转为浮点型

浮点型转为字符串

type()函数(可查看变量类型)

isinstance()函数(用来判断两个输入参数类型是否一致)

006 Pyhon之常用操作符

算术操作符


注:python中 \ 为除法, \\ 为整除 ,% 为取余

幂运算(3的二次方)


3的二次方后取负
3的负二次方


优先级问题:

注:先幂运算、然后乘除、后加减、后逻辑

比较操作符


逻辑操作符


优先级问题

007 了不起的分支和循环

打飞机游戏框架:

加载背景音乐播放背景音乐(设置单曲循环)我方飞机诞生while True:if 用户是否点击了关闭按钮:推出程序interval += 1;if interval == 50:interval = 0;小飞机诞生小飞机移动一个位置屏幕刷新if 用户鼠标产生移动:我方飞机中心位置 = 用户鼠标位置屏幕刷新if 我方飞机与小飞机发生肢体冲突:我方挂,播放撞机音乐修改我方飞机图案打印“Game over"停止背景音乐,最好淡出

008 了不起的分支和循环2

现在小甲鱼来考考大家:

按照100分制,90分以上成绩为A,80到90为B,60到80为C,60以下为D,写一个程序,当用户输入分数,自动转换为ABCD的形式打印。

解题方案:

  • method1.py
  • method2.py
  • method3.py

method1.py


method2.py

method3.py

Python 可以有效避免悬挂else

什么叫悬挂else?
  • 假设下面 else 是与第一个 if 匹配,C语言中 else 会与最近的 if 匹配

条件表达式(三元操作符)

有了这个三元操作符的条件表达式,你可以使用一条语句来完成以下的条件判断和赋值操作:

x, y = 4, 5if x < y:small = xelse:small = y

例子可以改进为

small = x if x < y else y    #如果x小于y,则small等于x,否则等于y

断言(assert)

  • assert这个关键字我们称之为“断言”,当这个关键字后边的条件为假的时候,程序自动崩溃并抛出AssertionError的异常。

举个例子:

一般来说我们可以用Ta再程序中置入检查点,当需要确保程序中的某个条件一定为真才能让程序正常工作的话,
assert关键字就非常有用了。

009 了不起的分支和循环3

while循环

while 条件:循环体

for循环

虽然说Python是由C语言编写而来的,但是Ta的for循环跟C语言的for循环不太一样,Python的for循环显得更为智能和强大!

语法:

for 目标 in 表达式:循环体


每次取FishC中一个字符及空格输出


range()函数

  • 语法:range( [strat],[stop],[step] )

–这个BIF有三个参数,其中用中括号括起来的两个表示这两个参数是可选的。

step=1表示第三个参数的值默认值是1。step为每步距离

range这个BIF的作用是生成一个从start参数的值开始到stop参数的值结束的数字序列。



break语句(结束本层循环)

实例:

bingo='小甲鱼是帅哥'
answer=input('请输入小甲鱼最想听的一句话:')while True:if answer==bingo:breakanswer=input('抱歉,错了,请重新输入(答案正确才能退出游戏):')print('哎哟,帅哦~')
print('您真是小甲鱼肚子里的蛔虫啊^_^')


continue语句(当前位置结束本次循环,重新开始下次循环)

for i in range(10):if i%2 !=0:print(i)continuei+=2print(i)

010 列表:一个打了激素的数组

列表:一个打了激素的数组

创建列表

  • 创建一个普通列表
  • 创建一个混合列表
  • 创建一个空列表

向列表添加元素

append()函数向列表末尾添加一个元素


extend()函数向列表末尾添加多个元素


insert(n,xxx)函数向列表中第n个元素前插入一个元素

011列表:一个打了激素的数组2

  1. 从列表中获取元素
  • 跟数组一样,我们可以通过元素的索引值(index)从列表获取单个元素,注意,列表索引值是从 0 开始的。
  1. 从列表删除元素
  • remove()函数表示从列表中删除某个元素
  • del()函数也表示从列表中删除某个元素
  • pop()函数从列表中取出最后一个元素
  1. 列表分片(Slice)
  • member[1:3]表示从第2个元素开始拷贝,一共拷贝两个元素,即member[1]和member[2]列表的拷贝

012列表:一个打了激素的数组3

列表的一些常用操作符

  • 比较操作符
  • 逻辑操作符
  • 连接操作符
  • 重复操作符
  • 成员关系操作符

dir(list)可查看所有列表的操作函数

  • count 统计元素在列表出现的次数
  • sort 对列表从小到大排序
  • reverse 对列表元素反转
  • index()函数可索引列表元素

关于分片“拷贝”概念的补充


注:list13=list11相当于多了个指向列表的标签,list12 = list[:]是实实在在的拷贝

013元组:戴上了枷锁的列表


我们主要从以下几个点来讨论学习:

创键和访问一个元组

创建元组(括号可以没有,但逗号一定要有)

访问元组前五个元素

  • 更新和删除一个元组
更新一个元组

注:其并未对原元组进行修改,而是生成了一个新的元组,并贴上temp名字标签而已。原元组由于标签没有了,则会被自动回收。

删除一个元组

元组相关的操作符


注:元组不允许修改和删除。

014字符串:各种奇葩的内置方法

capitalize把字符串的第一个字符改为大写

casefold把整个字符串的所有字符改为小写

center(width) 把字符串居中,并使用空格填充至长度为width的字符串

其他内置方法


015字符串:格式化


由于花括号被解释掉,所以不打印后面中文

字符串格式化符号含义

将ASCII码97对应的字符输出

格式化字符串
格式化整数


格式化操作符辅助命令


5表示输出为五位数

Python 的转义字符及其含义

016 序列!序列!

列表、元组和字符串的共同点
  • 都可以通过索引得到每一个元素
  • 默认索引值总是从0开始
  • 可以通过分片的方法得到一个范围内的元素的集合
  • 有很多共同的操作符(重复操作符、拼接操作符、成员关系操作符)

使用list方法

元组转换为列表


注:元组为小括号,列表为中括号

len() 列表长度

max() 返回序列或者参数集合中的最大值min() 返回序列或者参数集合中的最小值

sum(iterable[,start=0]) 返回序列iterable和可选参数start的总和


sorted()将元素从小到大重新排列

reversed()将元素倒序排列

注:元组是不可以修改和删除的,所以不可以直接对元组使用sorted与reversed命令

enumerate()将每个元素插入枚举

zip()返回由各个参数的序列组成的元组

017函数:Python的乐高积木

定义一个函数和调用



定义一个有参数的函数并调用

函数的返回值可以用return返回


018 函数:灵活即强大

形参和实参


关键字参数


默认参数(即形参中给定默认值,则在未给实参时会以默认值输出)
收集参数

B站小甲鱼python学习笔记相关推荐

  1. 小甲鱼Python学习笔记之函数(三)

    递归 定义 递归的两个特点(重中之重!!!) 递归的应用 能够用递归实现的功能都能够用循环迭代来实现 用递归实现斐波那契数列 用其他方式实现斐波那契数列 用递归实现汉诺塔 定义 函数之间是可以相互调用 ...

  2. 小甲鱼Python学习笔记之函数(四)

    函数注释 类型注释 Python自省 函数注释 通过help来查看函数的注释 自定义函数时编写函数注释 >>> def exchang(dollar,rate=6.32):" ...

  3. 小甲鱼Python学习笔记之魔法方法

    什么是魔法方法 构造和析构 __init__方法 __new__方法 __del__方法 工厂函数 通过对魔法方法的重写,还可以自定义对象间的算术运算 反运算方法 实现一个计时器的类 time模块的l ...

  4. python爬虫之b站视频下载(python学习笔记)

    b站视频爬取(python学习笔记) 亲爱的b站自从在2020年3月23日将av号改为BV号后,之前的很多爬虫已经不能用了,暂时没看懂这操作的意义何在,反而一大串大小写英文字母加数字的BV号让人很难记 ...

  5. 【Python】小甲鱼Python学习总结——代码版

    看了50P左右的小甲鱼B站的Python视频,按需学习,因此有些P可能会有遗漏.以下是自己跟着视频敲的代码,一些知识点和自己的理解写在了注释里.注释要遵守PEP8的规范. 同时Python的另一个教程 ...

  6. 小甲鱼Python3学习笔记之第三讲(仅记录学习)

    第三讲:小插曲变量和字符串 一.知识点: 1.变量的概念:在别的编程语言中,变量是把一个值赋给一个名字时,值会存储到内存中,这个名字就叫变量. 在python中,变量更像把名字贴到值的上边,所以说py ...

  7. 小甲鱼Python学习知识点记录(003讲)

    一.插曲之变量 1.变量名就像我们现实社会的名字,把一个值赋值给一个名字时,它会存储在内存中,称之为变量(variable),在大多数语言中,都把这种行为称为"给变量赋值"或&qu ...

  8. 小木木的Python学习笔记

    初学Python ~\(≧▽≦)/~啦啦啦 作为一位初学者,我选择了利用虚拟机 学习Python. 1.在linux虚拟机下学习python python3.5 的下载安装 [root@python ...

  9. 小甲鱼python入门笔记(一)(全)

    目录 一.变量和字符串 1.python转义字符 2.交换x,y变量的值 3.原始字符串,忽略转义字符 4.长字符串两种方式 5.字符串加法和乘法 二.是时候讲讲代码了 1.python比较运算符 三 ...

最新文章

  1. 通过反射执行get、set方法
  2. docker几个基础命令及nodejs容器
  3. 24、HTML 属性
  4. 怎么用计算机算p a,老师,(P/A,12%,10)这个值用计算器怎么算出来?
  5. python的return语句求两数之和_程序题(python解)
  6. SAP License:ReportPainter报表显示JPY等无小数位货币时少两位
  7. HDOJ 1564 Play a game【博弈论】
  8. Ubuntu安装MyEclise16 过程差不多
  9. CSDN Blog首页新增栏目和二级页面通告
  10. python编程入门-Python编程入门电子书教程,看这几个就够了
  11. 蛮力法 —— 求解最大连续子序列和问题
  12. java 打破封装_继承打破了封装性
  13. 微星P55-主板是怎样造出来的
  14. 仿QQ音乐(HTML+CSS)
  15. 【杂项】VScode中C C++代码美化工具Uncrustify配置详解
  16. 达梦数据库的表空间管理
  17. uni-app 实现语音播放实现思路和代码
  18. 【重磅消息】微信可以改名了
  19. 如何查询往年国家自然科学基金
  20. 36.Nginx 基础入门篇

热门文章

  1. SurfaceView在线视频播放
  2. Linux系统Shell脚本第五章:shell数组、正则表达式及文件三剑客之AWK
  3. uni-app常见知识点总结
  4. 学姐写毕业论文,图表在PDF上,复制下来格式全乱,头疼了一晚,幸亏有我
  5. 2年5个月13天,从外包到拿下阿里offer,没想到屌丝也能有今天
  6. 麻省理工大学计算机博士后收入,申请MIT博后回复及后续 - 海外博后 - 小木虫 - 学术 科研 互动社区...
  7. BZOJ5197:[CERC2017]Gambling Guide(最短路,期望DP)
  8. python进行数据处理_用python进行数据分析(二:数据处理)
  9. (图解)数据库设计基础之:第一范式、第二范式及第三范式
  10. IEEE论文投稿流程