Python简记—2020.7.13
一 、软件安装环境配置及工程建立
1、
2、
3、
4、
5、
6、
7、
8、
9、10、
11、
12、
13、
14、
15、
16、
17、
18、
19、
20、
二、Notes
(乱七八糟)
(一)、注释
1、#
注释:在python中使用#
表示单行注释
# 单行注释
2、多行注释
"""
多
行
注
释
"""
3、选中,Ctrl + /
多行注释
(二)、变量命名规则
1、标识符规则
字母、数字、下划线组成,且不能以数字开头
2、 常见命名规则
① 蛇形命名 :单词之间使用下划线分开, user_name
, e_mail
② 小驼峰名: 第一个单词首字母小写, 剩下的单词都大写, userName
③ 大驼峰:每个单词首字母都大写,类名使用
(三)、判断语句
if语句 格式1:
if 要判断的条件:
满足条件时要执行的事情
else:
不满足条件时要执行的事情
#满足条件部分要空四个空格, python是严格使用空格进行缩进的
if语句 格式2:
if 要判断的条件:
满足条件时要执行的事情
elif 要判断的条件2:
满足条件2时要执行的事情
elif 要判断的条件3:
满足条件3时要执行的事情
elif 要判断的条件3:
满足条件3时要执行的事情
else:
不满足条件时要执行的事情
(四)、数据类型的判断及转换
type(age) #判断变量age的数据类型
print(type(age)) #判断变量age的数据类型,并将其打印输出
age = int(age) #数据类型转换
(五)、循环体
1、while循环
格式:
while 循环条件:
循环体
附
:Python中没有自加自减i++
,i--
,可以使用i=i+1
或者i += 1
2、for循环
格式:
for 临时变量 in 可迭代对象:
循环体
可迭代对象
:可以一个一个取出来,通常将这种操作叫做遍历
例1
for x in 'abcdef':
print(x)
运行结果:
例2
for i in range(10):
print(i)
运行结果:
例3
for i in range(1, 11, 2):
print(i)
运行结果:
用法
:step:步长;左闭右开
for i in range(start, end, step):
print(i)
3、循环的嵌套
外层循环负责打印多少行,内层循环负责每一行的内容
例1
for i in range(5):
for j in range(7):
# print('*', end='\n') 默认 end='\n',换行, end='' 不换行
print('*','\t', end='')
print()
运行结果:
例2
for i in range(1, 10):
for j in range(1, i +1):
print(j,'x', i, '=', i*j,'\t' ,end='')
print()
运行结果:
(六)、常用数据类型
列表、元组、字符串、数字、字典、集合
1、列表 list
列表 list :类似于c中数组, 但是与数组不同的是,列表可以存储不同类型数据。
①列表的创建
②列表的访问 列表名[索引]
③列表的修改 列表名[索引] = 修改的值
④列表的增加
●append:在列表末尾进行追加
●insert: List.insert(索引, 插入元素)
●extend: 在已有列表末尾增加列表
⑤列表的删除
●del
●pop
删除指定位置的元素并且返回删除的这个值
●remove
List = ['L1','L2','L3','L4','L5','L6','L7',1,2,3,[10,20,30]] #列表的创建
print(List)
print(List[0]) #列表名[索引]
print(List[7])
print(List[10]) #子列表的访问
print(List[10][1]) #子列表中元素的访问
List[0] = 110
print('修改之后的值' , List) #列表的修改
List.append('L8')
print('append列表增加后', List)
List.insert(5, '安琪拉')
print('insert增加后的列表', List)
List.extend(['蒙犽', '上官婉儿'])
print('extend增加后的列表', List)
del List[5]
print('del删除指定', List)
res1 = List.pop() # 默认删除最res1 =后一个
print('res1', res1)
res2 = List.pop(11) # 默认删除最后一个
print('res2', res2)
print('pop传参',List)
List.remove('L2')
print('remove删除', List)
运行结果:
⑥列表的遍历
⑦列表的长度(元素个数)的测量
⑦列表推导式
⑧随机数模块
#遍历
List = ['L1','L2','L3','L4','L5','L6','L7',1,2,3,[10,20,30]] #列表的创建
print('遍历1')
for element in List:
print(element)
print('\t')
print('遍历2')
for i in range(7):
print(List[i])
# python使用len()测量容器元素的个数
print('\t')
print(len(List))
print('\t')
print('len()遍历')
for i in range(len(List)):
print(List[i])
# 列表推导式 : for 循环的精简模式
# 格式 [表达式 for 临时变量 in 迭代对象 if 条件]
print('\t')
print('列表推导式1',[i for i in range(10)])
print('列表推导式2',[i*4 for i in range(10)]) # 表达式可以进行计算
print('列表推导式3',[i for i in range(10) if i%2==0]) # 表达式可以进行计算
# 引入随机数模块
print('\t')
import random
# [-10, 10]区间随机生成一个整数
print('随机数1',random.randint(-10, 10))
print('随机数2',[random.randint(-10, 10) for i in range(6)])
运行结果:
2、元组
①tuple 元组, 类似于列表, 只不过不能修改。
②不能修改,就意味着没有 append等添加操作,也没del等删除操作。
③通常用于函数的返回值,安全。
④元组占用的空间比列表小, 运行速度也快。
a = ('T1', 111, 22.2)
print(a)
print(type(a))
# 访问tuple中的 element
print(a[0])
print(a[1])
print(len(a))
b = ('100',) # 只有一个元素的元组
print(type(b))
print(b[0])
运行结果:
3、字符串
①字符串想要访问某个字符·name[index]
,不支持多个访问
②字符串的切片slice
,是对目标截取一部分的操作。目标对象[start: end: step]
左闭右开
列表同样支持切片操作
name = 'shangdong青岛黄岛'
print(len(name))
# 字符串想要访问某个字符 name[index]
print(name[0])
# 目标对象[start: end: step] 左闭右开
print('name[0:9]',name[0:9])
print('name[0:9:2]',name[0:9:2])
print('name[:9]',name[:9])
print('name[9:]',name[9:])
print('name[0:-1]',name[0:-1]) # -1代表从右边第一个位置开始
print('name[-5:-1]',name[-5:-1])
print('name[-1:-5: -1]',name[-1:-5: -1])
print('name[::-1]',name[::-1])
运行结果:
③寻找字符串中的元素
●find :返回寻找到的索引, 找到第一个就返回, 找不到返回-1
●index :返回寻找到的索引, 找到第一个就返回, 找不到报错
# find/index
name = 'shangdong青岛黄岛'
print('name.find青',name.find('青')) # 返回寻找到的索引, 找到第一个就返回, 找不到返回-1
print('name.find岛',name.find('岛')) # 返回寻找到的索引, 找到第一个就返回, 找不到返回-1
print('name.find_shs',name.find('shs')) # 返回寻找到的索引, 找到第一个就返回, 找不到返回-1
print('name.index岛',name.index('岛')) # 返回寻找到的索引, 找到第一个就返回, 找不到报错
print('name.index_sh',name.index('sh')) # 返回寻找到的索引, 找到第一个就返回, 找不到报错
运行结果:
④strip
去两端空格
# strip 去两端空格
name_0 = 'shangdong青岛黄岛'
name_1 = ' shangdong青岛黄岛 '
name_2 = ' shangdong 青岛黄岛 '
print('len(name_0)',len(name_0))
print('len(name_1)',len(name_1))
print('len(name_2)',len(name_2))
name_1_strip = name_1.strip()
name_2_strip = name_2.strip()
print('name_1_strip',len(name_1_strip))
print('name_1_strip',name_1_strip)
print('name_2_strip',len(name_2_strip))
print('name_2_strip',name_2_strip)
运行结果:
⑤split
把字符串分割成列表
seg = 'i like python , python make me happy , i will go qingdaodao one month later'
seg_list1 = seg.split() # 没指定,默认按照空格分割
seg_list2 = seg.split(',') # 按照逗号分割
print('seg_list1:',seg_list1)
print('seg_list2:',seg_list2)
运行结果:
例
实现以下seg里面单词的个数统计
seg = 'i like python , python make me happy , i will go qingdaodao one month later'
num = []
seg_list = seg.split()
print('seg_list:',seg_list)
for word in seg.split():
if word ==',':
continue
else:
num.append(word)
print('num:',num)
print('len(num):',len(num))
运行结果:
⑥join
列表变成字符串
# join 列表变成字符串
list1 = ['i', 'like', 'python', 'python', 'make', 'me', 'happy', 'i', 'will', 'go', 'qingdaodao', 'one', 'month', 'later']
str1 = '_'.join(list1)
str2 = ' '.join(list1)
print(str1)
print(str2)
运行结果:
⑦replace替换
# replace替换
name = 'shangdong青岛黄岛'
name1 = name.replace('shangdong', '山东')
name2 = name.replace('g', 'G',1)
name3 = name.replace('g', 'G') #默认替换一次
print('name1:',name1)
print('name2:',name2)
print('name3:',name3)
运行结果:
⑧字符串的格式化
school_name = "山科大"
major = '生物医学'
print('{}是山东省知名院校, 主要是学生颜值较高,尤其是{}专业'.format(school_name, major))
运行结果:
例1
:字母猜测
Method1
import random
words = ['program','banana','tiger','policeman','interface']
index = random.randint(0,len(words) - 1)
word = words[index]
wordbak = '-' * len(word)
print(wordbak)
guessTimes = 5
wordlst = list(wordbak)
while True:
if guessTimes <= 0:
break
if '-' not in wordlst:
break
char = input('请输入一个字符:')
if char in word:
for i,c in enumerate(word):
if c == char:
wordlst[i] = char
else:
guessTimes -= 1
print('你还剩下{}次机会'.format(guessTimes))
print(''.join(wordlst))
if guessTimes > 0:
print('you win')
else:
print('you lose')
运行结果:
Method2
import random
words = ['program','banana','tiger','policeman','interface']
#
index = random.randint(0, len(words)-1)
word = words[index]
print(word)
wordbak = '-'*len(word)
wordList = list(wordbak)
print(wordbak)
guessTimes = 5
while True:
if guessTimes <=0:
break
if '-' not in wordList:
break
char = input('请输入一个字符')
if char in word:
for i, c in enumerate(word):
if c == char:
wordList[i] = char
else:
guessTimes -= 1
print('你还有', guessTimes,'机会' )
print(''.join(wordList))
if guessTimes > 0:
print('you win')
else:
print('you lose')
运行结果: