前记: 2019年4月的时候曾经自学Python,当时学习的原因是为了追随同学的步伐,但是稍微入门之后,发现在比赛中没法提交Python语言,所以至今为止基本未曾使用过,现在学习人工智能需要使用Python来实现,于是在此通过之前学习做的笔记记录复习(主要是对比与c++的不同与python自带的强大功能)。

PYTHON 快捷取消注释的按键

PYTHONa=[0,2,3]
"""'''[],{},()可多行'''"""if a[0]:print("answer")print("answer")
else:print("answer1")input("\n") # 如果input("\n")则为输入之后输出空格print("answer")"""单引号,双引号都可以引字符串,""""""三个双引号或者三个单引号一般表示多行注释"""# 单行注释一般用#'''空行用于区分不同函数入口,但是没有空行也不会报错,只是便于日后维修'''b=1b=input('输入b:'); print(b) # 同行输入多语句时用分号隔开print(b,b) # 在变量末尾加逗号则可不换行输出K=P=W="Hello" # 同时为多个变量赋值k,p,w=1,2,3 # 多个对象指定多个变量print(K,P,W)print(k,p,w)del a # 删除a用于eval()用于返回表达式的值; 还可用于提取纯数字的字符串中的数字
>>>x = 7
>>> eval( '3 * x' )
21
>>> eval('pow(2,2)')
4
>>> eval('2 + 2')
4
>>> n=81
>>> eval("n + 4")
85
# eval()函数表示把里边的数字提取出来
a=eval(input("asdown152"))
print(a)import turtle # 引入turtle库painter=turtle.Turtle()painter.pencolor("blue")painter.speed(100)for i in range(120):painter.forward(80)painter.right(100)painter.forward(80)painter.right(100)painter.forward(80)painter.penup()painter.setposition(0,0)painter.pendown()painter.right(3)turtle.exitonclick() # 鼠标点击关闭绘图窗口import turtle
turtle.pensize(2) #画笔大小
turtle.speed(100)
turtle.color('blue') # 常用颜色:whilte,black,grey,darkgreen,gold,violet,purple,blue,red,yellow
turtle.penup() # 抬起画笔
turtle.setposition(-300,100) #设置位置
turtle.pendown() # 放下画笔lu = 80
for count in range (12):for amount in range (5):turtle.forward(lu)turtle.right(144)lu += 50
turtle.exitonclick()s = "PYTHON"
s[-1]='N' s[0:3]="PYT" s[0]='P'
if elif #(if 以及else if)
p = 5
if (p == 5) and (p == 9): # or相当于|| and相当于&&pass
if s == "PYTHON": #(执行)
pass(占位符) **表示幂运算 //表示地板除法(舍去小数部分,返回数字比商小的最接近的数字
a[n,m,k]表示获取下标n到下标m [n+k,n+2k...m](均表示下标)def getmin(x , y): # def为函数前缀if x < y :ans = xelif x > y:ans = yelse : return 0return ansdef main(): # 主函数a = input("输入a:")b = input("输入b:")a = eval(a)b = eval(b)x = getmin(a,b)print("a与b中较的是:",x)ki = lambda a, b: a > b# lambda为特殊函数(匿名函数),用于简单的能在一行内表达的函数,计算结果为返回值(可直接在要使用的主函数中定义)# 方法:函数名 = lambda 参数列表 : 表达式tof = ki(a, b)# 用一个参数来接收lambda函数 ,括号引入参数if __name__ == '__main__': # 惯例:一般这样引用main函数, 两个下划线加一个变量名再加两个下划线相当于一个特殊的变量名main()i = 10
while i : # 使用方法while 条件 : 表达式print(i)i = i - 1
intp = input("输入intp,输入Q时退出程序")
while intp != 'Q':print(intp)import turtleturtle.pensize(2)  # 画笔大小
turtle.speed(50)
turtle.color('blue')  # 常用颜色:whilte,black,grey,darkgreen,gold,violet,purple,blue,red,yellow
turtle.penup()  # 抬起画笔
turtle.setposition(-300, 100)  # 设置位置
turtle.pendown()  # 放下画笔def draw(lu): # 递归绘制N个五角星if lu >= 400:returnfor amount in range(5):turtle.forward(lu)turtle.right(144)draw(lu+50)import turtledef draw_tree(ps,branch_length):if ps <= 0: returnturtle.pensize(ps)if branch_length <=40:turtle.pencolor('green')if branch_length > 5 :turtle.forward(branch_length)turtle.right(25)draw_tree(ps-3,branch_length-25)turtle.right(20)draw_tree(ps-3,branch_length-25)turtle.left(20)turtle.left(50)draw_tree(ps-3,branch_length-25)turtle.left(20)draw_tree(ps-3,branch_length-25)turtle.right(20)turtle.right(25)turtle.backward(branch_length)turtle.pencolor('brown')def main():turtle.speed(1000)turtle.penup()turtle.setposition(0,-200)turtle.left(90)turtle.pendown()turtle.pencolor('brown')draw_tree(17,150)turtle.exitonclick()if __name__ == '__main__':main()type()用于判断数据类型,int(),double(),str()等用于强行转换
print() 里面空则为输出空行
str.find() 为找到括号里面的字符下标
str.split() 为以括号里面的字符进行分割:如a = 's k l h' ,a.split(' ')则可获得数组(list)['s','k','l','h'],下标为0,1,2,3k = 'nmsl'
p = 'wsnd'
s = 'hjyz'
print('站格符{},{},{}'.format(k,p,s)) # 在print里面用{}表示站格,在''结束后面打.format()即可将括号里的在{}位置输出
{0}表示输出.format()里第0个位置,{1}表示输出第一个位置......
字符串*2结果是在原先字符串后面再加一个相同的字符串try: # 尝试运行以下代码,如果出现错误,则执行以下错误列表代码 ,ValueError,TypeError,KeyError,IndexError等等pass # 代码块
except ValueError: # 如果数据错误则执行以下pass # 代码块
except IndexError: # 如果下标错误(超下标及其他)pass # 代码块
except: # 其他错误pass # 代码块import math
l1 = [] # 声明一个空list
l1 = [0,1,2,3,4] # list数据类型
del l1[0] # 删除l1[0]
l1 += l1 # 两个list相加为把后面的加载前面
l1 *= 2 # 把list里的数据乘2放在最后面
len(l1) # 获取数组大小
2 in l1 # 判断2是否在l1中
l1.append(5) # 将5加在l1尾部
l1.sort # 将l1排序
l1.reverse() #  将l1逆序
l1.index(5) #返回5的下标
l1.insert(2,'k') # 将'k'插入到第2个位置
l1.count(3) # 返回3在数组中的数量
l1.remove(4) # 删除数组中最前的4
l1.pop(2) # 取出l1第2个位置的元素并且将其删除k = math.pi # 圆周率
math.ceil(5.2) # 对5.2向上取整
math.floor(5.2) #对5.2向下取整
math.pow(2,5) # 求2的5次方
math.sqrt(9) # 求x的平方根
math.fsum(l1) # 对l1中元素求和for <x> in <list>: # 循环次数为list序列长度,x第一次为list[0]...到list[n]<body> # 代码块
for <x> in range <y>: # x从0开始到y<body>在函数中使用全局变量要在前面加 global 表示使用的是全局变量import datetime # datetime库 ,datetime里还有datetime库,可以直接import datetime.datetime
nowtime = datetime.datetime.now() #获取当前系统时间 ,类型为datetime.datetime
str = '2019.04.10'
getstrtime = datetime.datetime.strptime(str, format('%Y.%m.%d'))
print(getstrtime)
# 根据格式来获取字符串中的时间,'.'可替换,'Y'为4位的年份,'y'为2位,'m'为月份,'d'为日
y = getstrtime.year
m = getstrtime.month
d = getstrtime.day # 获取年月日
year, weektime, weekday = getstrtime.isocalendar() # 获取年,第几周,周几三个数字, # getstrtime.isocalendar()[1] 表示获取第2个数字
print(year, weektime, weekday)
print(datetime.datetime.strftime(nowtime,'%Y/%m/%d')) # 把datetime.datetime 类型转换成字符串t = (1,2,3) # tuple 元组数据类型
一旦被创建就不能够修改 ,用逗号和圆括号表示如:('red','blue'),(1,2,3)等
访问方式与列表相同,元组中数据类型可以不同,可用于函数多返回值:return a,b
sum()用于求和其中列表的数字 如:
day = 5
t = (21,21,33,66,25,84,92,31)
print(sum(t[:day-1]))l = [1,0,3]
l = set(l) # 把l变成集合,集合其他操作与元组,列表相同
p = {5,6,3,1} # 集合元素不重复且无序, 用于去重
print(l-p) # l-p或者l.difference(p) 返回在l中,不在p中的元素
# s&t 或s.intersection 返回s和t的交集元素
# s|t 或s.union(t) 返回s和t的并集元素
# s^t 或s.symmetric_difference(t) 返回s并t-s交t的元素
if 3 in l: # 判断元素是否在集合里直接用inl.remove(3)d = dict() # 字典类型,相当于map
d['kiss'] = 520 # 添加
del d['kiss'] # 删除
if 'kiss' in d: # 判断'kiss'是否存在d里print(d['kiss'])
for key in d: # 遍历d所有的keypass
for value in d.values(): # 遍历所有的valuepass
for item in d.items(): # 遍历所有的数据项passwhile (True):str1 = input('输入密码:')strength = 0length = len(str1) # 获取字符串长度if length >= 8: strength += 1if str1.isnumeric() == False: strength += 1 # 判断字符串是否只由数字组成if str1.isalpha() == False: strength += 1 # 判断字符串是否只由字母组成if strength == 3:print('密码符合要求')f = open('E:\python读入测试文本.txt', 'a')  # open(filename,mode) 文件名+打开模式,(文件名包括路径, 打开模式:r:只读,w:只写,a:在文件末尾附加,r+:读写)f.write('合格的密码:{},密码强度:{}'.format(str1,strength))f.close()breakelse:print('密码不符合要求')f = open('E:\python读入测试文本.txt', 'a')  # open(filename,mode) 文件名+打开模式,(文件名包括路径, 打开模式:r:只读,w:只写,a:在文件末尾附加,r+:读写)f.write('不合格的密码:{},密码强度:{}'.format(str1,strength))f.close()continuef = open('E:\python读入测试文本.txt', 'r')
# read()返回值为包含整个文件内容的一个字符串 readline()返回值为文件下一行内容的字符串 readlines()返回值为整个文件内容的列表list,list每项以换行符为结尾的一行字符串
for line in f.readline(): # 文件的遍历pass # 处理一行数据
for line in f: # 文件的遍历pass # 处理一行数据
f.close()class filetool:def __init__(self,filepath): # 要传进文件路径self.filepath = filepathdef writetofile(self,line):f = open(self.filepath,'a')f.write(line)f.close()def readfromfile(self):f = open(self.filepath,'r')lines = f.readlines()f.close()return linesclass passwordtool: # 类的声明def __init__(self,passw): # 初始化构造函数,self表示类本身(相当于this指针)# 类的属性直接在这里声明即可self.password = passwself.strenth_level = 0# 每个类函数参数最好第一个写selfdef progress(self):if self.checkletter:self.strenth_level += 1if self.checknumber():self.strenth_level += 1if len(self.password) >= 8:self.strenth_level += 1if self.strenth_level == 3:print('密码符合要求')filet = filetool('E:\python读入测试文本.txt')filet.writetofile('合格的密码:{},密码强度:{}\n'.format(self.password, self.strenth_level))else:print('密码不符合要求')filet = filetool('E:\python读入测试文本.txt')filet.writetofile('不合格的密码:{},密码强度:{}\n'.format(self.password, self.strenth_level))# open(filename,mode) 文件名+打开模式,(文件名包括路径, 打开模式:r:只读,w:只写,a:在文件末尾附加,r+:读写)def checkletter(self):for c in self.password:if c.isalpha():return Truereturn Falsedef checknumber(self):for x in self.password:if x.isnumeric():return Truereturn Falsedef main():while True:passwt = passwordtool(input('输入密码:'))passwt.progress()filet = filetool('E:\python读入测试文本.txt')lines = filet.readfromfile()print(lines)returnif __name__ == '__main__':main()import random
random() # 生成[0,1.0)之间的随机浮点数
random.uniform(a,b) # 生成a到b之间的随机浮点数
random.randint(a,b) # 生成a到b之间随机整数
random.choice(<list>) # 从list列表里随机返回一个元素
random.shuffle(<list>) # 将列表中的元素打乱
k = [1,2,3,4,5,6,7,8,9,9]
print(random.sample(k,5)) # 从list列表里随机获取k个元素for i, result in enumerate(list): # enumerate()返回列表或者元组的两个数据:一个是下标一个是该下标对应的元素print('下标:{},元素:{}'.format(i,result))l1 = list(range(1,6)) # range 是1到n-1,所以要1到n要写n+1
l2 = ['a','b','c','d','e']
k = zip(l1,l2) # zip用于将两个列表连接起来成为n个元组为元素的列表:[(1,'a')...] ,不可修改,若要修改则要转换成字典:dict(zip(l1,l2))
d = dict(zip(l1,l2))
print(d)绘制散点图
import matplotlib.pyplot as plt # matplotlib是一个数据可视化函数库,matplotlib的子模块pyplot提供了2d图表制作的基本函数
plt.rcParams['font.san-serif'] = ['SimHei'] # 要输出中文时要把字体更改,否则不行
plt.rcParams['axes.unicode_minus'] = False
for x,y in range(1,10):plt.scatter(y,x,c='red',alpha=0.5) # x,y是x跟y的坐标alpha是透明度,c是颜色
k = [10,15,12,4,8,3]
# 直方图,k为高度,bins为每项的间距,normed为概率求和,edgecolor边缘线颜色,linewidth为每条边缘线间距
plt.hist(k,bins=range(1,7),normed=1,edgecolor='black',linewidth=1)
plt.title('统计') # 标题
plt.xlabel('x') # 设置x轴名称为x
plt.ylabel('s') # 同上
plt.show()import numpy as np
# arr = np.random.randint(1,10,(3,4)) # 表示生成1到9,三行四列个随机数(直接写一个整型就是一列)
# # numpy的数组可以直接相加,如矩阵加法
# print(arr)i=input()
j=input()
u=eval(i)
v=eval(j)
l = 0
r = 1
while r**u <= v:l = rr = r*2
while l+1 < r:m = (l+r)//2if m**u <= v:l = melse: r = m
if r**u <= v: print(r)
else: print(l)print(r"D:\three\two\one") //r后面的字符串表示原始字符串,转义字符不再生效

2020.9.30 PYTHON 自复习笔记相关推荐

  1. (萌新笔记)python的复习笔记

    简介:python,作为我在暑假入门的第一门语言,我发现它特别简洁和实用,因此我想记录我的python学习过程,现在刚刚大一入门(我比较弱鸡,所以本文可能会有记录很多我初学时遇到的问题,还请大家斟酌观 ...

  2. 大一Python期末复习笔记

    目录 前言 一,输出格式控制 ①多行输出 ②不换行输出 ③精度保留和对齐 Ⅰ.format Ⅱ.f'{}' Ⅲ.% 二,嵌套 ①嵌套循环 Ⅰ.for Ⅱ.while ②嵌套列表,字典 三,列表与字符串 ...

  3. Python期末复习笔记

    author:Nakiri 本文存在部分知识点的遗漏,以个人使用习惯进行整理,仅作期末复习使用!! 第一章 Python概述 Python的特点 简洁.实现同样的功能时相对于其他语言的代码量最少. 语 ...

  4. python 期末复习笔记

    关于python大数据分析的期末选择题已经整理好啦,关注公众号:大数据智库,回复[大数据选择题],即可获得网盘连接! 文章目录 1.类型 数据类型 数值类型 值类型与引用类型 可变与不可变对象类型 1 ...

  5. python中lastch_python复习笔记

    #python复习笔记 ##基础 1.下划线(_)在解释器中有特别的含义,表示最后一个表达式的值. Microsoft Windows [版本 6.1.7601] 版权所有 (c) 2009 Micr ...

  6. Python复习笔记——基础知识

    Python复习笔记-基础知识 文章目录 Python复习笔记-基础知识 Python变量 基于值的内存管理方式 赋值语句的执行过程 Python定义变量名的规范 运算符和表达式 加+ 乘* 除/ % ...

  7. 数据结构(c语言版)笔记6,2020考研计算机《数据结构(C语言版)》复习笔记(6)

    2020年计算机考研复习已经开始,新东方在线在此整理了2020考研计算机<数据结构(C语言版)>复习笔记(6),希望能帮助大家! 第六章 树知识点整理 树是n个结点的有限集合,非空时必须满 ...

  8. 【Python数据分析与可视化】期末复习笔记整理(不挂科)

    [Python数据分析与可视化]期末复习笔记 1. 数据分析与可视化概述 对比 概念 常用工具 Python常用类库 Jupyter notebook中的常用快捷方式 2. Python编程基础 co ...

  9. 华北电力大学《随机过程·2020年冬》复习笔记

    pdf版本笔记的下载地址: 华北电力大学<随机过程·2020年冬>复习笔记(访问密码:3834) 华北电力大学<随机过程·2020年冬>复习笔记 ch1 预备知识 分布 全概率 ...

最新文章

  1. Django框架(十)--常用字段、参数、元信息、多对多关联关系
  2. 多线程设置操作时间间隔_听说,有位Java程序员学完这59道多线程面试题之后,直接面上阿里...
  3. java爬虫自动识别验证码_简单Java爬虫(一)爬取手机号码
  4. INSTALLSHIELD11.5中打包水晶报表的问题,ScriptProject与ScriiptMSIProject差异引起的错误!...
  5. linux脚本制定java堆大小_Java使用比堆大小更多的内存(或正确的Docker内存限制大小)...
  6. 有时,你离成功的 exploit 只差一个信息泄漏:通过 ID tag 找到它
  7. dom文档对象模型图
  8. 如何让地面不起灰_水泥地面起灰怎么办?
  9. 2022华为杯研究生数学建模竞赛B题思路解析
  10. iOS 仿微信朋友圈实现
  11. CnOpenData中国行政区划数据简介
  12. 关于求职及面试的一些小技巧
  13. C#实现的打飞机游戏(课程设计)
  14. 安卓手机运行ios教程_英雄联盟手游公测,安卓/苹果iOS注册下载教程!
  15. 一个GCRoot不可达的对象,会立刻被垃圾回收吗?
  16. 无代码资讯 | 数睿数据受邀参加“聚势生态·携手共赢”2021Tridium生态发展大会
  17. Vue 点击文字改变文字颜色
  18. Raft算法实现 - Sofa-JRaft,选主,数据写入,日志复制
  19. 英语听说读写 复读机软件LangStream
  20. 判断三个数是否能构成三角形_七年级 初一下册数学三角形专题复习提纲及经典例题...

热门文章

  1. layui表格重载后界面闪动解决方案
  2. echarts修改背景线条及坐标轴颜色样式
  3. Win7 任务栏上程序名称修改问题
  4. 使用LumaQQ来开发QQ机器人
  5. R语言 编写自定义函数
  6. 以资深面试官的角度告诉大家面试前可以做的准备
  7. “褶子”使花朵美丽起来
  8. ubuntu 桌面任务栏不见解决方案
  9. 10/11论文关键词,自动去偏框架论文翻译,发文章思考
  10. css3从入门到熟练运用(三):炫目字体,多样背景和渐变颜色,神奇边框