python学习笔记

时间:2022-07-28
本文章向大家介绍python学习笔记,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
python3.8.5下载地址:
64位:https://www.python.org/ftp/python/3.8.5/python-3.8.5-amd64.exe
32位:https://www.python.org/ftp/python/3.8.5/python-3.8.5.exe
安装:
下载后双击安装,注意区分32位和64位系统
注意:安装时“Add Python 3.8.5 to PATH”前面打勾,其他建议默认安装

2020最新零基础Python
链接:https://pan.baidu.com/s/1hqsKyV1ztnkrw9U2xKOhdg 
提取码:20w2 
尚学堂第一季
链接:https://pan.baidu.com/s/1i_d9oolHdAqz6WaK_XuVFQ 
提取码:20w2 
尚学堂第二季
链接:https://cloud.189.cn/t/NbEjArraqa2a (访问码:h44k)
尚学堂第三季
链接:https://pan.baidu.com/s/18nYAc68Fx325NCufkSwFjA 
提取码:20w2 
尚学堂第四季
链接:https://pan.baidu.com/s/1UJyMi7mxtmG59TyLXvEgSg 
提取码:20w2 

01变量:
变量是计算机语言中能储存计算结果或能表示值的抽象概念。
变量的命名规范:
1.由字母、数字、下划线组成
2.不能以数字开头
3.不能使用Python关键字
4.区分英文字母大小写
5.尽量让变量的名字容易记忆
函数和保留字的区别:
1.保留字有35个:and、as、assert、async、await、break、class、continue、def、del、elif、else、except、finally、for、from、False、global、if、import、in、is、lambda、nonlocal、not、None、or、pass、raise、return、try、True、while、with、yield
2.内置函数见
www.runoob.com/python/python-built-in-functions.html
内置函数后面要加(),例 print()

02数值:
python中数值型分为整数型(整型)(int)和小数型(浮点型)(float)
数值型数据支持算术运算、比较运算和位运算
1。算术运算:加+、减-、乘*、除/、整除//、求余%、幂次方**
2。比较运算:大于>、小于<、大于等于>=、小于等于、等于==、不等于!=
3。位运算:

03字符串:
字符串(str)是连续的字符序列。通常使用单引号、双引号或三引号括起来'''、"""。其中单引号和双引号中的字符串必须在一行上,三引号字符串可以分布在连续的多行上。
常用转义符:n 换行符; t 制表符
切片[]
字符串的单个元素都是可以提取的。
[] 通过索引提取字符串中的字符。
用法:[(起始位置):(结束位置):(步长)]
例:
s = "人生苦短,我用python"
对应的位置值:
从左往右:
人  生  苦  短  ,  我  用  p  y  t   h     o     n
0    1   2   3   4    5   6   7  8  9  10   11    12
从右往左:
  人  生    苦    短      ,  我  用   p    y   t     h     o     n
-13  -12  -11  -10   -9  -8  -7  -6  -5  -4   -3   -2    -1
#提取第3到第8字符串
       命令  print(s[3:9])        #包含起始位置,不包含结束位置,步长默认为1,可省略
运行结果  短,我用py
#提取第3到最后字符串
       命令  print(s[3:])        #包含起始位置,到结尾可省略,步长默认为1,可省略
运行结果  短,我用python
#提取从开头到第8字符串
       命令  print(s[:9])        #从开头起可省略,不包含结束位置,步长默认为1,可省略
运行结果  人生苦短,我用py
#提取全部字符
       命令  print(s[:])        #从开头起可省略,到结尾可省略,步长默认为1,可省略
运行结果  人生苦短,我用python
#步长如果是负数,表示从右向左提取,此时起始位置在右边,结束位置在左边
#从右向左提取
       命令  print(s[-3:-7:-1])        #步长-1,从右向左提取
运行结果  htyp
或    命令  print(s[10:6:-1])        #步长-1,从右向左提取
运行结果  htyp
#步长为2,数两个提取1个,即间隔提取
#提取所有单数字符
       命令  print(s[::2])   #自己解释
运行结果  人苦,用yhn
#提取所有双数字符
       命令  print(s[1::2])  #自己解释
运行结果  生短我pto
#把字符串倒着输出(倒背如流)
       命令  print(s[::-1])  #自己解释
运行结果  nohtyp用我,短苦生人


04python格式化输出之format用法 
format用法
相对基本格式化输出采用‘%’的方法,format()功能更强大,该函数把字符串当成一个模板,通过传入的参数进行格式化,并且使用大括号‘{}’作为特殊字符代替‘%’
使用方法由两种:b.format(a)和format(a,b)。
1、基本用法
  (1)不带编号,即“{}”
  (2)带数字编号,可调换顺序,即“{1}”、“{2}”
  (3)带关键字,即“{a}”、“{tom}”
例:
>>> print('{} {}'.format('hello','world'))  # 不带字段
hello world
>>> print('{0} {1}'.format('hello','world'))  # 带数字编号
hello world
>>> print('{0} {1} {0}'.format('hello','world'))  # 打乱顺序
hello world hello
>>> print('{1} {1} {0}'.format('hello','world'))
world world hello
>>> print('{a} {tom} {a}'.format(tom='hello',a='world'))  # 带关键字
world hello world
2、进阶用法
以后再讲
3、多个格式化
以后再讲
通过位置匹配参数
例:
>>> '{0}, {1}, {2}'.format('a', 'b', 'c')
'a, b, c'
>>> '{2}, {1}, {0}'.format(*'abc')  # 可打乱顺序
'c, b, a'
>>> '{0}{1}{0}'.format('abra', 'cad')  # 可重复
'abracadabra'
通过名字匹配参数
例:
>>> 'Coordinates: {latitude}, {longitude}'.format(latitude='37.24N', longitude='-115.81W')
'Coordinates: 37.24N, -115.81W'
>>> coord = {'latitude': '37.24N', 'longitude': '-115.81W'}
>>> 'Coordinates: {latitude}, {longitude}'.format(**coord)
'Coordinates: 37.24N, -115.81W'
以下还有很多种用法,暂不要求掌握

05数据类型转换:
int(a)       #把变量a转换成整数型
float(b)   #把变量b转换成小数型
str(c)       #把变量c转换成字符串型
type(d)    #查看变量d的数据类型
练习:
a = 12
b = 34
c = 56
d = 420104200405064321
#使用以上变量,编写合适代码,输出下列结果
结果:46
代码:
结果:1234    #数值型
代码:
结果:3456    #文本型
代码:
结果:我的生日是2004年5月16日    
代码:
#代码不变,把身份证号改成 420104200412134321
思考:
"A"  >  "a"
运行结果是什么?why?
不在电脑上运行,尝试写出以下结果:
"1" > "0"    运行结果:
"1" > "A"    运行结果:
"1" > "a"    运行结果:
"  " > " "    (两个空格大于一个空格)运行结果:
"1" > " "    运行结果:
"A" > " "    运行结果:
"a" > " "    运行结果:

小测验:
一、请将下列数学表达式用Python程序写出来,并计算结果: 

x = 5
y = 7
a = 9
b = 11
m = 2
pai = 3.14  #π

  


二、编程题

1.输入一个正整数,判断是奇数还是偶数,并输出“奇数”或“偶数”
2.输入任意数据,判断数据类型,并输出对应的中文,如整型、小数型、字符串、布尔型
while True :
    try:
        x = eval(input(":"))
        if str(type(x)) == "<class 'int'>" :
            print("整数型")
        if str(type(x)) == "<class 'float'>" :
            print("小数型")
        if str(type(x)) == "<class 'bool'>" :
            print("布尔型")
    except:
            print("字符串")

3.输入一个身份证号码,输出出生日期,格式:2005年5月5日
4.输入一段文字,倒着输出
5.输入一个数值,倒着输出
6.输入一段文字,如果有“汉武”这个词,自动更正为“武汉”后把这段文字输出

三、思考题

1.输入一个正整数,输出它的所有因子。如:输入8,因子有1,2,4,8
2.有一种数字,它的所有因子之和刚好等于它本身。如6的因子有1、2、3,而1+2+3=6。请找出1000以内满足此条件的所有数。
for x in range(1,1000):
    #x = int(input(":"))
    s = 0
    for i in range(1,x):
        if x % i == 0 :
            #print(i)
            s = s + i
    if x == s :
        print(x)

06程序流程图:   

起止框:表示程序逻辑的开始或结束
判断框:表示一个判断条件
处理框:表示处理过程
输入输出框:表示数据输入或结果输出
注释框:左边是虚线,右边是半框,不想画了
流向线:表示程序执行路径
连接点:表示多个流程图的连接方式

以前穷,只能纸上作业再实操。现在建议先学会简单程序的编写,再划流程图,最后手动程序运行过程。
先了解一下,if、for、while学完后再狂练这个。

例:   

扩展:异常处理
try :……
except :
    ……


1.单分支结构:if
使用方式:
If <条件>  :
  <语句块1>
  <语句块2>
其中:if后加: ,<语句块>缩进四格是语法的一部分。语句块可一条或多条,但不能没有,如果没有需要执行的语句,可加pass
<语句块>是if条件满足后执行的一个或多个语句序列,缩进表示<语句块>与if的包含关系。
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image002.png<条件>必须产生一个逻辑结果True或False。当条件为True时执行<语句块>,否则跳过<语句块>。
流程图:   

例:
#判断输入的数字的奇偶
s = int(input(“请输入一个整数:”))
if  s% 2 == 0 :print(s,“是偶数”)
if  s% 2 != 0 :print(s,“是奇数”)

<条件>可以是多个条件,多个条件间采用and或or进行组合。
and:表示两个条件都满足时,<条件>的结果是True,只满足一个条件或两个条件都不满足时,<条件>的结果是False
or:表示两个条件只要满足一个,<条件>的结果是True,只有两个条件都不满足时,<条件>的结果才是False
例:
#先输入6,再输入8,9,看一下运行结果。没有结果的请自己思考。
x = int(input(“请输入一个整数:”))
if  x% 2 == 0  and  x % 3 == 0 :print(x,”即能被2整除,又能被3整除”)
if  x% 2 == 0  or  x % 3 == 0 :print(x,”要么能被2整除,或者能被3整除”)

思考:三个或三个以上and和or混用,输出什么结果?加括号再混用呢?
例:上一题<条件>改为以下两种,有何区别?
x % 2 == 0 or  x % 3 == 0  and  x% 4 == 0  or  x % 5 == 0
(x % 2 == 0 or  x % 3 == 0)  and  (x% 4 == 0  or  x % 5 == 0)
程序练习:
#1。输入一个大于2的正整数,判断是不是素数
#2。输入一个大于2的正整数,判断是不是合数
#3。输入两个整数,比较大小
#4。输入身份证号码,判断是否成年(18岁)
#5。输入一段文字,判断里面是否有关键字,如武汉
#6。输入一段文字,判断里面是否有关键字,如武汉和上海
#7。输入一段文字,判断里面是否有关键字,如武汉或上海
#8。输入支付宝余额,判断是否是有钱人
#9。输入身高,判断身高是否正常
#10。输入相貌,判断是否帅或漂亮
#11。输入支付宝余额、身高、相貌,三个条件都满足,输出“地球人”
#12。输入支付宝余额、身高、相貌,三个条件都不满足,输出“土星人”
#13。输入支付宝余额、身高、相貌,支付宝余额满足条件,另两个不满足,输出“火星人”
#14。输入支付宝余额、身高、相貌,身高满足条件,输出“木星人”
#15。输入支付宝余额、向高、相貌,相貌满足条件,输出“外星人”
#16。输入支付宝余额、向高、相貌,三个条件只满足其中一条,输出“奇怪的人”

疯狂练习,巩固提高

0922练习:
一、计算题(笔试题,禁止电脑上操作)
1+2 =
“1”+“2”=
int(1)+float(2) =
True + False =
"True"+"False" =
int(1) + int(2) =
str(int(1)) + str(int(2)) =
"中国"+“武汉”=
1*2 =
“1”*2=
二、切片题
a = "人有悲欢离合,月有阴晴圆缺,此事古难全。但愿人长久,千里共婵娟。"
b = 420104200506074321
输出:人有悲欢离合,月有阴晴圆缺
语句:
输出:人悲离,有晴缺此古全但人久千共娟
语句:
输出:。娟婵共里千,久长人愿但。全难古事此,缺圆晴阴有月,合离欢悲有人
语句:
输出:。婵里,长愿。难事,圆阴月合欢有
语句:
输出:20050607
语句:
输出:小明15岁
语句:
三、if分支
1。输入成绩,判断是否及格
2。输入三条边长,判断是否能构成三角形
3。输入三条连长,如果能构成三角形,判断是构成钝角、直角还是锐角三角形
4。

0923练习:
1。输入一个正整数,如果是奇数,则输出:这个数的立方是**,如果是偶数,则输出:这个数的平方是**
2。输入四个正整数,如果前两个数之和等于后两个数之和,则输出:好巧啊。否则输出:我们不熟
3。输入两个正整数,把较大的数赋给a,较小的数赋给b,最后输出:a=**,b=**
4。输入三个正整数,最大的数赋给a,最小的数赋给c,中间的数赋给b,最后输出:a=**,b=**,c=**
5。输入月份,输出对应的天数,不考虑闰年。如:输入2,输出:2月有28天
6。输入年份,判断该年是平年还是闰年。如:输入2020,输出:2020年是闰年
7。输入两个正整数,输出两个数之差的绝对值。
8。输入一个正整数,判断这个数是不是3的倍数,是则输出YES,不是则输出NO
9。输入一个三位数,判断该数是不是水仙花数,是则输出YES,不是则输出NO。说明:水仙花数就是一个数字的每个数字的立方和等于这个数。如:153。。1**3+5**3+3**3=153
10。把百分制转换成ABCDE,如果输入90以上,输出A;输入80-89,输出B;输入70-79,输出C;输入60-69,输出D;输入60以下,输出E
11。判断输入的数值是不是5位数,是则输出YES,不是则输出NO
12。输入一个数,判断它的百位数是不是3,是则输出YES,不是则输出NO
13。输入三个数,从小到大输出
14。输入语文、数学、英语三门成绩,三门都及格,输出“优秀”;有一门不及格,输出“良好”;有两门不及格,输出“合格”;三门都不及格,输出“留级”
15。

0924练习:
1。输入四个整数a,b,c,d,按照从大到小的方式输出
2。输入一个小于1000的整数,判断它是一位数、两位数还是三位数
3。输入学生姓名**,输入考试成绩,如果是100分,输出:恭喜**,满分通过!如果大于等于80分小于100分,输出:**,你很优秀。如果是大于等于60分小于80分,输出 :**成绩良好。如果大于等于50小于60,输出:**就差一点点。如果小于50,输出:**你睡着了吗?
4。输入整数a和b,如果a**2+b**2大于100,则输出a**2+b**2,否则输出a+b
5。输入一个数值,判断它是整数还是小数
6。一元二次方程a*x**2+b*x+c=0。输入a,b,c三个数字,判断该方程是有两个实数根、一个实数根还是无实根
7。标准体重:男士体重=身高-100,女士体重=身高-110。
xb = str(input("请输入性别(男或女):"))
sg = int(input("请输入身高(厘米):"))
tz = int(input("请输入体重(公斤):"))
。。。
判断体重是超重、标准、偏瘦
8。商品名称:1。汉堡;  2。薯条;  3。鸡块;  4。鸡腿;  5。鸡米花
请输入你选择的商品项目数字,输出对应的商品
如:输入1234,输出:汉堡、薯条、鸡块、鸡腿
如:输入135,输出:汉堡、鸡块、鸡米花
如:输入11,输出:汉堡、汉堡
这题有点难哟
9。输入一个整数,位数不限,如果是奇数位,输出正中间的一位数,如果是偶数位,输出中间的两位数
如:输入123,输出2
如:输入4564,输出56
这题同样有点难哟
10。你家的狗5岁了,5岁的狗相当于多大年龄的人呢?
其实非常简单,狗的前两年每一年相当于人类的10.5岁,然后每增加一年就增加四岁。那么5岁的狗相等于人类的年龄就应该是10.5+10.5+4+4+4 = 33岁
编写一个程序,获取用户输入的狗的年龄,然后通过程序显示其相当于人类的年龄。
11。输入你的考试成绩共七门功课,其中语文、数学、英语三门的满分是150分,政治、历史、地理满分是100分,体育满分是30分。及格分按各门功课满分的60%计算。
如果你所有功课全及格,奖励一辆宝马;
如果你有任意两门不及格,奖励一匹马;
如果你有任意四门不及格,奖励一头驴子;
有四门以上不及格,奖励一只呆头鹅
#参考:

yw = eval(input("语文:"))
sx = eval(input("数学:"))
wy = eval(input("外语:"))
zz = eval(input("政治:"))
ls = eval(input("历史:"))
dl = eval(input("地理:"))
ty = eval(input("体育:"))

s = yw//90+sx//90+wy//90+zz//60+ls//60+dl//60+ty//18

if  s == 7 :
    print("全部及格,奖励一辆宝马")
if  7> s >= 5 :
    print("奖励一匹马")
if  5> s >= 3:
    print("奖励一头驴子")
if  3> s >0
    print("猪一头")
else :
    print("奖励一只呆头鹅")