python学习笔记(一)
Pythonturtle库的学习笔记
Pythonturtle库的学习笔记python turtle 库的学习笔记turtle(海龟)是Python重要的标准库之⼀,它能够进⾏基本的图形绘制。
turtle图形绘制的概念诞⽣于1969年,成功应⽤于LOGO编程语⾔。
turtle库绘制图形有⼀个基本框架:⼀个⼩海龟在坐标系中爬⾏,其爬⾏轨迹形成了绘制图形。
刚开始绘制时,⼩海龟位于画布正中央,此处坐标为(0,0),前进⽅向为⽔平右⽅。
在Python3系列版本安装⽬录的Lib⽂件下可以找到turtle.py⽂件。
⼀使⽤import保留字对turtle库的引⽤有如下3种⽅式,效果相同:(1)import turtle对turtle库中函数调⽤采⽤turtle.<函数名>( )形式:(2)from turtle import *对turtle库中函数调⽤采⽤<函数名>( )形式,不再使⽤turtle.作为前导:(3) import turtle as t保留字as将turtle库给予别名t,则对turtle库中函数调⽤采⽤更简洁的t.<函数名>( )形式:⼆绘图的基础知识(1)绘图窗⼝设置命令turtle.setup(400,300,200,100):参数以此(宽,⾼,距离屏幕左边距离,距离屏幕上⽅距离),屏幕左上⾓原点,单位像素。
(2)运动命令turtle.goto(x,y):直接跳转到(x,y)点,以绘图窗⼝中⼼为原点,向右为x轴,以上为y轴。
turtle.fd(d)、turtle.forward(d):以当前⽅向,往前⾏进d像素。
turtle.bk(d)、turtle.backword(d):保持当前⽅向不变,往后退⾏d像素。
turtle.circle(r,angle):从当前位置以r为半径圆的angle⾓度旋转。
(3)⽅向设置命令turtle.seth(angle):以x轴⽅向为起点将⽅向偏转为angle度,逆时针为正。
python教程/学习笔记
无论什么情况下,使用UTF-8 才是王道! 1 # -*- coding:utf-8 -*2 2.2.5. 导入 通常应该在单独行中使用导入。 例如:No: import sys, os Yes: import sys import os 但是这样也是可以的: from types import StringType, ListType imports 应该放在文件的顶部,仅在模块注释和文档字符串之后,在模块的全局变量和常量之前。 Imports 也是有顺序的:1)Python 标准库的import;2)第三方库的import;3)自定义的库的import; 并且在每组的import 之间使用一行空行分割。 2.2.6.以下地方不推荐出现空格: 1) 紧挨着圆括号,方括号和花括号的 如:"spam( ham[ 1 ], { eggs: 2 } )".写成"spam(ham[1], {eggs: 2})". 2) 紧贴在逗号,分号或冒号前的 如: "if x == 4 : print x , y ; x , y = y , x". 写成"if x == 4: print x, y; x, y = y, x". 3) 紧贴着函数调用的参数列表前开式括号的 如: "dict ['key'] = list [index]". 写成"dict['key'] = list[index]". 4) 紧贴在索引或切片下标开始的开式括号前 如: "dict ['key'] = list [index]".写成"dict['key'] = list[index]". 5) 在赋值(或其它)运算符周围的用于和其它并排的一个以上的空格,如: 1x=1 2y=2 3 long_variable = 3 写成 1x=1 2y=2 3 long_variable = 3 6)始终在这些二元运算符两边放置一个空格:赋值(=), 比较(==, <, >, !=, <>, <=,>=, in, not in, is, isnot), 布尔运算(and, or, not). 按 你的看法在算术运算符周围插入空格. 始终保持二元运算符两边空格的一致.一些例子: 1 i = i+1 2 submitted = submitted + 1 3 x = x*2 - 1 4 ypot2 = x*x + y*y
千锋教育 宋宋 python基础笔记
【主题】千锋教育宋宋 Python基础笔记近年来,随着人工智能技术的发展和应用,编程语言 Python 也逐渐成为了热门话题。
作为一种易学易用且功能强大的编程语言,Python 在各行各业都有着广泛的应用。
为了系统地学习Python编程,我选择了千锋教育的宋宋老师的Python基础课程,并从中整理出了以下笔记,以供大家参考。
一、Python基础概述1.1 Python简介Python是一种高级编程语言,具有简洁、清晰和易读的特点。
它被广泛应用于数据科学、人工智能、网络开发等领域。
1.2 Python的特点Python具有简单易学、开源免费、跨评台、强大的标准库等特点,因此备受程序员的喜爱。
1.3 宋宋老师的教学风格宋宋老师以通俗易懂的语言进行讲解,深入浅出地介绍Python编程的基础知识,让学习者能够轻松理解和掌握。
二、Python基础语法2.1 变量与数据类型Python中的变量不需要事先声明,直接赋值即可创建,而且可以灵活地改变数据类型。
2.2 控制流程Python中的控制流程包括顺序结构、分支结构和循环结构,通过这些结构可以灵活控制程序的执行流程。
2.3 函数与模块函数是Python中的重要概念,通过函数可以封装可重复使用的代码。
而模块则是一个包含Python定义和语句的文件,用来组织代码。
三、Python基础应用3.1 文件操作Python可以轻松地进行文件的读写操作,包括文本文件和二进制文件。
3.2 异常处理Python中的异常处理能够帮助程序更加健壮地运行,避免因错误而导致程序崩溃。
3.3 数据结构Python中有多种数据结构,如列表、元组、字典和集合,能够满足不同场景下的数据存储和处理需求。
四、个人观点与总结通过学习千锋教育宋宋老师的Python基础课程,我对Python编程语言有了更深入的了解和掌握。
宋宋老师的教学风格深受我喜爱,他的讲解通俗易懂,让我快速掌握了Python编程的基础知识。
Python基础语法嵩天笔记
1Python基本语法元素1.1计算机发展历史上最重要的预测法则摩尔定律:单位面积集成电路上可容纳晶体管数量约2年翻倍cpu/gpu、内存、硬盘、电子产品价格等都遵循此定律50年来计算机是唯一一个指数发展的领域源代码、目标代码(机器代码)编译、解释静态语言、脚本语言静态语言编译器一次性生成目标代码,优化更冲份,程序运行速度更快脚本语言执行程序时需要源代码,维护更灵活程序的基本设计方法IPOI:input文件输入、网络输入、控制台输入、交互界面输入、内部参数输入P:process处理O:output控制台输出、图形输出、文件输出、网络输出、操作系统内部输出6个步骤:-分析问题:分析问题的计算部分,想清楚-划分边界:划分问题的功能边界,规划IPO-设计算法:设计问题的求解算法,关注算法-编程-调试测试-升级维护3个精简步骤:确定IPO、编程、调试运行计算思维(编程体现了一种抽象交互关系、自动化执行的思维模式)、逻辑思维、实证思维1.2python蟒蛇psf拥有者,开放、开源精神Guido van Rossum创立2002年2.x2008年3.xpython3不兼容python2交互式、文件式linux自带python2和python3,无需安装,不过没有pip,要安装apt install python3-pip 1.3实例1:温度转换需求:摄氏度与华氏度相互转换1.4Python程序语法元素分析程序的格式框架:代码高亮是辅助缩进是语法要求一般4个空格或者1个tab表达代码间包含和层次关系的唯一手段注释:单行注释#多行注释”’”’命名:给变量关联标识符的过程命名大小写敏感、首字符不能是数字、不与保留字相同保留字:被编程语言内部定义并保留使用的标识符也大小写敏感33个数据类型字符串用‘’或“”正向递增序号、反向递减序号正向0开始编号索引:可以使用[M]索引其中单个字符切片:可以使用[M:N]返回其中一段子串,从第M到第N-1个字符数字类型:整数、浮点数列表:表示0到多个数据组成的有序序列,采用,分隔各元素,使用in判断一个元素是否在列表中=赋值主语句分支语句if elif else构成eval评估函数去除参数最外侧引号并执行余下语句的函数垂直输出hello worldfor i in“Hello World”:print(i)输出x=input()print(eval(x)**0,eval(x)**1,eval(x)**2,eval(x)**3,eval(x)**4,eval(x)**5)2.Python基本图形绘制2.1计算机演进过程:1946-1981计算机系统结构时代计算能力问题1981年个人pc诞生1981-2008网络和视窗时代交互问题2008Android诞生标志pc转向移动2008-2016复杂信息系统时代数据问题2016年alpha go打败人类2017-人工智能时代人类的问题新计算时代过度到人工智能时代的中间时代编程语言的初心不完全统计600多中语言常用的也就那么20来种python已经在tiobe排行超过C++跃居第三Python语言的特点:Python语言是通用语言、脚本语言、开源语言、跨平台语言、多模型语言–强制可读性(缩进)–较少的底层语法元素–多种编程方式–支持中文字符–C代码量的10%语法简洁*10倍的–13万第三方库生态高产*10–快速增长的计算生态每年2万–避免重复造轮子–开放共享–跨操作系统平台人生苦短我学Python–C/C++:底层C归C对效率无要求Python归Python–Java:针对特定开发和岗位需求–HTML/CSS/JS:不可替代的前端技术,全栈能力(前端+后端)-R/GO/Matlab等:特定领域Python是最高产的程序设计语言–掌握抽象并求解计算问题综合能力的语言-了解产业界解决复杂计算问题方法的语言-享受利用编程将创新变为实现乐趣的语言工具决定思维:关注工具变革的力量!编程语言种类的发展超级语言:粘性整合已有程序,具备庞大计算生态高级语言:接近自然语言,编译器,与CPU型号无关汇编语言有助记将,汇编器,写CPU型号有关机器语言代码直接执行,与CPU型号有关超级语言-具有庞大计算生态,可以很容易利用已有代码功能-编程思维不再是刀耕火种而是集成开发·完成2+3功能的高级语言result=sum(2,3)python具有最庞大的生态库,是唯一的超级语言,前进步伐不可阻挡2.22.3turtle库基本介绍import保留字引入turtle绘图库海龟绘图体系turtle库是turtle绘图体系的Python实现1969年诞生,主要用于程序设计入门Python的标准库之一入门级的图形绘制函数库Python计算生态=标准库+第三方库库library,包package,模块module,统称模块Turtle的绘图原理有一只海龟,其实在窗体正中心,在画布上游走,走过的轨迹绘制的图形,海龟由程序控制,可以变换颜色宽度turtle绘图窗体布局;设置绘图窗体的位置turtle的一个画布空间最小单位是像素屏幕坐标系:屏幕左上角为00turtle.setup(width,height,startx,starty)后两个可选默认屏幕中央并不是必须的用来设置窗体大小和窗体左上角与屏幕左上角的相对位置turtle空间坐标系:绝对坐标海龟在屏幕中央记为(0,0)坐标原点turtle.goto(x,y)去到什么位置海龟坐标以海归的视角turtle.fd(d)前,turtle.bk(d)后,turtle.circle(r,angle)左侧r为止为中心行走angle角度的弧线turtle角度坐标体系绝对角度改变海龟前进方向turtle.seth(angle)海龟角度turtle.left(angle),turtle.right(angle)例子:RGB色彩体系0-255整数或0-1的小数默认采用小数制,可切换为整数制turtle.colormode(mode)mode为1.0或2552.4turtle语法元素分析库引用扩充Python程序功能的方式使用import保留字完成,采用<a>.<b>()的编码风格import<库名><库名>.<函数名>(<函数参数>)库名麻烦from turtle import*缺点函数重名适用于短的程序from turtle import函数名可以as保留字起别名import turtle as t–推荐使用画笔控制函数画笔操作后一直有效,一般成对出现-turtle.penup()别名turtle.pu()抬起画笔,海龟在飞行-turtle.pendown()别名turtle.pd()落下画笔,海龟在爬行画笔设置后一直有效,直到下次设置-turtle.pensize(width)别名turtle.width(width)画笔宽度,海龟腰围-turtle.pencolor(color)color为颜色字符串或rgb值画笔颜色,海龟在涂装-颜色字符串turtle.pencolor(“purple”)-rgb小数turtle.pencolor(0.63,0.13,0.94)-rgb元组值turtle.pencolor((0.63,0.13,0.94))运动控制函数控制海龟行进:走直线&走曲线-turtle.forward(d)别名turtle.fd(d)向前行进,海龟走直线d可以为负数-turtle.circle(r,extent=none)根据半径r绘制extent角度的弧线r默认圆心在海龟左侧r距离的位置-extent 绘制角度,默认是360度方向控制函数turtle.setheading()别名turtle.seth()控制海龟面对方向:绝对角度海龟角度海龟视角:当前角度turtle.left()turtle.right()循环语句按照一定次数循环执行的一组语句for in保留字range()产生循环计算序列range(N)0到N-1的整数序列,共N个range(M,N)产生M到N-1的整数序列,共N-M个for i in range(5):Print(“Hello:”,i)turtle.done()运行结束不退出需要手工退出去掉就自动退出了3.基本数据类型3.1整数类型:可正可负取值无限pow(x,y)x的y次方4种进制表示:10进制、二进制0b或0B开头0b010、8进制0o或0O、16进制0x或0X浮点型取值范围:10的308次方精度达到:10的-16次方小数即53位二进制与数学中实数一致不确定尾数(浮点数运算)不是bug53位二进制表示浮点数的小数部分约10的-16次方计算机中的二进制和十进制不完全对等二进制表示小数,可以无限接近,但不完全相同0.1+0.2结果接近0.30.1+0.2==0.3false用round(x,d)处理不确定尾数d是小数截取的位数不确定位数一般发生在10的-16次方左右round(0,1+0.2,1)==false科学计数法e或E作为幂的符号,10为基数<a>e<b> 4.3e-3复数类型z.real z.imag获得实部和虚部或a+bj1+2j数值运算操作符x+y x-y x*y x/y x//y//为取整数+x-y x%y取余x**y幂运算ps:x/y是浮点数别的语言中不是这样二元操作符有对应的增强赋值操作符x op=y x+=y x-=y x*=y x/=y x//=y x%=y x**=y类型间可以混合运算结果生成为“最宽”的类型隐式转换整数->浮点数->复数如123+4.0=127.0数值运算函数abs(x)绝对值divmod(x,y)商余divmod(10,3)结果是二元数(3,1)pow(x,y[,z])幂余(x**y)%z,[..]表示参数z可以省略pow(3,pow(3,99),10000)结果为4587round(x[,d])四舍五入,默认d=0,取整max(x1,x2,..)min(x1,x2,..)int(x)显示类型转换,变为整数,舍弃小数int(123.45)结果123int(“123”)结果123float(x)转浮点数float(12)结果12.0float(“12.3”)结果12.3complex(x)转复数3.2问题分析:持续的价值一年365天每天进步1%,累计进步多少?相反,每天退步1%,累计剩下多少?如果三天打渔二天晒网呢?每天进步或退步0.1%如如果是0.5%1%呢:体会变量的好处,只需要一次修改如果是工作日的力量?工作日进步1%,休息日退步1%工作日的努力要达到多少才能和每天努力1%一样?3.3字符串类型及操作四种字符串表示方法:由一对单引号或双引号表示单行字符串由一对三引号或三双引号表示多行字符串三单引号表示字符串,程序啥都不执行,相当于注释,python实际没有真正提供多行注释双引号和单引号,解决字符中出现单引号或双引号“’”使用[]获取字符串中一个或过个字符索引:返回字符串中单个字符<字符串>[M][M:N:K]根据步长对字符串切片M和N均可以缺失,表示至开头或至结尾[::-1]倒序逆序转义符\双引号\”\b回退\n换行\r回车光标移动到行首字符串操作符x+y连接两个字符串n*x或x*n复制n次字符串xx in s#WeekNamePrintV1.pyweekStr="星期一星期二星期三星期四星期五星期六星期日"weekId=eval(input("请输入星期数字(1-7):"))pos=(weekId-1)*3print(weekStr[pos:pos+3])#WeekNamePrintV2.pyweekStr="一二三四五六日"weekId=eval(input("请输入星期数字(1-7):"))print("星期"+weekStr[weekId-1])字符串处理函数len(x)字符串长度中英文长度都是1str(x)强制类型转换为字符串和eval相反操作str(12.3)结果“12.3”str([1,2])结果“[1,2]”hex(x)整数x转变为8进制形式oct(x)整数x转变为16进制形式chr(x)将unicode编码返回其字符形式ord(x)上面的反操作unicode编码统一字符编码从0到1114111(0x10FFFF)Python字符串每个字符都是unicode编码8字符串处理方法<a>.<b>形式面向对象的术语表示对象的动作8个字符串处理方法.lower().upper()大小写转换.split(sep=None)字符串分割,返回一个列表例:”a,b,c”.split(‘,’)结果是[‘a’,‘b’,‘c’].count(sub)字符串sub在其中出现次数.replace(old,new)字符串替换.center(width[,fillchar])字符串格式处理,字符串居中例:‘python’.center(30,’=’)结果’============python============’.strip(chars)去除字符换两边字符如:’=python=‘.strip(‘=np’)结果’ytho’.join(iter)填充字符如:’,’.join(‘12345′)结果’1,2,3,4,5’字符串类型的格式化:格式化是对字符串进行格式化表达的方式.format方法用法:<模板字符串>.format(<逗号分隔的参数>)槽相当于占位信息符,只在字符串中有用分为2组前三个参数是一组默认填充空格左对齐如:“{0:=^20}”.format(“python”)结果:‘=======python=======’如:“{0:,.2f}”.format(12345.6789)结果‘12,345.68’如:”{0:b}{0:c}{0:d}{0:o}{0:x}{0:X}”.format(425)结果’110101001Ʃ4256511a91A9′如:“{0:e}{0:E}{0:f}{0:%}”.format(3.14)结果‘3.140000e+003.140000E+003.140000314.000000%’3.4time库是Python中处理时间的标准库时间获取time()获取当前时间戳,即计算机系统内部时间值,浮点数1970年1月1日0点0分开始到当前系统以秒为单位的浮点数如:1537763974.4934046ctime()获取当前时间,返回字符串,人类易读time.ctime()如:’Mon Sep2412:41:592018′gmtime()获取当前时间,struct_time格式,计算机易处理的格式如:time.struct_time(tm_year=2018,tm_mon=9,tm_mday=24,tm_hour=4,tm_min=42,tm_sec=52,tm_wday=0,tm_yday=267,tm_isdst=0)时间格式化strftime()格式化字符串控制符striptime()程序计时:perf_counter()sleep()3.54:文本进度条问题分析:采用字符串方式打印可以动态变化的文本进度条能在一行中逐渐变化刷新的本质:用后打印的字符覆盖之前的字符print()默认加换行print(,end=””)不换行\r退格到行首idle不是主要的运行环境所以\r功能在idle屏蔽了用shell执文本进度条简单的开始文本进度条单行动态刷新刷新:用后打印的字符覆盖之前的字符不能换行:print()需要被控制要能回退:打印后光标退回到之前的位置\r文本进度条实例完整效果#TextProBarV1.pyimport timescale=50print("执行开始".center(scale//2,"-"))start=time.perf_counter()for i in range(scale+1):a="*"*ib="."*(scale-i)c=(i/scale)*100dur=time.perf_counter()-startprint("\r{:^3.0f}%[{}-<{}]{:.2f}s".format(c,a,b,dur),end="")time.sleep(0.2)print("\n"+"执行结束".center(scale//2,"-"))-----------执行开始----------100%[**************************************************-<]10.06s-----------执行结束----------进度条扩展:在任何运行时间需要较长的程序增加进度条在任何希望提供用户体验的应用中增加进度条进度条是人机交互的纽带之一4.程序的控制结构4.1单分支结构:根据判断条件结果而选择不同前进的路径if<条件>:<程序1>二分支结构if<条件1>:<程序1>else:<程序2>:适用于简单表达式的二分支结构分支为表达式<表达式1>if<条件>else<表达式2>如:guess=eval(input())print(“猜{}了”.format(“对”if guess==99else”错”))多分支结构if<条件1>:<程序2>elif<条件2>:<程序3…else:<程序n>条件判断>>=<<===!=条件组合x and y x or y not x异常处理try:程序1except [NameError 异常类型]:程序2try:程序1except:程序2else:程序3finally:程序44.2问题分析:BMI是身体肥胖程度的刻画(BODY MASS INDEX)BMI=体重(kg)/身高的平方(m),接收用户信息判断身体肥胖程度问题需求:输入:给定体重和身高值,两个输入输出:BMI指标分类信息(国内和国际)思路方法:难点:同时输出国际和国内对应的分类思路1:分别计算并给出国际和国内BMI分类思路2:混合计算并给出国际和国内BMI分类4.3循环结构遍历某个结构形成的循环运行方式,从遍历结构中逐一提取元素,放在循环变量中for 遍历循环for <循环变量>in <遍历结构>:<语句块>由保留字for 和in 组成,完整遍历所有元素后结束每次循环,所获得元素放入循环变量,并执行一次语句块记数循环for i in range(5):print(i )for i in range(m,n,k):#k 为步长print(i )遍历有range函数产生的数字序列字符串遍历循环for c in s:<语句块>for c in “Python123”:print(c)列表遍历循环ls 是列表for item in ls:<语句块>for item in [123,”py”,456]:print(item,end=’,’)文件遍历循环fi 是文件标识符for line in fi:<语句块>遍历其每一行,产生循环while 无限循环while <条件>:<语句>条件控制的循环运行方式,反复执行语句块,直到条件不满足,注意死循环,Ctr+C循环控制保留字break continue循环扩展:两种循环后面都可以加else 分支else 为没有被break 退出是执行的,作为正常运行的奖励4.4random库是使用随机数的python标准库计算机没法产生真正的随机数,但是可以使用梅森旋转算法产生伪随机数使用import randomrandom库包括2类函数,常用共8个基本随机数函数:seed(),random()括展随机数函数:randint(),getrandbits(),uniform(),randrange(),choice(),shuffle()随机数种子seed(a=None)初始化给定的随机数种子,默认为系统当前时间,例:random.seed(10)#产生种子10对应的序列0.57140259468991350.4288890546751146.. random()生成一个[0.0,1.0)之间的随机小数,例:random.random()为什么要使用随机数种子呢,因为可以使用相同的随机数种子复现程序的执行情况randint(a,b)生成一个[a,b]之间的整数,例:random.randint(10,100)randrange(m,n[,k])生成一个[m,n)之间以k为步长的随机整数,例:random.random(10,100,10) getrandbits(k)生成一个k比特长的随机整数random.getrandbits(16)37885uniform(a,b)生成一个[a,b]之间的随机小数choice(seq)从序列中随机选择一个元素,例:random.choice([1,2,3,4,5,6])shuffle(seq)将序列中元素随机排序,返回打乱后的序列,例:序列本身打乱s=[1,2,3,4]random.shuffle(s)print(s)将几行代码放在一行可以用分号间隔s=[1,2,3,4];random.shuffle(s);print(s)4.5实例6:圆周率计算一个正方形内部相切一个圆,圆和正方形的面积之比是π/4。
黑马程序员 python 笔记
文章标题:解锁Python编程技能:成为黑马程序员的必备笔记第一部分:引言1.1 什么是Python编程Python编程语言是一种高级、通用、解释型编程语言。
它在机器学习、人工智能、数据分析等领域有着广泛的应用,被誉为是学习编程的最佳入门语言之一。
对于想要成为优秀程序员或者黑马程序员的人来说,掌握Python编程技能至关重要。
第二部分:入门篇2.1 Python基础语法在学习Python编程之前,了解Python的基础语法是必不可少的。
Python的变量、数据类型、条件语句、循环等。
只有掌握了这些基础知识,才能够更好地理解和应用Python编程。
2.2 Python函数和模块函数和模块是Python编程中非常重要的概念。
函数可以让代码更加模块化和可复用,而模块则可以让代码更加清晰和可维护。
通过学习函数和模块的知识,可以使我们的Python代码更加高效和灵活。
2.3 Python面向对象编程面向对象编程是一种重要的编程范式,而Python是一种面向对象的编程语言。
掌握面向对象编程的知识,可以让我们更好地组织和管理代码,提高代码复用性和可维护性。
第三部分:进阶篇3.1 Python文件操作在实际开发中,文件操作是无法回避的部分。
学习如何使用Python 进行文件读写操作,可以让我们更好地处理数据和文件,实现更丰富的应用场景。
3.2 Python异常处理异常是编程中一种常见的情况,学习如何处理异常可以让我们的代码更加健壮和可靠。
Python提供了丰富的异常处理机制,学习这些知识可以让我们更好地处理各种异常情况。
3.3 Python常用库和框架Python拥有丰富的第三方库和框架,如NumPy、Pandas、Django等。
学习这些常用库和框架,可以让我们更好地开发各种应用,提高开发效率和质量。
第四部分:个人观点和总结4.1 个人观点作为一名编程人员,我深刻理解Python编程技能在今天的重要性。
Python的简洁易读的语法、丰富强大的库和框架、广泛的应用场景,使其成为成为黑马程序员不可或缺的技能之一。
Python笔记
Python笔记1.在Python中数的类型有三种——整数、浮点数和复数。
其中整数类型⼜分为int (有符号整数)、long (长整数)和bool (布尔值)。
复数的例⼦:(-5+4j)。
在Python中不⽤区分’long int’类型,长整数范围仅受限于⽤户计算机的虚拟内存总数。
2.没有仅仅使⽤ASCII的字符串,原因是Unicode是ASCII的超集。
如果要严格使⽤ASCII编码的字节流,可⽤str.encode("ascii")。
默认所有的字符串的编码是Unicode。
(P14 in “A Byte of Python”)3.可以⽤单引号指定字符串,如:4.在双引号中的字符串与单引号中的字符串的使⽤完全相同,如:5.利⽤三引号("""or’’’),你可以指⽰⼀个多⾏的字符串。
你可以在三引号中⾃由的使⽤单引号和双引号,如:将会输出:6.⼀个字符串⼀旦创建,就不能再改变它。
(P16)7.如果把两个字符串按字⾯意义相邻放着,他们会被Python⾃动级连,如:等价于8.format⽅法:输出为:也可⽤字符串连接:来实现9.物理⾏是你在编写程序时所看见的。
逻辑⾏是Python看见的单个语句。
Python假定每个物理⾏对应⼀个逻辑⾏。
默认地,Python希望每⾏都只使⽤⼀个语句,这样使得代码更加易读。
如果你想要在⼀个物理⾏中使⽤多于⼀个逻辑⾏,那么你需要使⽤分号(;)来特别地标明这种⽤法。
分号表⽰⼀个逻辑⾏或语句的结束10.在Python中,每⾏开头的空⽩很重要,其⽤来决定逻辑⾏缩进的层次,从⽽来决定语句分组。
同⼀层次的语句必须有相同的缩进,每⼀组这样的语句称为⼀个块。
如:11.表达式可以被分解成操作符和操作数。
12.Python 也⽀持增量赋值。
如:等价于13.相同优先级的运算符按照从左向右的顺序计算(左结合性);相同优先级的赋值运算符有从右向左的结合顺序(右结合性)。
python基础笔记(非系统自用参考小甲鱼的零基础入门学习python)上
python基础笔记(⾮系统⾃⽤参考⼩甲鱼的零基础⼊门学习python)上---恢复内容开始---1.原始字符串的使⽤,在字符串前加r就⾏(⽤于对\进⾏⾃动转译) >>>str = r'C:\now\wifr' 'C:\\now\\wifr' 但在字符串后⾯不能有空的'\' >>>str = r'C:\now\wirf\' error 长字符串的使⽤,⽤""" """将字符串包起来 >>>str = """ xsf, xfasf, sdasdas""" 'xsf,\nxfasf,\nsdasdas\n'(会⾃动给回车处加\n)2.isinstance(变量,类型):⽤于判断该变量是否为该类型,返回t/fid(变量名):⽤于查看变量的地址dir([]):不带参数时,返回当前范围内的变量、⽅法和定义的类型列表;带参数时,返回参数的属性、⽅法列表3.在变量命名时,不能与系统BIF重名,否则会时原BIF函数⽆法使⽤4.python2版本整形除法‘/’采⽤地板规则,向下取整,python3版本则保留⼩数,有‘//'运算负责采⽤地板规则,‘**’为幂运算(eg:2**3=8)5.幂运算符,⽐起左侧的⼀元运算符优先级⾼,⽐起右边的⼀元运算符优先级低(eg: -3**2=-9 => -<** =>-(3**2) 3**-1=1/3 => **<- =>3**(-1))(⼀元操作符:只有⼀个操作数的运算符⼆元操作符:两个操作数)6.python允许a<b<c 等同于 (a<b) and (b<c),其他语⾔则不允许7.运算符优先级:**>正负>加减乘除>⼤于⼩于等于>and or not8.python允许esif(等同于else if )if else 搭配⽐多个if好9.python的三元操作符: x if 布尔 else y 等同于C的布尔?x:y10.断⾔assert:当assert关键字后边的条件为假的时候,程序⾃动崩溃并抛出AssertionError异常 >>>assert 3>4 AssertionError作⽤:⼀般来说我们可以⽤该关键字在程序中置⼊检查点,当需要确保程序中的某个条件⼀定为真才能让程序正常⼯作的话,assert关键字就⾮常有⽤了11.python的for循环可以直接调⽤迭代器的next⽅法,会⾃动的捕获stoplteration异常,⾃动结束循环语法:for 变量 in 表达式(也可以是⽂件): 循环体eg:>>>for i in 'wocao': print(i,end = ' ') w o c a ofor常与range(start,stop,step)搭配(start(可有可⽆,⽆则从零开始)到stop-1,step是间隔,step为2,则类似1,3,5.。
(完整版)Python基础学习笔记
Python 基础学习笔记基于《Python语言程序设计基础(第2版)》第一部分初识Python语言第1章程序设计基本方法1.1 计算机的概念•计算机是根据指令操作数据的设备,具备功能性和可编程性两个基本特性。
•计算机技术发展阶段:1. 第一阶段:1946-1981年,“计算机系统结构阶段”。
2. 第二阶段:1982-2007年,“计算机网络和视窗阶段”。
3. 第三阶段:2008年至今,“复杂信息系统阶段”。
4. 第四阶段:月20年后某个时期开始,“人工智能阶段”。
1.2程序设计语言1.2.1程序设计语言概述•机器语言:直接使用二进制代码表达指令,可被计算机硬件直接识别和执行。
不同计算机结构的机器指令不同。
•汇编语言:使用助记符对应机器语言中的指令,可直接操作计算机硬件。
不同计算机结构的汇编指令不同。
机器语言和汇编语言都直接操作计算机硬件并基于此设计,统称“低级语言”。
•高级语言:用更接近自然语言的方式描述计算问题。
代码只与编程语言有关,与计算机结构无关。
1.2.2编译和解释高级语言按执行方式可分为采用编译执行的静态语言和采用解释执行的脚本语言。
•编译是将源代码转换成目标代码的过程。
•解释是将源代码逐条转换成目标代码同时逐条运行目标代码的过程。
1.2.3计算机编程•我学习Python的原因:1. 通过编程实现自动化,提高效率。
2. 通过编程了解一个新的广阔世界。
•学习一门编程语言(重点在于练习)1. 掌握该语言的语法2. 结合问题设计程序结构3. 掌握解决问题的能力1.3Python语言概述1.3.1 Python语言的发展Python语言是一个语法简洁、跨平台、可扩展的开源通用脚本语言。
•Python语言诞生于1990年,创世人为Guido。
•2000年10月,Python 2.0正式发布,2010年,Python 2.x系列发布最后一版(2.7)。
•2008年12月,Python 3.0正式发布,解释器内部采用完全面向对象的方式实现,代价是3.x系列版本无法向下兼容2.x系列的既有语法。
Pythonturtle学习笔记
Pythonturtle学习笔记⼀、简介Turtle最早来⾃于LOGO语⾔,是专门⽤于⼩孩⼦学习编程的,通过编程模拟⼀只turtle(海龟)在画板上爬⾏绘制图案,后来很多⾼级语⾔都移植了海龟绘图,python从2.6之后也将turtle库加⼊了其内部库中。
由于是内部库,使⽤import turtle语句就能引⼊turtle库,绘图主要有以下⼏个步骤:设置画布、设置画笔、控制海龟移动绘制图形、⾊彩填充等。
⼆、基础知识1)turtle库的引⽤引⽤turtle库主要有以下三种⽅法:1.使⽤import保留字直接引⽤import turtle #每次使⽤函数需加上turtle.2.使⽤from和import保留字共同完成from turtle import * #调⽤函数时不⽤加turtle.,但可能会与变量名重复3.使⽤import和as保留字共同完成import turtle as t #给turtle库起了个别名t2)画布画布即turtle提供的绘图区域,可⽤以下指令设置画布的规模:1.turtle.setup(width,height, startx, starty)width为画布的宽度;heigh为画布的⾼度;(startx,starty)这⼀坐标表⽰矩形窗⼝左上⾓顶点的位置, 如果为空,则窗⼝位于屏幕中⼼。
如:turtle.setup(650,300,100,100)2.turtle.screensize(canvwidth canvheight, bg)canvwidth为画布的宽度;canvheight为画布的⾼度;bg为画布背景颜⾊。
如:turtle.screensize(500,400,"red")3)画笔1、画笔的状态在画布上,默认有⼀个坐标原点为画布中⼼的坐标轴,坐标原点上有⼀只⾯朝x轴正⽅向⼩乌龟。
这⾥我们描述⼩乌龟时使⽤了两个词语:坐标原点(位置),⾯朝x轴正⽅向(⽅向), turtle绘图中,就是使⽤位置⽅向描述⼩乌龟(画笔)的状态。
入门python的必学知识点
入门python的必学知识点第一章Python是什么1.1 什么是PythonPython的官方介绍是:Python是一种简单易学,功能强大的编程语言,它有高效率的高层数据结构,简单而有效地实现面向对象编程。
Python简洁的语法和对动态输入的支持,再加上解释性语言的本质,使得它在大多数平台上的许多领域都是一个理想的脚本语言,特别适用于快速的应用程序开发。
1.2Python的特点高级Python具有简洁、易读的高级数据结构,不仅缩短了开发时间和代码量,而且使代码具有更好的可读性。
面向对象Python与生俱来就有面向对象的特性,并且融汇了多种编程风格。
解释性和(字节)编译性Python 是一种解释型语言,这意味着开发过程中没有了编译这个环节。
一般来说,由于不是以本地机器码运行,纯粹的解释型语言通常比编译型语言运行的慢。
然而,类似于Java,Python实际上是字节编译的,其结果就是可以生成一种近似机器语言的中间形式。
这不仅改善了Python的性能,还同时使它保持了解释型语言的优点。
易学易读Python 关键字少、结构简单、语法清晰。
而且Python是一门解释性的高级语言,使用变量前并不需要事先定义,没有其他语言通常用来访问变量、定义代码块和进行模式匹配的命令式符号,在保证了强大的功能的前提下是程序通俗易懂,这样就使得学习者可以在相对更短的时间内轻松上手。
第二章初识Python之前说过,Python是一门解释性的高级语言。
解释性就是Python中使用的变量不需要事先定义,可以直接使用;高级语言就是Python与高级语言很相似,比如说C、C++。
下面来看一个程序:例2.1# Fibonacci series;# the sum of two elements defines the nexta,b=0,1while b<10:print ba,b=b,a+b我们在ubuntu中Home Folder/me 文件夹下右击新建一个文件exam.py,然后打开输入以上程序。
全网最详细的Python学习笔记,值得收藏
全⽹最详细的Python学习笔记,值得收藏我总结了python已下点:⾯向对象类和对象的创建属相相关⽅法相关元类内置的特殊属性内置的特殊⽅法PS注意:不管你是为了Python就业还是兴趣爱好,记住:项⽬开发经验永远是核⼼,如果你缺新项⽬练习或者没有python精讲教程,可以去⼩编的Python交流.裙:七⾐⾐九七七巴⽽五(数字的谐⾳)转换下可以找到了,⾥⾯很多新教程项⽬,还可以跟⽼司机交流讨教!类和对象的创建类# 经典类没有继承 object的类# 新式类继承了 object的类class Money: # 2.x中默认是经典类,3.x中是新式类passclass Money(object): # 兼容的⼀种写法pass# Money既是类的__name__属性名,⼜是⼀个引⽤该类的变量print(Money.__name__) # Moneyxxx = Moneyprint(xxx.__name__) # Money对象one = Money()print(one) # <__main__.Money object at 0x000001555E9534A8>print(one.__class__) # <class '__main__.Money'>属性相关对象属性class Person:passp = Person()# 给 p对象增加属性, 所有的属性好像是以字典的形式组织的p.age = 18print(p.age) # 18print(p.__dict__) # {'age': 18}print(p.sex) # AttributeError: 'Person' object has no attribute 'sex'# 删除p对象的属性del p.ageprint(p.age) # AttributeError: 'Person' object has no attribute 'age'类属性num = 666count = 1type = "rmb"print(Money.num) # 666# 对象查找属性,先到对象⾃⾝去找,若未找到,根据 __class__找到对应的类,然后去类中查找one = Money()print(one.count) # 1# 不能通过对象去修改/删除对应类的属性one.num = 555print(Money.num) # 666print(one.num) # 555# 类属性会被各个对象共享two = Money()print(one.num, two.num) # 666 666Money.num = 555print(one.num, two.num) # 555 555限制对象的属性添加# 类中的 __slots__属性定义了对象可以添加的所有属性class Person:__slots__ = ["age"] # 只允许添加⼀个 age属性p1 = Person()p1.age = 1p1.num = 2 # AttributeError: 'Person' object has no attribute 'num'私有化属性Python没有真正的私有化⽀持,只能⽤给变量添加下划线来实现伪私有;通过名字重整机制属性的访问范围:类的内部-->⼦类内部-->模块内的其他位置-->其他模块公有属性 x[x] 类的内部[x] ⼦类内部[x] 模块内的其他位置[x] ⼦类内部受保护属性 _x[x] 类的内部[x] ⼦类内部[x] 模块内的其他位置(但不推荐)[x] ⼦类内部(from ... import xxx 不可以访问,要指明all变量)私有属性 __x[x] 类的内部[ ] ⼦类内部[ ] 模块内的其他位置[ ] ⼦类内部(同_x)保护数据案例class Person:def __init__(self):self.__age = 18def set_age(self, age): # 错误数据的过滤if isinstance(age, int) and 0 < age < 150:self.__age = ageelse:print("Wrong age value")return self.__agep = Person()print(p.get_age()) # 18p.set_age(22)print(p.get_age()) # 22只读属性# 1. 属性私有化 + 属性化 get()⽅法class Person(object):def __init__(self):self.__age = 18# 可以以使⽤属性的⽅式来使⽤⽅法@propertydef age(self):return self.__agep = Person()print(p.age) # 18p.age = 666 # Attribute Error: can't set attribute# 2. 通过底层的⼀些函数class Person:# 通过属性 = 值的⽅式来给⼀个对象增加属性时,底层都会调⽤这个⽅法,构成键值对,存储在 __dict__字典中 # 可以考虑重写底层的这个函数,达到只读属性的⽬的def __setattr__(self, key, value):if key == "age" and key in __dict__:print("read only attribute")else:self.__dict__[key] = value⽅法相关⽅法的划分实例⽅法类⽅法静态⽅法class Person:def instance_fun(self): # self: 调⽤对象的本⾝,调⽤时不⽤写,解释器会传参print("instance method", self)@classmethoddef class_fun(cls): # cls: 类本⾝print("class method", cls)@staticmethoddef static_fun():print("static method")所有的⽅法都存储在类中,实例中不存储⽅法类⽅法和静态⽅法⽆法访问实例属性⽅法的私有化和变量的私有化思想差不多class Person:__age = 18def __run(self): # 只能在该类中被调⽤print("running...")创建类对象的类(类也是⼀个对象)a, s = 8, "123"print(a.__class__, s.__class__) # <class 'int'> <class 'str'>print(int.__class__, str.__class__) # <class 'type'> <class 'type'>type是元类。
Python最优化算法实战学习笔记
Python最优化算法实战第一章最优化算法概述1.1最优化算法简介最优化算法,即最优计算方法,也是运筹学。
涵盖线性规划、非线性规划、整数规划、组合规划、图论、网络流、决策分析、排队论、可靠性数学理论、仓储库存论、物流论、博弈论、搜索论和模拟等分支。
当前最优化算法的应用领域如下。
(1)市场销售:多应用在广告预算和媒体的选择、竞争性定价、新产品开发、销售计划的编制等方面。
如美国杜邦公司在20世纪50年代起就非常重视对广告、产品定价和新产品引入的算法研究。
(2)生产计划:从总体确定生产、储存和劳动力的配合等计划以适应变动的需求计划,主要采用线性规划和仿真方法等。
此外,还可用于日程表的编排,以及合理下料、配料、物料管理等方面。
(3)库存管理:存货模型将库存理论与物料管理信息系统相结合,主要应用于多种物料库存量的管理,确定某些设备的能力或容量,如工厂库存量、仓库容量,新增发电装机容量、计算机的主存储器容量、合理的水库容量等。
(4)运输问题:涉及空运、水运、陆路运输,以及铁路运输、管道运输和厂内运输等,包括班次调度计划及人员服务时间安排等问题。
(5)财政和会计:涉及预算、贷款、成本分析、定价、投资、证券管理、现金管理等,采用的方法包括统计分析、数学规划、决策分析,以及盈亏点分析和价值分析等。
(6)人事管理:主要涉及以下6个方面。
①人员的获得和需求估计。
②人才的开发,即进行教育和培训。
③人员的分配,主要是各种指派问题。
④各类人员的合理利用问题。
⑤人才的评价,主要是测定个人对组织及社会的贡献。
⑥人员的薪资和津贴的确定。
(7)设备维修、更新可靠度及项目选择和评价:如电力系统的可靠度分析、核能电厂的可靠度B风险评估等。
(8)工程的最佳化设计:在土木,水利、信息电子、电机、光学、机械、环境和化工等领域皆有作业研究的应用。
(9)计算机信息系统:可将作业研究的最优化算法应用于计算机的主存储器配置,如等候理论在不同排队规则下对磁盘、磁鼓和光盘工作性能的影响。
Python语言程序设计(笔记)
Python语⾔程序设计(笔记)1、平⽅根的格式化知识点:平⽅根计算pow(a,0.5)[可以计算负数,结果为复数]a**b例题:获得⽤户输⼊的⼀个整数a,计算a的平⽅根,保留⼩数点后3位,并打印输出。
输出结果采⽤宽度30个字符、右对齐输出、多余字符采⽤加号(+)填充。
如果结果超过30个字符,则以结果宽度为准。
##我的答案:a=eval(input())print("{0:+>30.3f}".format(pow(a,0.5)))运⾏结果:1、10+++++++++++++++++++++++++3.1622、-10++++++++++++++++++0.000+3.162j点评分析:这是⼀个简单题,重点在于理解格式化输出的⽅法。
注意:如果平凡根后产⽣⼀个复数,由于复数的实部和虚部都是浮点数,.3f可以将实部和虚部分别取三位⼩数。
1.1、凯撒密码(栅栏密码)plaincode=input("请输⼊明⽂:")for p in plaincode:if ord("a")<=ord(p)<=ord("z"):print(chr(ord('a')+(ord(p)-ord('a')+3)%26),end="")#end="",是不想让【循环】输出换⾏。
因为print⾃带换⾏。
else:# %26,mod26是因为+3后可能超出范围,通过这个操作限定范围print(p,end="")1.2、随机密码⽣成描述补充编程模板中代码,完成如下功能:以整数17为随机数种⼦,获取⽤户输⼊整数N为长度,产⽣3个长度为N位的密码,密码的每位是⼀个数字。
每个密码单独⼀⾏输出。
产⽣密码采⽤random.randint()函数。
建议答案:import randomdef mima(length):a=10**(length-1)b=10**length - 1return "{}".format(random.randint(a,b)) #居然可以return这个东西length=eval(input())random.seed(17)for i in range(3):print(mima(length))2、字符串分段组合知识点:str.split("xxxxx"),返回⼀个列表,由str中被 xxxxx 分隔的部分组成例题:获得输⼊的⼀个字符串s,以字符减号(-)分割s,将其中⾸尾两段⽤加号(+)组合后输出。
python知识点整理
python知识点整理一、基础语法。
1. 变量与数据类型。
- 在Python中,变量不需要声明类型。
例如:`x = 5`,这里`x`是一个整数类型的变量。
- 常见的数据类型有整数(`int`),如`10`;浮点数(`float`),如`3.14`;字符串(`str`),用单引号或双引号括起来,如`'hello'`或 `"world"`;布尔类型(`bool`),只有`True`和`False`两个值。
2. 运算符。
- 算术运算符:`+`(加)、`-`(减)、`*`(乘)、`/`(除)、`//`(整除)、`%`(取余)、``(幂运算)。
例如:`5//2`结果为`2`,`5%2`结果为`1`。
- 比较运算符:`>`(大于)、`<`(小于)、`==`(等于)、`!=`(不等于)、`>=`(大于等于)、`<=`(小于等于)。
比较运算的结果是布尔值。
- 逻辑运算符:`and`(与)、`or`(或)、`not`(非)。
例如:`True and False`结果为`False`。
3. 控制结构。
- 条件语句(if - elif - else)- 基本语法:if condition1:statement1.elif condition2:statement2.else:statement3.- 例如:x = 10.if x > 5:print('x is greater than 5')elif x == 5:print('x is equal to 5')else:print('x is less than 5')- 循环语句(for和while)- for循环:用于遍历序列(如列表、元组、字符串等)。
- 语法:`for variable in sequence: statements`。
- 例如:fruits = ['apple', 'banana', 'cherry']for fruit in fruits:print(fruit)- while循环:在条件为真时重复执行一段代码。
Python学习总结(一)——十分钟入门
Python学习总结(⼀)——⼗分钟⼊门⽤任何编程语⾔来开发程序,都是为了让计算机⼲活,⽐如下载⼀个⽐如,完成同⼀个任务,C语⾔要写1000⾏代码,Java只需要写100所以Python是⼀种相当⾼级的语⾔。
解释性:Python解释器把源代码转换成称为字节码的中间形式,然后再把它翻译成计算机使⽤的机器语⾔并运⾏。
这使得使⽤植。
⾯向对象:Python既⽀持⾯向过程的编程也⽀持⾯向对象的编程。
在“⾯向过程由数据和功能组合⽽成的对象构建起来的。
可扩展性:如果需要⼀段关键代码运⾏得更快或者希望某些算法不公开,可以部分程序⽤可嵌⼊性:可以把Python嵌⼊C/C++程序,从⽽向程序⽤户提供脚本功能。
丰富的库:Python标准库确实很庞⼤。
它可以帮助处理各种⼯作,包括正则表达式、⽂档⽣成、单元测试、线程、数据库、⽹页浏览器、RPC、HTML、WAV⽂件、密码系统、GUI(图形⽤户界⾯)、Tk和其他与系统有关的操作。
这被称作如wxPython、Twisted和Python图像库等等。
Python拥有⼀个强⼤的标准库。
Python语⾔的核⼼只包含数字、字符串、列表、字典、⽂件等常见类型和函数,⽽由库接⼝、图形系统、XML处理等额外的功能。
Python标准库命名接⼝清晰、⽂档良好,很容易学习和使⽤。
Python标准库的主要功能有:创始⼈为吉多·范罗苏姆(Guido van Rossum)⽇发布,主要是实现了完整的垃圾回收,并且⽀持Unicode。
Python源代码。
⾯向对象编程,能够承担任何种类软件的开发⼯作,因此常规的软件开发、脚本编写、⽹络编程等都属于标配能⼒。
快速开发桌⾯应⽤程序的利器。
Python是⼀门很适合做科学计算的编程语⾔,97年开始,NASA的开发,使得Python越来越适合做科学计算、绘制⾼质量的(3).⾃动化运维、操作系统管理这⼏乎是Python应⽤的⾃留地,作为运维⼯程师⾸选的编程语⾔,在很多操作系统⾥,Python是标准的系统组件。
千锋教育python课堂笔记
1. Python基础知识- Python是一种面向对象的编程语言,由Guido van Rossum在1989年发明。
它具有简单易学、功能强大、可扩展性强等特点,适合初学者学习。
2. 变量和数据类型- 在Python中,变量是用来存储数据的名称,可以是数字、字符串、列表等不同类型的数据。
常见的数据类型包括整型、浮点型、字符串等。
3. 控制流语句- Python提供了丰富的控制流语句,如if语句、for循环和while循环,用来控制程序的执行流程。
掌握这些语句可以让程序更灵活、更高效。
4. 函数和模块- 函数是一段可重复使用的代码块,通过定义和调用函数可以提高代码的重用性和可维护性。
模块是一组相关的函数和变量的集合,可以使用import关键字引入模块。
5. 文件操作- Python支持对文件的读写操作,通过open函数可以打开文件并进行读写操作。
掌握文件操作可以让程序与外部文件进行数据交互,提高程序的实用性。
6. 异常处理- 在程序运行过程中可能会出现各种错误,Python提供了try-except 语句用来处理异常。
掌握异常处理可以让程序更健壮、更可靠。
7. 面向对象编程- Python是一种面向对象的编程语言,支持类、对象、继承、多态等面向对象编程的特性。
掌握面向对象编程可以让程序更结构化、更易扩展。
8. 实战项目- 通过实战项目可以巩固所学知识,提高编程能力。
可以选择一些简单的项目,如编写一个简单的小游戏、爬取全球信息站数据等。
9. 学习资源- 除了课堂教学,还可以通过阅读书籍、参加线上课程、搜索网络资源等方式来提高Python编程技能。
建议可以关注一些Python技术交流社区,如GitHub、知识等。
10. 总结- Python是一种简单易学、功能丰富的编程语言,适合初学者学习。
通过系统的课堂学习和实战项目练习,可以提高编程能力,为将来的学习和工作打下良好的基础。
11. 应用领域Python不仅仅是一种流行的教学语言,同时也是各种领域中的实际应用编程语言。
phython学习笔记
Python 1.基础部分1.1 下载地址&学习地址官网下载即可。
1.2 作为计算器使用1.3 字符串1.4 列表1.5 简单的例子2.控制流程语句2.1 if2.2 for2.3 range()2.4 break,continue&elsebreak和在c语言里面一样,用于跳出for和while循环。
2.5 pass2.6 定义函数像往常一样,这个例子演示了一些新的Python特性:•该return语句返回一个函数的值。
return没有表达式参数返回None。
掉落一个函数的结尾也会返回None。
•该语句result.append(a)调用列表对象的方法result。
方法是一个“属于”对象并被命名的函数obj.methodname,其中obj某个对象(这可能是一个表达式),并且methodname是由该对象的类型定义的方法的名称。
不同类型定义不同的方法。
不同类型的方法可以具有相同的名称而不会造成歧义。
(可以使用类定义自己的对象类型和方法,请参阅类)append()示例中显示的方法是为列表对象定义的;它在列表的末尾添加了一个新元素。
在这个例子中它相当于result=result+[a],但更有效。
2.7带参数的函数也可以使用可变数量的参数来定义函数。
有三种形式,可以合并。
2.7.1 默认参数值2.7.2 关键字参数2.7.3 任意参数列表2.7.4 解包参数列表当参数已经在列表或元组中时,会出现相反的情况,但需要对需要单独位置参数的函数调用进行解压缩。
例如,内置range()函数需要单独的启动和停止参数。
如果它们不能单独使用,请使用*-operator编写函数调用以将参数从列表或元组中解开:以同样的方式,字典可以用**-operator提供关键字参数:2.7.5 Lambda表达式可以使用lambda关键字创建小型匿名函数。
这个函数返回它的两个参数的总和:。
Lambda 函数可用于需要函数对象的任何地方。
Python学习笔记:pd.rename重命名行列索引标签
Python学习笔记:pd.rename重命名⾏列索引标签⼀、介绍df.rename() ⽅法⽤于重命名数据框⾏列的标签,即⾏索引、列标签。
可以传⼊⼀个字典或者⼀个函数,常⽤于数据预处理。
使⽤语法DataFrame.rename(mapper=None, index=None, columns=None,axis=None, copy=True, inplace=False,level=None, errors='ignore')参数解释mapper -- 映射关系(字典、函数)index -- ⾏索引columns -- 列名axis -- 修改⽅向 axis=0 ⾏ axis=1 列copy -- 复制底层数据inplace -- 是否修改原数据level -- 针对多层索引指定级别errors -- {'ignore', 'raise'} 忽略 or 报错⼆、实操1.创建测试数据集import pandas as pddf = pd.DataFrame({'A':[1,2,3],'B':[4,5,6]})'''A B0 1 41 2 52 3 6'''2.mapper映射关系,可以是字典,也可以是⼀个函数。
# 修改⾏索引传⼊字典df.rename({0:100})'''A B100 1 41 2 52 3 6'''# 传⼊函数df.rename(lambda x: x+100)'''A B100 1 4101 2 5102 3 6'''3.index/columns/axis重命名时需要指定⾏、或者列⽅向。
df.rename(index=mapper) 等同于 df.rename(mapper, axis=0)df.rename(columns=mapper) 等同于 df.raname(mapper, axis=1)# 修改⾏索引df.rename(lambda x: x+100, axis=0)'''A B100 1 4101 2 5102 3 6'''# 修改⾏索引df.rename({1:2, 2:4}, axis='index')# 修改列名df.rename(lambda x: x+'100', axis=1)df.rename(columns=lambda x: x+'100') # 同上'''A100 B1000 1 41 2 52 3 6'''# 列名转换为⼩写df.rename(str.lower, axis='columns')# 传⼊字典df.rename(columns={'A':'aa', 'B':'bb'})'''aa bb0 1 41 2 52 3 6'''4.转换标签数据类型df.index# RangeIndex(start=0, stop=3, step=1)df.rename(index=str).index# Index(['0', '1', '2'], dtype='object')5.修改不存在标签时报错# 直接修改忽略报错df.rename(columns={'A':'aa', 'B':'bb', 'C':'cc'})# 报错df.rename(columns={'A':'aa', 'B':'bb', 'C':'cc'}, errors='raise')# KeyError: "['C'] not found in axis"三、结论pd.rename() ⽅法适合于修改个别的索引和列名,如果需要⼤量修改或者全部修改的话,适合使⽤ set_index() 或者 reset_index() ⽅法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
python学习笔记(一)
安装
安装包:https:///downloads/
下载python
安装成功后,在开始菜单中就会多出几个图标。
好了安装完毕可以开始使用了。
IDLE 是Python 的图形用户界面(GUI );Python 是Python 的命令提示符界面(command line )。
它两都是和Python 解释器交互的手段。
Module Docs 是模块手册,意思是Python 各种模块的说明书。
现在我们使用Python 3.9(64-bit)即命令提示符界面试一下!
输入:print(“Hello,World!”)回车,输入出结果“Hello ,World
!”
当然我们最好使用GUI 界面。
这两外界面都是我们Python 交互解释器,也是我们用来执行语句的界面。
基本常识
1、数字和表达式
Python解释器可以当成一个很强大的计算器。
下面我们来试一下!
>>> 412+845
1257
>>> 12310-54131
-41821
>>> 1454*1321
1920734
>>> 87/84
1.0357142857142858
>>>
>>> 4//3
1
>>> 1%2
1
>>> 4^2
6
>>>
值得注意的是:
长整型:对于大于2 147 483 647(231)就必须在数字后面加上“L”表示长整型数。
2进制数:前面加0b(如0b1111就是二进制中的1111)
8进制数:前面加0o(如010就是八进制中的10)。
16进制数:前面加0x(如0xAF就是十六进制中的AF)。
>>> 0o10
8
>>> 0b1111
15
>>> 0o10
8
>>> 0xffff
65535
>>>
2、程序的结构
表达式:由常量、变量、运算符及基本命令按一定逻辑组成的“一句话”(功能)。
语句:完成一种操作的代码,其中可以包含表达式。
函数:一个由若干语句表达式及其它函数在的工能模块,用于完成一个完整个复杂的功能。
模块:由若干函数集合,存在某个特定文件中,需要使用import导入才能使用的功能。
3、程序的保存与执行
一、在Python的交互界面中我们只能单条执行某条语句,常规的编程思路是使用记事本之类的文本编辑器写入程序代码,保存在扩展名为.py的文件中,在解释器中调用这个文件来执行。
执行方法是:
1、在命令提示行中输入:python 文件名.py回车
2、在交互界面中输入:
import os
os.system(文件名.py)
以上两种方法需要在计算机系统建立path指向python所在的目录。
执行起来不方便,下面提供了一个更合理的方法。
路径设置方法:
找到文件位置
任选一个图标,右键“属性”
复制“起始位置”回到桌面在“此电脑”上右键。
选择“属性”
更改设置
高级-->环境变量
双击“系统变量”中的“Path”
新建
粘贴刚刚复制的路径,确定。
完成设置。
win+R输入cmd在命令界面中输入python回车
成功!
二、目前Python3.0以上的版本包含了IDLE界面,我可以不再使用计事本等软件而在IDLE中点击“File-->New File”来新建一个没有命令提示符的新界面,这个界面就是非交互的,可以编辑代码,按F5执行。