Python基础笔记(1-1)
笔记来源小甲鱼零基础入门
(笔记都做了!求求你多复习吧!干点儿人应该干的事儿!)
文章目录
- 一. 000. 愉快的开始 - 002. 设计第一个游戏
- 1. Python的应用范围
- 2. Python的学习流程
- 3. IDLE
- 4. 第一个游戏
- 5. BIF
- 二. 003. 变量和字符串 - 006. 常用操作符
- 1. 变量
- 2. 字符串
- 3. 原始字符串
- 4. 长字符串
- 5. 比较操作符(第一个游戏优化)
- 6. 数据类型
- 7. 算术操作符、逻辑操作符
- 三. 007. 分支与循环 (1) - 009. 分支与循环 (3)
- 1. 飞机程序
- 2. 判断与循环
- 3. 断言(assert)***
- 四. 010. 列表 (1) - 012. 列表 (3)
- 1. 创建列表
- 2. 向列表中添加元素
- 3. 从列表中获取元素
- 4. 列表分片(slice)
- 5. 列表操作符
- 6. 列表类型的内置函数
- 五. 013. 元组 (1) - 016. 序列
- 1. 元组和列表的区别
- 2. 字符串加强(内置方法、格式化**)
- 3. 序列
一. 000. 愉快的开始 - 002. 设计第一个游戏
1. Python的应用范围
操作系统、WEB、3D动画、企业应用、云计算
2. Python的学习流程
Python的常用语法 >> 面向对象的编程思维 >> 运用模块编程 >> 游戏编程 >> 计算机仿真
3. IDLE
IDLE是通过键入文本与程序交互的途径
>>> print('python')
python
>>> print('fishc\n' * 2)
fishc
fishc
4. 第一个游戏
print('----猜数字----')
guess = int(input('所猜数字为:'))
if guess == 8:print(' Bingo!')
else:print(' Wrong!')
print('--------------')
>>>
----猜数字----
所猜数字为:8Bingo!
--------------
>>>
----猜数字----
所猜数字为:6Wrong!
--------------
# 一个等号(=)赋值,两个等号(==)判断是否相等
5. BIF
BIF (build in functions) 意为内置函数,通过 dir(__builtins __) 可以获取所有的内置函数。
通过 help(function) 可获取该 function 的作用。
二. 003. 变量和字符串 - 006. 常用操作符
1. 变量
对于变量(variable)Python 与大多数计算机语言的做法稍有不同,并不是把值存储在变量中,更像是把名字贴在值的上面。故而有些 Python 程序员会说 “Python”没有“变量”,只有“名字”。
Note : 1. 使用变量前先赋值。
2. 变量名不可以以数字开头。
3. Python区分大小写。
2. 字符串
字符串指引号内的一切东西,也叫做“文本”。引号为成对的单引号或者成对的双引号。
>>> '5'+'8'
'58'
>>> 'let\'s go!' #反斜杠转义
"let's go!"
3. 原始字符串
原始字符串在字符串前加 ‘r’ ,在反斜杠后面的字符保持不变,并且反斜杠本身会保留在字符串中。
但用于字符串结尾有 \ 时,采用拼接的方式用普通字符串加上反斜杠,或者不用原始字符串。
>>> str = 'C:\now' #转义为空行
>>> print(str)
C:
ow>>> str_0 = 'C:\\now' #双\\得\
>>> print(str_0)
C:\now>>> str_r = r'C:\now' #原始字符串
>>> print(str_r)
C:\now>>> str_r1 = r'C:\now''\\' #原始字符串拼接
>>> print(str_r1)
C:\now\
4. 长字符串
跨越多行的字符串,三重引号字符串。
>>> str = '''123
456
789'''
>>> str
'123\n456\n789'
>>> print(str)
123
456
789
5. 比较操作符(第一个游戏优化)
增加整体循环的 while 语句和判断大小的 if - else 语句,random模块。
比较操作符:< , > , <= , >= , == , !=
import random
target = random.randint(0,9)
print('----猜数字----')
t = True
while t:guess = int(input('所猜数字为:'))if guess == target:t = Falseprint(' 正确!')else:t = Trueif guess > target:print(' 太大了!')else:print(' 太小了!')
print('--------------')
----猜数字----
所猜数字为:5太小了!
所猜数字为:8太大了!
所猜数字为:7正确!
--------------
6. 数据类型
数据类型 | 表示 | 示例 |
---|---|---|
整型 | int | 2 |
浮点型 | float | 2.55 |
字符串 | str | ‘abc123’ |
布尔型(特殊的整型) | bool | True(1) \ False(0) |
类型转换:
获得关于类型的信息:
type( ) 函数可以快速判断数据类型。
isinstance( ) 函数可以判断数据类型和预估的是否相同。
>>> a = True
>>> type(a) #type函数判断
<class 'bool'>
>>> isinstance(a,bool) #isinstance函数判断
True
>>> isinstance(a,int) #bool是特殊的int型
True
>>> isinstance(a,str)
False
7. 算术操作符、逻辑操作符
算数操作 | 符号 | 示例 |
---|---|---|
乘 | * | 3 * 2 = 6 |
除 | / | 3 / 2 = 1.5 |
整除 | // | 3 // 2 = 1 |
加 | + | 3 + 2 = 5 |
减 | - | 3 - 2 = 1 |
幂(优先级比左侧高,比右侧低) | ** | -3**2 = -9 \ 3 ** -2 = 0.111 |
逻辑操作 | 符号 | 示例 |
---|---|---|
交 | and | 1 and 0 = 0 \ 1 and 1 = 1 |
并 | or | 1 or 0 = 1 \ 0 or 0 = 0 |
反 | not | not 1 = False \ not 0 = True |
优先级:幂运算 > 正负号 > 算术操作符 > 比较操作符 > 逻辑操作符
三. 007. 分支与循环 (1) - 009. 分支与循环 (3)
1. 飞机程序
加载背景音乐
播放背景音乐(设置单曲循环)
我方飞机诞生
interval = 0
while True:
if 用户是否点击了关闭按钮:
退出程序
interval += 1;
if interval == 50:
interval = 0;
小飞机诞生
小飞机移动一个位置
屏幕刷新
if 用户鼠标产生移动:
我方飞机中心位置 = 用户鼠标位置
屏幕刷新
if 我方飞机与小飞机发生肢体冲突:
我方挂,播放撞机音乐
修改我方飞机图案
打印“Game over"
停止背景音乐(最好淡出)
2. 判断与循环
if - elif - else 所占用的 CPU 时间小于 if - if - if。
Python 特有的缩进判断可以防止悬挂 else 。(用 C 时注意!)
Python 的 for 循环也不同,常用range(start=0,end,step=1)
>>> str = 'abcde'
>>> for i in str:print(i,end = ' ')
a b c d e
>>> list = ['a','b','c','d']
>>> for j in list:print(j,len(list))
a 4
b 4
c 4
d 4
>>> for k in range(5):print(k)
0
1
2
3
4 #无5
break:终止全部
continue:终止本轮循环,判断后继续
三元操作符:small = x if x < y else y
3. 断言(assert)***
assert 这个关键字称为“断言”,当这个关键字后面的条件为假时,程序自动崩溃并抛出 AssertionError 的异常。
>>> assert(3>4)
Traceback (most recent call last):File "<pyshell#50>", line 1, in <module>assert(3>4)
AssertionError>>> assert(3<4)
>>>
四. 010. 列表 (1) - 012. 列表 (3)
数组只能放置数字,但列表可以放整数、浮点数、字符串、列表、对象。
1. 创建列表
list_str = ['a','b','c','d' ]
list_num = [1,2,3,4 ]
list_mix = ['a','b',1,[2,3,4] ]
list_empty = [ ]
print(list_str)
print(list_num)
print(list_mix)
print(list_empty)
['a', 'b', 'c', 'd']
[1, 2, 3, 4]
['a', 'b', 1, [2, 3, 4]]
[]
2. 向列表中添加元素
append(元素),extend( [ 元素,元素,元素 ] ),insert(位置,元素)
list_empty.append(1) #append只能加入一个元素
print(list_empty)list_empty.extend([2,3,5]) #extend加入多个元素(但要放在列表里加入)
print(list_empty)list_empty.insert(3,4) #insert在指定位置加入,先位置后元素
print(list_empty)
[1]
[1, 2, 3, 5]
[1, 2, 3, 4, 5]
3. 从列表中获取元素
remove(元素),del 列表名[序号],pop(元素)
list_get = [1,2,3,4,5,6,7]
list_get.remove(2) #remove方法里是要删除的值
print(list_get)del list_get[0] #del是语句,删除位数
#del list_get #也可删除全部
print(list_get)poped = list_get.pop() #未加值时自动抄写删除最后一位
print(poped)
print(list_get)poped = list_get.pop(0) #也可指定位数抄写删除
print(poped)
print(list_get)
[1, 3, 4, 5, 6, 7]
[3, 4, 5, 6, 7]
7
[3, 4, 5, 6]
3
[4, 5, 6]
4. 列表分片(slice)
用于一次性获得列表中的多个元素(其实就是拷贝)。
member = ['a','b','c','d']
member_slice = member[1:3] #将原列表中的[1][2]拷贝入新列表
print(member_slice)member_slice = member[:3] #将原列表中的[first]…[1][2]拷贝入新列表
print(member_slice)member_slice = member[1:] #将原列表中的[1][2]…[last]拷贝入新列表
print(member_slice)member_slice = member[1:] #将原列表中的[first]…[last]拷贝入新列表
print(member_slice)
['b', 'c']
['a', 'b', 'c']
['b', 'c', 'd']
['b', 'c', 'd']
5. 列表操作符
列表比较、列表相加、列表相乘、判断列表内值,列表中的列表。
list_1 = [123,456]
list_2 = [789]
list_3 = ['a',456]
list_4 = ['b']
print(list_1 < list_2) #列表比较 初位数字大小
print(list_3 < list_4) #列表比较 初位ASCII大小#类型要相同不然会报错!!!list_3 = list_1 + list_2 #列表加 必须两者都是列表
list_1.extend(list_2[:]) #列表加 = 列表1.extend(列表2[:])
print(list_3)
print(list_1)list_4 = list_3 * 3 #列表乘 = 重复乘数次列表内容
print(list_4)print('a' in list_3) #判断列表中有或没有某值
print('a' not in list_3)list_5 = [123,[1,2,3],456] #判断列表中的列表是否含有某值
print(1 in list_5)
print(1 in list_5[1])print(list_5[1][0]) #输出列表中的列表
True
True
[123, 456, 789]
[123, 456, 789]
[123, 456, 789, 123, 456, 789, 123, 456, 789]
False
True
False
True
1
6. 列表类型的内置函数
count(值) 、 index(值) 、reverse() 、sort()
list = [123, 456, 789, 123, 456, 789, 123, 456, 789]
print(list.count(123)) #列表包含指定值的个数print(list.index(123)) #列表中指定值的位置
print(list.index(123,1,7)) #列表[1:7]中指定值的位置list.reverse() #翻转列表
print(list)list.sort()
print(list) #列表从小到大排序
list.sort(reverse = True)
print(list) #列表从小到大排序
3
0
3
[789, 456, 123, 789, 456, 123, 789, 456, 123]
[123, 123, 123, 456, 456, 456, 789, 789, 789]
[789, 789, 789, 456, 456, 456, 123, 123, 123]
五. 013. 元组 (1) - 016. 序列
1. 元组和列表的区别
不同:
1.元组用 ( ),列表用 [ ]。
2.若元组中只有一个元素,元素后要加逗号,保持元组属性。
3.元组中的元素不能独个更改,但可以用切片的方式整个修改。
a = (1)
print(a)
print(type(a))a = (1,)
print(a)
print(type(a))a = (1,2,3,5,6,7)
print(a)
a = a[:3]+(4,)+a[3:]
print(a)
1
<class 'int'>
(1,)
<class 'tuple'>
(1, 2, 3, 5, 6, 7)
(1, 2, 3, 4, 5, 6, 7)
相同:选区与拷贝方法与列表相同。
可用拼接操作符、重复操作符、逻辑操作符、比较操作符。
2. 字符串加强(内置方法、格式化**)
字符串一旦定义,只能和修改元组一样修改。
string1 = ' I love . '
string1 = string1[:8]+'Python'+string1[8:]
print(string1)
print(string1.capitalize()) #字符串首字母大写,其余小写
print(string1.casefold()) #字符串全部小写
print(string1.title()) #字符串中所有单词首字母大写,其余小写
print(string1.lower()) #字符串全部小写
print(string1.upper()) #字符串全部大写
print(string1.swapcase()) #字符串大小写互换
I love Python. i love python. i love python. I Love Python. i love python. I LOVE PYTHON. i LOVE pYTHON.
print(string1)
print(string1.center(40)) #字符串居中,填充两端至总长度为40
print(string1.ljust(40)) #字符串左对齐,填充两端至总长度为40
print(string1.rjust(40)) #字符串右对齐,填充两端至总长度为40
print(string1.zfill(40)) #将字符串填充成wide = 40,右对齐,左侧加0
print(string1.lstrip()) #去掉字符串左边空格
print(string1.rstrip()) #去掉字符串右边空格
print(string1.strip()) #去掉字符串两侧全部空格
print(string1.join('123')) #在1,2,3中插入字符串
print(string1.split(' ')) #自动切分,找到空格就切
print(string1.partition('ov')) #用'ov'分割字符串为元组
print(string1.rpartition('ov')) #同上,从右侧开始分割
print(string1.replace('o','y',1)) #将'o'用'y'替换,替换一次
print(string1.translate(str.maketrans('o','y'))) #将'o'用'y'替换
I love Python. I love Python. I love Python. I love Python.
000000000000000000000000 I love Python.
I love Python. I love Python.
I love Python.
1 I love Python. 2 I love Python. 3
['', 'I', 'love', 'Python.', '']
(' I l', 'ov', 'e Python. ')
(' I l', 'ov', 'e Python. ')I lyve Python. I lyve Pythyn.
print(string1)
print(string1.count('o',8,12)) #查找字符串第7—12位中'o'的个数
print(string1.endswith('.')) #检验字符串是否以指定字符结尾
print(string1.startswith(' ')) #检验字符串是否以指定字符开头
print(string1.find('Pyth')) #检验字符串中是否有'Pyth',有返回索引值,无返回-1
print(string1.find('pyth')) #同上,有大小写的区分,可在后面加开始和结束索引
print(string1.rfind('Pyth')) #同上,从右侧开始找
print(string1.index('Pyth')) #和find相同,但如果不存在会产生一个异常
print(string1.rindex('Pyth')) #同上,从右侧开始找
I love Python.
0
False
True
8
-1
8
8
8
string2 = 'I\tlove\tPython.' #tab是将单词算进去的,I后加7,love后加4
print(string2)
print(string2.expandtabs(tabsize = 2)) #与上同理,改变tab的长度
I love Python.
I love Python.
string3 = '123456'
print(string3.isalnum()) #字符串是否(至少有一个字符)且(全是数字或字母)
print(string3.isalpha()) #字符串是否(至少有一个字符)且(全是字母)
print(string3.islower()) #字符串是否(至少有一个字符)且(全是小写字母)且(若是中文为false)
print(string3.isupper()) #字符串是否(至少有一个字符)且(全是大写字母)且(若是中文为false)
print(string3.isdecimal()) #字符串是否全是十进制数字
print(string3.isdigit()) #字符串是否只包含数字
print(string3.isnumeric()) #字符串是否只包含数字字符
print(string3.isspace()) #字符串是否只包含空格string4 = 'Aa Bb Cc Dd'
print(string4.istitle()) #字符串里是否所有首字母大写其余小写
True
False
False
False
True
True
True
FalseTrue
字符串的格式化是指换算成统一的好处理的模式。
replacement字段,format函数str.format(),若用0123混合abc使用,则0123要用于abc前面。
双花括号 {{0}} 最后输出都为 {0}。
>>> '{0} 2 {1}'.format('1','3')
'1 2 3'
>>> '{a} 2 {b}'.format(a = '1',b = '3')
'1 2 3'
>>> '{{0}}'.format('?')
'{0}'
冒号表示格式化符号的开始
>>> '{0:.1f}{1}'.format(27.658,'GB')
'27.7GB'
符号 | 说明 | 输入 | 输出 |
---|---|---|---|
%c | 格式化字符及其ASCII码 | ‘’%c %c’ %(65,97) | ‘A a’ |
%s | 格式化字符串 | ‘%s’ %‘I love python’ | ‘I love python’ |
%d | 格式化整数 | ‘%d + %d = %d’ %(1,2,1+2) | ‘1 + 2 = 3’ |
%o | 格式化无符号八进制数 | ‘%o + %o = %o’ %(10,11,10+11) | ‘12 + 13 = 25’ |
%x | 格式化无符号十六进制数 | ‘%x + %x = %x’ %(10,11,10+11) | ‘a + b = 15’ |
%X | 格式化无符号十六进制数(大写) | ‘%#X + %#X = %#X’ %(10,11,10+11) | ‘0XA + 0XB = 0X15’ |
%f | 格式化定点数,指定小数点后的精度 | ‘%.2f’ %1.234 | ‘1.23’ |
%e | 科学计数法格式化定点数 | ‘%.2e’ %123.145 | ‘1.23e+02’ |
%E | 作用于e相同 | ‘%.2E’ %123.145 | ‘1.23E+02’ |
%g | 根据数值大小决定用%f还是%e | ‘%+g’ %123.145 | ‘+123.145’ |
%G | 作用于g相同 | ‘%G’ %123456789.123456 | ‘1.23457E+08’ |
其中 ‘m.n’ m为显示的最小总宽度,n为小数点后的位数
‘-’ 用于左对齐
‘+’ 用于在正数前面画加号
‘#’ 在八进制前加‘0’,在十六进制前加‘0x’
‘0’ 在显示的数字前面填充0取代空格
3. 序列
可迭代对象指可以被循环遍历的对象,任何可以被循环遍历的东西都是可迭代对象。
用 list() 可以将可迭代对象转换为列表
a = 'abcdefg'
b = (1,2,3,4,5)
a_list = list(a)
b_list = list(b)
print(a_list,b_list)
['a', 'b', 'c', 'd', 'e', 'f', 'g'] [1, 2, 3, 4, 5]
用 tuple() 可以将可迭代对象转换为元组
a = 'abcdefg'
b = [1,2,3,4,5]
a_tuple = tuple(a)
b_tuple = tuple(b)
print(a_tuple,b_tuple)
('a', 'b', 'c', 'd', 'e', 'f', 'g') (1, 2, 3, 4, 5)
enumerate函数和zip函数
b = (1,2,3,4,5)
c = [6,7,8]
print(list(enumerate(b))) #(序号,b中值)
print(list(zip(b,c))) #(b中值,c中值)
[(0, 1), (1, 2), (2, 3), (3, 4), (4, 5)]
[(1, 6), (2, 7), (3, 8)]
Python基础笔记(1-1)相关推荐
- Python基础 笔记(一) Python的介绍
Python基础 笔记(一) Python的介绍 您好! 欢迎来到木易巷! 接下来,让我们一起来了解Python,走进Python~ 1.编程语言 编程语言(programming language) ...
- Python 基础笔记
Python 基础笔记 内置函数 print() 打印输出 type() 数据类型查询 isinstance() 判断数据是否是已知类型 input() 接受键盘输入 range() 函数 forma ...
- python基础笔记,超详细,包含面向对象基础,爬虫实战【持续更新中...】
前言: 本笔记中的函数和方法同义,面向python3 本笔记部分概念及代码由newbing搜集整理得出 本笔记适合有一定其他编程语言基础的同学,因为笔记中省略了部分基础概念(比如整型,浮点型等基本数据 ...
- python基础笔记(二)
<黑马>python笔记~二 前言 一.配套视频 二.python基础初级 三.python基础中级 四.python基础高级 目录 python基础中级(列表.元组.字典.字符串) 01 ...
- 霍格沃兹测试开发学社技术学习笔记之——Python基础笔记
# 阶段十一-Python语言和测试框架(1) ## 1.pycharm环境变量配置和安装 ## 2.基础数据类型 数字 字符串 ## 3.运算符 字符串算数运算符 比较运算符 赋值运算符 逻辑运算符 ...
- 廖雪峰Python基础笔记
python 1.第一个python程序 交互模式(>>>)退出用exit() 打印使用print()函数,打印的内容可以用单引号或者双引号括起来,但是不能够混用 命令行模式,可以输 ...
- python基础笔记_python基础学习笔记(九)
python异常 python用异常对象(exception object)来表示异常情况.遇到错误后,会引发异常.如果异常对象并未被处理或捕捉,程序就会用所谓的 回溯(Traceback, 一种错误 ...
- [PYTHON]python 基础笔记(1)
最近一直在研究python... 自学了一段时间,感觉对我这种本身脑子转不过弯的人来是真心是个不错的选择.. 以下是自己学习总结的笔记,有需要的朋友可以用来参考. 系统版本: Centos6.3 x6 ...
- Python基础笔记——函数
函数 1,函数是组织好的,可重复使用的,用来实现独立功能的代码段. 2,函数能提高应用的模块性,可以提高程序代码的重用率.(主要是因为懒,并且节省空间) 3,把代码封装到函数里,当需要使用时在调用出来 ...
最新文章
- vue读取终端硬件信息_[提示]在macOS终端上查看硬件信息
- 计算机理论专业研究生论文课题,计算机理论方向论文选题 计算机理论论文标题如何定...
- Python列表基础
- 【Kafka】Kafka集群扩展以及重新分布分区-分区重新分配
- vue 中基于html5 drag drap的拖放
- freemarker框架 在easyui页面中处理数字 比如在页面得到1,234
- 为了不把黑人兄弟认作大猩猩,谷歌的算法连真的大猩猩都不认识了
- 请大家推荐几个快速的.net+sql server2005的虚拟主机
- Linux shell逐行读取文件的方法
- 使用CrossOver的Wine配置修改容器WIndows系统版本
- C语言九九乘法表(五种输出形式)
- Word多级标题测试
- 性能工具之ab压力测试工具及ab命令详解
- 手机的1G,2G,3G和4G区别识记
- js 浏览器窗口活跃监听
- 第2部分 字符串算法(提高篇)--第2章 KMP算法-1468:OKR-Periods of Words
- 手游还能这么玩?电脑控制手机鼠标键盘大屏玩手游了解一下
- 压缩pdf文件到特定大小,pdf格式文件如何压缩到最小
- 用传感器建立地球中枢神经系统可预警天灾
- 基于kintex UltraScale XCKU060的双路QSFP+光纤PCIe 卡
热门文章
- Java根据两点经纬度计算距离
- 百度竞价排名曝光_百度爱采购的三大优势,及如何发优质商品。
- 用咖啡为模型解释一下装饰者模式
- 计算机网络中传输速率最快的,计算机网络中常用的传输介质中传输速率最快的是什么...
- pca图解读_利用R绘制PCA分析图(2)
- java for循环如何优化_java for循环及其优化
- MySQL实训报告【带源码】
- Vue.js 源码分析(五) 基础篇 方法 methods属性详解
- 根据单选框的选择来决定下拉框的禁用与否
- Python的安装和环境配置