马士兵Python基础版2020教程P1-P57 PPT笔记+课堂代码

主要记录在看网课过程中的ppt重点内容和实例代码

目录

02 Python的自述

03 安装开发环境

05 输出函数print

06 转义字符与原字符

08 标识符和保留字

09 变量的定义和使用

10 变量的多次赋值

12 整数类型

13 浮点类型

14 布尔类型

15 字符串类型

16 类型转换

18 注释

19 输入函数input

21 算术运算符

22 赋值运算符

23 比较运算符

24 布尔运算符

25 位运算符

26 运算符的优先级

28 对象的布尔值

31 多分支结构

32 嵌套if的使用

33 条件表达式

34 PASS语句

35 range()函数的使用

36 while循环

38 for_in循环

40 流程控制语句break

41 流程控制语句continue

42 else语句

43 嵌套循环

44 二重循环中的break和continue

45 列表

46 列表对象的创建

47 列表的特点

48 获取列表指定元素的索引、获取指定的元素

50 获取多个元素

51 列表的判断和遍历

52 列表元素的添加

53 列表元素的删除

54 列表元素的修改

55 列表元素的排序

56 列表生成式


02 Python的自述

  • 跨平台的计算机程序设计语言
  • 解释型语言,开发过程中没有编译环节
  • 交互式语言
  • 一切皆对象,面向对象的语言

03 安装开发环境

  1. IDLE自带简单开发环境
  2. 交互式命令行程序
  3. manuals官方技术文档
  4. module已安装模块文档

05 输出函数print

print(520)
print('helloworld')
print(3+2)

#将数据输出到文件中,1.路径存在2.使用file=
fp=open('D:/text.txt','a+')   #a+:如果文件不存在就创建,存在就在文件内容的后面继续追加
print('helloworld',file=fp)
fp.close()

#不进行换行输出(输出内容在一行当中)
print('hello','world','pyhton')

06 转义字符与原字符

print('hello\nworld')
print('hello\tworld')#四个字符一组
print('hello000\tworld')
print('hello\rworld\rfhd')#进行覆盖
print('hello\bworld')#退格,o没了

print('http:\\\www.com')
print('老师说:\'大家好\'')

#原字符,不希望字符串中的转义字符起作用,在字符串前加上r或者R
#注意事项,最后一个字符不能是反斜杠
print(r'hello\nworld')

08 标识符和保留字

import keyword
print(keyword.kwlist)#查看保留字

['False', 'None', 'True', '__peg_parser__', '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'] 

09 变量的定义和使用

10 变量的多次赋值

变量多次赋值之后,变量名会指向新的空间

name='skye';
print(name);  #skye
print(id(name));  #2732414190384
print(type(name));  #<class 'str'>

name='sun';
print(name);  #sun
print(id(name));  #1530637925104
print(type(name));  #<class 'str'>

12 整数类型

  • 二进制0b开头
  • 八进制0o开头
  • 十六进制0x开头

注释快捷键ctrl+/

13 浮点类型

print(1.1+2.2)
# 3.3000000000000003
from decimal import Decimal
print(Decimal('1.1')+Decimal('2.2'))
# 3.3

14 布尔类型

True —— 真 —— 1

False —— 假 —— 0

f1=True
f2=False
print(f1,type(f1))  #True <class 'bool'>
print(f2,type(f2))  #False <class 'bool'>
print(f1+1)  #2
print(f2+1)  #1

15 字符串类型

16 类型转换

18 注释

19 输入函数input

a=input('input a:')
b=input('input b:')
print(int(a)+int(b))

21 算术运算符

print(1/3)#除法运算0.3333333333333333
print(1//3)#整除运算0
print(2**2)#幂运算符:2的2次方
print(2**3)#2的3次方

print(9%-4)#-3

22 赋值运算符

#支持解包赋值
a,b,c=20,30,40
print(a,b,c)

a=b=c=10#链式赋值,abc的id一样
print(a,id(a))#10 1627767990864
print(b,id(b)#10 1627767990864
print(c,id(c))#10 1627767990864
#交换两个变量的值
a,b=10,20
print('before:',a,b)
a,b=b,a
print('after:',a,b)

23 比较运算符

一个变量由三部分组成:标识,类型,值

== 比较的是

is/is not 比较的是对象的标识id

a=10
b=10
print(a==b)#true
print(a is b)#true

24 布尔运算符

布尔运算符 in / not in

s='helloworld'
print('w' in s)#true
print('k' in s)#false
print('o' not in s)#false
print('p' not in s )#true

25 位运算符

运算:将数据转成二进制进行计算

左移位相当于乘以2,右移位相当于除以2 

26 运算符的优先级

28 对象的布尔值

#以下对象的布尔值均是False
print(bool(False))
print(bool(0))
print(bool(0.0))
print(bool(None))
print(bool(''))#空字符串
print(bool(""))
print(bool([]))#空列表
print(bool(list()))
print(bool(()))#空元祖
print(bool(tuple()))
print(bool({}))#空字典
print(bool(dict()))
print(bool(set()))#空集合

其他对象的布尔值均为True 

31 多分支结构

32 嵌套if的使用

33 条件表达式

34 PASS语句

35 range()函数的使用

 通常用作for循环遍历的对象

r=range(10)
print(list(r))#[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
r=range(2,10)
print(list(r))#[2, 3, 4, 5, 6, 7, 8, 9]
r=range(2,10,3)
print(list(r))#[2, 5, 8]

print(10 in r)#False
print(8 in r)#True

36 while循环

#4步循环法
#1.初始化变量
#2.条件判断
#3.条件执行体(循环体)
#4.改变变量

#初始化变量、条件判断的变量、改变的变量为同一个

#累加和
a=0
sum=0
while a<5:
    sum+=a
    a+=1
print('sum=',sum)

计算1-100之间的偶数和:

a=1
sum=0
while a<=100:
    if not bool(a%2):
        sum+=a
    a+=1
print('sum=',sum)

38 for_in循环

for item in 'PYTHON':
    print(item)

sum=0
for i in range(10):
    sum+=i
print('sum=',sum)

#如果在循环体中不需要使用到自定义变量,可将自定义变量写为"_"
for _ in range(5):
    print('人生苦短')

使用for循环计算1-100的偶数和:

sum=0
for i in range(0,101,2):
    sum+=i
print('sum=',sum)

//输出100-999之间的水仙花数:

for i in range(100,1000):
    if ((i//100%10)**3+(i//10%10)**3+(i%10)**3)==i:
        print(i,'为水仙花数')

40 流程控制语句break

三次输入密码机会,判断正误:

for item in range(3):
    pwd=input('请输入密码:')
    if pwd=='9999':
        print('right!')
        break
    else:
        print('wrong!')

#或者
a=0
while a<3:
    pwd=input('请输入密码:')
    if pwd=='9999':
        print('right')
        break
    else:
        print('wrong')
    a+=1

41 流程控制语句continue

输出1-50之间所有5的倍数:

for i in range(1,51):
    if i%5!=0:
        continue
    print(i,'是5的倍数')

42 else语句

 输入密码三次均不正确时提醒:

for item in range(3):
    pwd=input('请输入密码:')
    if pwd=='8888':
        print('密码正确')
        break
    else:
        print('密码不正确')
else:
    print('对不起,三次密码均输入错误')
a=0
while a<3:
    pwd=input('请输入密码:')
    if pwd =='8888':
        print('密码正确')
        break
    else:
        print('密码不正确')
    a+=1
else:
    print('对不起,三次密码均输入错误')

43 嵌套循环

嵌套循环:循环结构中有嵌套了另外的完整的循环结构体,其中内层循环作为外层循环的循环体执行

打印乘法表:

for i in range(1,10):
    for j in range(1,i+1):
        print(i,'*',j,'=',i*j,end='\t')#不换行输出
    print()

44 二重循环中的break和continue

break和continue只控制本层循环 

for i in range(5):
    for j in range(1,11):
        if j%2==0:
            break
        print(j,end='\t')

#输出结果:1  1	1	1	1	

for i in range(5):
    for j in range(1,11):
        if j%2==0:
            continue
        print(j,end='\t')

#输出结果:
1	3	5	7	9	
1	3	5	7	9	
1	3	5	7	9	
1	3	5	7	9	
1	3	5	7	9	

45 列表

46 列表对象的创建

lst=['hello','world',98]
lst2=list(['hello','world',98])

47 列表的特点

48 获取列表指定元素的索引、获取指定的元素

获取索引: 

lst=['hello','world',98,'hello']
print(lst.index('hello'))

#print(lst.index('sdj'))
#ValueError: 'sdj' is not in list

print(lst.index('world',1,3))

 获取单个元素:

lst=['hello','world',98,'hello','world',847]
print(lst[2])
print(lst[-4])
# print(lst[10])  IndexError: list index out of range

50 获取多个元素

lst=[10,20,30,40,50,60,70,80]
#start=1,stop=6,step=1
print(lst[1:6:1])#[20, 30, 40, 50, 60]

print('原列表:',id(lst))
lst2=lst[1:6:1]
print('切片后列表:',id(lst2))
# 原列表: 1854183981504
# 切片后列表: 1854183978304

print(lst[1:6:])
print(lst[1:6])
# [20, 30, 40, 50, 60]
# [20, 30, 40, 50, 60]

print(lst[1:6:2])
# [20, 40, 60]
print(lst[:6:2])
# [10, 30, 50]
print(lst[1::2])
# [20, 40, 60, 80]

print(lst[::-1])
# [80, 70, 60, 50, 40, 30, 20, 10]
print(lst[7::-1])
# [80, 70, 60, 50, 40, 30, 20, 10]
print(lst[6:0:-2])
# [70, 50, 30]

51 列表的判断和遍历

lst=[10,20,'python','hello']
print(10 in lst)
print(100 in lst)
print(10 not in lst)
print(100 not in lst)
print('python' in lst)
print('Python' in lst)

for item in lst:
    print(item)

52 列表元素的添加

增加后没有创建新的列表对象,标识没有发生更改

lst=[10,20,30]
print('添加元素之前',lst)
print('添加元素之前',id(lst))
lst.append(100)
print('添加元素之后',lst)
print('添加元素之后',id(lst))
# 添加元素之前 [10, 20, 30]
# 添加元素之前 2826758993216
# 添加元素之后 [10, 20, 30, 100]
# 添加元素之后 2826758993216
lst2=['hello','world']
lst.append(lst2)
print('添加元素之后',lst)
lst.extend(lst2)
print('添加元素之后',lst)
# 添加元素之后 [10, 20, 30, 100, ['hello', 'world']]将lst2作为一个元素添加到列表的末尾
# 添加元素之后 [10, 20, 30, 100, ['hello', 'world'], 'hello', 'world']
lst.insert(1,90)
print('添加元素之后',lst)
#添加元素之后 [10, 90, 20, 30, 100, ['hello', 'world'], 'hello', 'world']
lst3=[True,False,'hello']
#在任意位置添加多个,切掉之前的
lst=[1,2,3]
print('添加元素之前',lst)
print('添加元素之前',id(lst))
lst[1:]=lst3
print('添加元素之后',lst)
print('添加元素之后',id(lst))
# 添加元素之前 [1, 2, 3]
# 添加元素之前 2514633176384
# 添加元素之后 [1, True, False, 'hello']
# 添加元素之后 2514633176384

53 列表元素的删除

lst=[0,1,2,3,4,5,6]
new_list=lst[1:3]
print('原列表',lst)
print('原列表id',id(lst))
print('切片赋值后列表',new_list)
print('切片赋值后列表id',id(new_list))
# 原列表 [0, 1, 2, 3, 4, 5, 6]
# 原列表id 2609581603008
# 切片赋值后列表 [1, 2]
# 切片赋值后列表id 2609581603072

print('原列表',lst)
print('原列表id',id(lst))
lst[1:3]=[]#不产生新的列表对象,而是删除原列表中的内容
print('切片后列表',lst)
print('切片后列表id',id(lst))
# 原列表 [0, 1, 2, 3, 4, 5, 6]
# 原列表id 2609581603008
# 切片后列表 [0, 3, 4, 5, 6]
# 切片后列表id 2609581603008

#清楚列表中的所有元素
lst.clear()
print(lst)
#[]

#del语句将列表对象删除
del lst
#print(lst) NameError: name 'lst' is not defined

54 列表元素的修改

lst=[10,20,30,40,50]
print(lst)
lst[2]=100
print(lst)
# [10, 20, 30, 40, 50]
# [10, 20, 100, 40, 50]

lst[1:3]=[100,200,300,400,500]
print(lst)
#[10, 100, 200, 300, 400, 500, 40, 50]

55 列表元素的排序

lst=[10,46,90,20,60,30,50]
print(lst)
print(id(lst))
lst.sort()
print(lst)
print(id(lst))
# [10, 46, 90, 20, 60, 30, 50]
# 2519940612544
# [10, 20, 30, 46, 50, 60, 90]
# 2519940612544
#排序是在原列表上进行的
lst.sort(reverse=True)
print(lst)
lst.sort(reverse=False)
print(lst)
# [90, 60, 50, 46, 30, 20, 10]
# [10, 20, 30, 46, 50, 60, 90]

#使用内置函数sorted()对列表进行排序,将产生一个新的列表对象
lst=[10,46,90,20,60,30,50]
new_list=sorted(lst)
print(lst)
print(id(lst))
print(new_list)
print(id(new_list))
# [10, 46, 90, 20, 60, 30, 50]
# 2305728912192
# [10, 20, 30, 46, 50, 60, 90]
# 2305726038464
new_list=sorted(lst,reverse=True)
print(lst)
print(id(lst))
print(new_list)
print(id(new_list))
# [10, 46, 90, 20, 60, 30, 50]
# 1649469892160
# [90, 60, 50, 46, 30, 20, 10]
# 1649468728128

56 列表生成式

lst=[i for i in range(1,10)]
print(lst)
# [1, 2, 3, 4, 5, 6, 7, 8, 9]
lst=[i*i for i in range(1,10)]
print(lst)
# [1, 4, 9, 16, 25, 36, 49, 64, 81]

lst2=[i for i in range(2,11,2)]
lst3=[i*2 for i in range(1,6)]
print(lst2)
print(lst3)
# [2, 4, 6, 8, 10]
# [2, 4, 6, 8, 10]

  • 15
    点赞
  • 117
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值