Python学习笔记(一)

Python学习笔记(一)

学习视频:B站小甲鱼《零基础入门学习Python》

关键字:

  • importtype()isinstant()
  • 算术操作符 + - * / % ** // 优先级
  • elififelseforwhile
  • 断言assertbreakcontinue
  • 列表:向列表添加元素:append()extend()insert()、从列表中获取元素、从列表中删除元素:remove()del语句、pop()、列表分片(slice):一次性获得多个元素
  • 列表的一些常用操作符:比较( > >= < <= )、逻辑(and or not)、连接(+)、重复(*)、成员(in not in)
  • BIFrange()count()index()reverse()sort()

1、import:载入一个类

2、获得关于变量的类型的信息type()isinstant()

>>> a = '520'
>>> type(a) 
<class 'int'>
>>> a = '小甲鱼'
>>> isinstance(a,str)		# isinstance('520',str)
True

isinstance(a,str)中第一个参数是要判断的数据,第二个参数是判断是否为字符串,最终输出位0/1

3、算术操作符 + - * / % ** //

  • **幂运算符,如 4^2=16
  • // 除法,如4//3 = 1
  • / 也是除法,如4/3 = 1.3333333

4、优先级

优先级如下:

  • 幂运算**

  • 正负号+ -

  • 算术操作符* / // + -

  • 比较操作符< <= > >= == !=

  • 逻辑运算符not and or

>>> -3 ** 2
-9
>>> -(3**2)
-9
>>> 3 ** -2
0.1111111111111111
>>> 3 ** (-2)
0.1111111111111111

5、打飞机框架

加载背景音乐
播放背景音乐(设置单曲循环)
我方飞机诞生
interval = 0    #初始化间隔

while True:
    if 用户是否点击了关闭按钮:
        退出程序
        
    interval += 1
    if interval == 50:
        interval = 0
        小飞机诞生
    
    小飞机移动一个位置
    屏幕刷新(代码运行了,但是界面上的飞机没有动)

    if 用户鼠标产生移动:
        我方飞机中心位置 = 用户鼠标位置
        屏幕刷新

    if 我方飞机与小飞机发生肢体撞击:
        我方挂,播放背景音乐
        修改我方飞机图案
        打印“Game Over!”
        停止背景音乐,最好淡出

6、elif

Pyhton100 >= score >=90是成立的。

score = int(input('请输入一个分数:'))
if 100 >= score >= 90:
	print('A')
elif 90 > score >= 80:
	print('B')
elif 80 > score >= 60:
	print('C')
elif 60 > score >= 0:
	print('D')
else:
    print("输入错误!")

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

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

例子可以改进为:

small = x if x<y else y

语法:

small = x if 条件 else y

条件为真的时候,samll = x

8、断言assert

当关键字assert后面的条件为假时,程序自动崩溃并抛出AssertionError的异常。

用法:

用它在程序中置入检查点,当要确保程序中某个条件一定为真才能让程序正常工作。

9、while循环

while 条件:	#条件为真进入循环,为假退出循环
	循环体

10、for循环

for 目标 in 表达式:
	循环体

例如:

>>> favorite = 'fishC'
>>> for i in favorite:
	print(i, end=' ')

	
f i s h C 
>>> member = ['小甲鱼','小布丁','黑夜','迷途','怡静']
>>> for each in member:
	print(each,len(each))

	
小甲鱼 3
小布丁 3
黑夜 2
迷途 2
怡静 2

11、BIFrange()函数

语法:

range([start,] stop[,step=1])
  • [ ]里面的参数可选
  • step=1 表示第三个参数的默认值是1,也可以是其他值,表示步长
  • range这个BIF的作用是生成一个从start参数的值开始到stop参数的值结束的数字序列。

start=1stop=5,输出1,2,3,4

  • 注意:不输出5

举例:

>>> range(5)
range(0, 5)
>>> list(range(5))
[0, 1, 2, 3, 4]
>>> for i in range(2,7):
	print(i)

2
3
4
5
6

改变step参数:

>>> for i in range(2,7,2):
	print(i)
	
2
4
6

12、breakcontinue

break例子:

bingo = '小甲鱼是帅哥'
answer = input('请输入小甲鱼最想听的一句话:')

while True:
    if answer == bingo:
        break
    answer = input('抱歉,错了,请重新输入(答案正确才能退出游戏):')

print('哎呦,帅偶')

continue例子:

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

结果为:

2	# 0 += 2
1	# 1
4	# 2 += 2
3
6
5
8
7
10
9

13、列表

可以把整数浮点数字符串对象都放进一个“数组”中。

  • 创建一个普通列表
>>> member = ['西汉','咋回','AdSense','的额','夫人']
>>> member
['西汉', '咋回', 'AdSense', '的额', '夫人']
  • 创建一个混合列表
>>> mix = [1,'小甲鱼',3.14,[1,2,3]]
>>> mix
[1, '小甲鱼', 3.14, [1, 2, 3]]
  • 创建一个空列表
>>> empty = []
>>> empty
[]

14、向列表添加元素:append()extend()insert()

  1. append()用法
>>> member
['西汉', '咋回', 'AdSense', '的额', '夫人']
>>> member.append('福禄娃娃')
>>> member
['西汉', '咋回', 'AdSense', '的额', '夫人', '福禄娃娃']
>>> len(member)
6
  • 注意:member.append( )里边只接受一个参数。
  • 自动追加到列表末尾。

​ 2.extend()用法

>>> member
['西汉', '咋回', 'AdSense', '的额', '夫人', '福禄娃娃']
>>> member.extend(['得到','方式'])
>>> member
['西汉', '咋回', 'AdSense', '的额', '夫人', '福禄娃娃', '得到', '方式']
  • 注意:member.extend()里面需要用一个列表[,]
  • 自动追加到列表末尾。

​ 3.insert()用法

函数原型:

insert(position,parameter);
  • position要放入的位置。
  • parameter要放入的元素。
>>> member.insert(2,'穆德纳')
>>> member
['西汉', '咋回', '穆德纳', 'AdSense', '的额', '夫人', '福禄娃娃', '得到', '方式']

parameter放入的数据也可以是数组[,],如:

>>> number = [1,2,3,4]
>>> number
[1, 2, 3, 4]
>>> number.insert(2,8)
>>> number
[1, 2, 8, 3, 4]
>>> number.insert(2,[21,13])
>>> number
[1, 2, [21, 13], 8, 3, 4]

15、从列表中获取元素

通过元素的索引值(index)从列表中获取单个元素

  • 注意:列表索引值是从0开始的。

例子:

>>> member
['西汉', '咋回', '穆德纳', 'AdSense', '的额', '夫人']
>>> member[0]
'西汉'
>>> temp = member[0]
>>> member[0] = member[1]
>>> member
['咋回', '咋回', '穆德纳', 'AdSense', '的额', '夫人']
>>> member[1] = temp		# 交换member[0]和member[1]的值
>>> member
['咋回', '西汉', '穆德纳', 'AdSense', '的额', '夫人']

16、从列表中删除元素:remove()del语句、pop()

​ 1.remove()用法举例:

>>> member
['咋回', '西汉', '穆德纳', 'AdSense', '的额', '夫人']
>>> member.remove('AdSense')	##
>>> member
['咋回', '西汉', '穆德纳', '的额', '夫人']
  • remove()可以删除列表中的任意一个元素。

​ 2.del语句用法举例:

>>> member
['咋回', '西汉', '穆德纳', '的额', '夫人']
>>> del member[1]				##
>>> member
['咋回', '穆德纳', '的额', '夫人']
  • del语句可以删除整个列表。

​ 3.pop()用法举例:

>>> member
['咋回', '穆德纳', '的额', '夫人', '福禄娃娃', '方式']
>>> member.pop()			# 让最后一个元素出栈
'方式'
>>> member
['咋回', '穆德纳', '的额', '夫人', '福禄娃娃']
>>> name = member.pop()		# 让'福禄娃娃'出栈
>>> name
'福禄娃娃'
>>> member
['咋回', '穆德纳', '的额', '夫人']

pop()中也可以加入参数:

>>> member.pop(1)
'穆德纳'
>>> member
['咋回', '的额', '夫人']

17、列表分片(slice):一次性获得多个元素

利用索引值,每次可以获取一个元素,用列表分片可以一次性获得多个元素。

>>> member
['咋回', '的额', '夫人', '你好']
>>> member[1:3]
['的额', '夫人']
>>> member
['咋回', '的额', '夫人', '你好']

注意:

  • member[1:3]是切出(3-2=1)个元素。
  • 原列表不会发生任何改变。

其它情况:

>>> member
['咋回', '的额', '夫人', '你好']
>>> member[:2]
['咋回', '的额']					# 拷贝0-1元素
>>> member[1:]
['的额', '夫人', '你好']				# 拷贝1-3的元素
>>> member[:]
['咋回', '的额', '夫人', '你好']		# 拷贝整个列表

17、列表的一些常用操作符

  • 比较操作符

一个例子:

>>> list1 = [123,456]
>>> list2 = [234,123]
>>> list1 >list2
False

程序中,直接比较第0个元素,得出结果为False

  • 逻辑操作符
>>> list3 = [123,456]
>>> (list1 <list2) and (list1 ==list3)
True
  • 连接操作符
>>> list4 = list1 + list2
>>> list4
[123, 456, 234, 123]

最好用extend()insert()向列表中添加元素。如下:

>>> list4.extend([479,245])
>>> list4
[123, 456, 234, 123, 479, 245]
  • 重复操作符
>>> list3
[123, 456]
>>> list3 *3
[123, 456, 123, 456, 123, 456]

注意:运行list3 * 3后,list3元素并没有变化。结果如下:

>>> list3
[123, 456]

但是,运行 list3 *= 3 之后,list3的元素数量会发生改变。

>>> list3
[123, 456, 123, 456, 123, 456]
  • 成员关系操作符
>>> 123 in list3
True
>>> '小甲鱼' in list3
False
>>> '小甲鱼' not in list3
True

列表里的列表不可以用 innot in 测试并返回 True

>>> list5 = [123,['小甲鱼','牡丹'],456]
>>> '小甲鱼' in list5
False

但是可以这样:

>>> '小甲鱼' in list5[1]
True
>>> list5[1][1]			#list5中第一个元素列表的第一个元素
'牡丹'

18、列表类型的内置函数BIF

>>> dir(list)
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']

初始化:

>>> list3 = [123, 456, 123, 456, 123, 456]
  • count 计算元素在列表中出现的次数:
>>> list3.count(123)
3

123在列表中出现3

  • index 返回元素在列表中第一次出现的位置:
>>> list3.index(123)
0

123在列表中第一次出现的位置为0

但是也可以查询中间的元素在整个列表中的位置:

>>> list3.index(123,2,5)
2

第2到第5个元素中的123出现在整个列表的第2个元素上。

  • reverse 将整个列表逆序排列:
>>> list3.reverse()
>>> list3
[456, 123, 456, 123, 456, 123]
  • sort 用指定的方式对列表进行排序:

默认从小到大排列

>>> list6 = [4,3,5,7,1,9,0]
>>> list6.sort()
>>> list6
[0, 1, 3, 4, 5, 7, 9]

如果是从大到小排列,则可以先进行sort小到大排,再reverse反转成大到小排

sort原型:

sort(func,key);
  • func 排序的算法
  • key 跟算法搭配的关键字

sort的另一种默认的结构是:

sort(reverse=False)

如果改为True则可以直接进行从大到小的排列:

>>> list6.sort(reverse=True)
>>> list6
[9, 7, 5, 4, 3, 1, 0]
  • 补充:

    已知:

    >>> list6
    [9, 7, 5, 4, 3, 1, 0]
    

    若新建 list7list8:

    >>> list7 = list6[:]
    >>> list7
    [9, 7, 5, 4, 3, 1, 0]
    >>> list8 = list6
    >>> list8
    [9, 7, 5, 4, 3, 1, 0]
    

    list6 进行 sort 排列:

    >>> list6.sort()
    >>> list6
    [0, 1, 3, 4, 5, 7, 9]
    

    结果list7list8 变得不一样了:

    >>> list7
    [9, 7, 5, 4, 3, 1, 0]
    >>> list8
    [0, 1, 3, 4, 5, 7, 9]
    

    有关分片中[:]形式拷贝和直接等号=赋值区别:

    拷贝是重新开辟一块存储空间用于存放相同的数组,因此原数组改变时,新拷贝的数组时不会受到影响的。

    等号赋值之后的两个数组指向的都是同一个地址,实质上时同一串数组,因此在原数组改变之后,赋值的数组也会改变。

19、课程开头补充

  • 注意1:
>>> 'Let's' go!'
SyntaxError: invalid syntax
>>> 'Let\'s go!'
"Let's go!"
  • 注意2:
>>> str = 'C:\now'
>>> str
'C:\now'
>>> print(str)
C:
ow
>>> str = 'C:\\now'
>>> print(str)
C:\now
#或者使用“原始字符串”,加一个字母r
>>> str = r'C:\now'
>>> str
'C:\\now'

使用“原始字符串”的情况,再如:

>>> str = 'C:\Program Files\Intel\WiFi\Help'
>>> str
'C:\\Program Files\\Intel\\WiFi\\Help'

>>> str = r'C:\Program Files\Intel\WiFi\Help'
>>> str
'C:\\Program Files\\Intel\\WiFi\\Help'
  • 注意4:

三重引号''' '''""" """):

>>> str = '''wewd
dedw
dedegrf'''
>>> str
'wewd\ndedw\ndedegrf'
>>> print(str)
wewd
dedw
dedegrf
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值