Python小白
.IDLE软件为内建于CPython的集成开发环境(IDE),包括编辑器,编译或解释器,调试器 .py(后缀保存)
2.行一,单行注释 多行,””” ‘’’ 之后,内建函数()
3.变量,常数 第一个,英文字母,下划线,中文。区分大小写。
数值total,product 布尔True,False(大写的才是布尔) 字符串title=’ ’ “ “
4.输出print() \t, \n,\ ”,\ ’ ,\\转义字符 输入input() X=input(“ ”)
5.算术运算符(a=2-1),复合赋值运算符(x+=1),关系运算符(!=),逻辑运算符(not,and,or),位运算符(&,|,^,~)
6.流程控制 if 1 :block1 elif 2 : block2 else : block3
PS : 出现:,必须缩排,用tab(缩进)
for else : else可加可不加,range(),建立整数序列
While : else : while条件小心了,别无限循环,强行停止 用Ctrl+C
Python中没有do while,则用其他语句完成运行一次
7.其他 String字符串,str()函数,用+来接
方法:len(长度) count(字数) split(根据sep设置字符分割字符串) find(检测是否包含子串,从0开始索引) upper,lower(大小写转换)
List列表 [ ] 数组array 元素append() arr=[[1,2],[2,3]]
Tuple元组 ( ) 类似于list,但是它的顺序不能随意改变
dict字典 { } 键(key) 值(value) ,没有顺序性,dict()+[ ]
8.函数
①内建函数(build-in function,BIF)
②标准函数库(standard library),得先import导包
③Def关键词自定义函数,程序员(define) 有参无参()
函数返回值return
传参:传值(call by value) 传址(pass-by-reference)
PS:如果可变对象在函数中被修改了内容值,因为占用的是同一个地址,所以会联动影 响函数外部的值
例子:温度转换
#temconvert.py tempstr=input("输入温度值:") //input返回的串给tempstr if tempstr[-] in ['F','f']: //in来判断尾部是否是F或f 其中的:不可省 C=(eval(tempstr[:-])-)/1.8
//右侧结果赋给C,去除尾部的F或者f,余下数字参与运算,变成摄氏温度值 print("转换后{:.2f}C".format(C)) elif tempstr[-]in ['C','c']: //in来判断是否是C,c摄氏度 F=1.8*eval(tempstr[:-])+ print("转换后温度{:.2f}F".format(F)) //print格式化方法,{ }表示槽,后面的F填充到槽里, //{:.2f}指填充时取小数点后两位,然后嵌入 //format()函数是字符串格式化函数 else: //都不是,则错误 print("error")
- 缩进,表达程序框架,是语法一部分!4个空格=1个tab键
- 注释,# 单行 ’’’ ‘’’ 多行
- 命名,变量用标识符表示,保存表示数据的占位符号
- Temp=”82F” //向temp赋值82F
- 规则:字母,数字,下划线,汉字。
- 区分大小写。数字不能开头。
- 保留字,关键字。编程语言内部已经定义了。33个(26个基础)。区分大小写。True,False,None。
- 数据类型,整数,浮点数,列表[ , ],字符串
- 用保留字in判断一个元素是否在列表中,布尔判断。
- 字符串,是字符的有序序列,从0开始,进行索引。
- 正向递增序号(0,头),反向递减序号(-1,尾)。
索引,<字符串>[M],给出位置[ ]
切片,<字符串>[M:N],返回一段字串[ ]。1:3,指第一,二个。
赋值语句,给变量赋予新的数据值,其右侧同时作用于变量
分支语句,if ~ : elif : else:
函数,上述黄色部分,y=f(x)
输入input() 输出print(),还可以格式化
评估函数eval(),去掉参数最外侧引号并执行余下语句的函数
将任何字符串信息变成python语句
例子: eval(“1”) 1
eval(“1+2”) 3
Eval(‘ ”1+2” ’) ‘1+2’
Eval(‘print(“hello”)’) hello ?为什么没有单引号了
- 编译:源代码--编译器--目标代码--程序执行(input output)【compiler】 解释:源代码+input--解释器--output【interpreter】
- 静态语言,编译,C Java 一次性生成,优化充分 脚本语言,解释,python PHP 源代码辅助,维护灵活
- IPO(input process output),process,算法步骤:分析问题,划分边界,设计算法,编写程序,调试测试,升级维护 (确定IPO--编写程序--调试程序)类型,交互式,文件式(.py)
图形绘制
演进:计算机能力--交互--数据--人工智能
语言: C,指针,内存,数据类型,结构,性能,底层
Java,面向对象,跨平台,运行时,交互【求职】
C++,对象,多态,继承,大规模
VB,对象,按钮,文本框,理解人机交互程序【要淘汰】
Html/CSS/JS,前端技术,前栈能力
Python,编程逻辑,第三方库,重在理解,通用语言
1.Python,通用语言,强制可读性,较少底层语法元素,语法简洁 第三方库,开放共享,操作系统广泛可用
机器语言【二进制】cpu--汇编语言【助记符】cpu--高级语言【自然语言】--超级语言【集成开发】
例子:绘制蟒蛇 #蟒蛇 import turtle //引入库 //import<库名> 不会出现函数重名 //<库名>.<函数名>(<函数参数>) //改进:from turtle import*,下面就可省去turtle.XX() 会有重名 //改进:import turtle as t1 t1.setup(1,2,3,4) ,起个小名t1 turtle.setup(650,350,200,200) //设置窗体大小和位置setup(width,height,startx,starty) //前两个在左上角,后两个可选(相对位置) turtle.penup() //turtle.pu 画笔抬起,不画 turtle.fd(-250) turtle.pendown() //turtle.dn 画笔落下,画画 turtle.pensize(25) //宽度,turtle.width(width) turtle.pencolor("purple") //(0.63,0.13,0.94)小数值 再加个(),元组值 turtle.seth(-40) //setn=setheading(angle),只改变方向 for i in range(4): //for in range() , 其中的i变量表示每次循环的计数,0到4-1=3 //range(N),产生N-1循环序列 range(M,N),产生M到N-1的序列 turtle.circle(40,80) //海龟走曲线 turtle.circle(-40,80) turtle.circle(40,80/2) turtle.fd(40) //fd(d),d是像素 turtle.circle(16,180) //circle(r,extend=None)根据半径r绘制extend角度的弧形 turtle.fd(40*2/3) turtle.done() //需要手工关闭退出
- Turtle库,海龟库是turtle绘图体系的python实现,Python计算生态=标准库+第三方库
- 标准库,随解释器直接安装到OS中的功能模块;第三方库,经过安装才能使用的功能模块;库library,包package,模块,module
- Turtle绘图窗体setup() ↑
空间坐标体系,①绝对坐标,中心(0,0)turtle.goto() ②海龟坐标,相对坐标,上左下右,前进后退
turtle.fd()【forward】 .bk【back】 .circle(r,angle)【曲线运行】
角度坐标体系,turtle.seth(angle),改变行进方向,angle为绝对度数;或者用,turtle.left(angle) turtle.right(angle),海龟坐标
4.RGB色彩模式:0-255(整数)255 0-1(小数)1.0 turtle.colormode(mode) 中间的空格,主要是后续加了逗号
基本数据类型
1.整数类型,pow(x,y),计算x^y(x的y次方)十进制,二(0b),八(0O),十六(0X)
2.浮点数类型,运算存在不确定尾数,一般发生在10的-16次幂,不是bug;round(x,d),对x四舍五入,d作为小数截取位
科学记数法,1.2 e 5 = 1.2 * (10^5) 复数类型(只有python有复数)a+b j
z.real获得实部,z.imag获得虚部 //空间变换,复变函数
3.数字运算,操作符
基本操作符:+ - * /(与数学运算,浮点数结果) %(取余) //(整数除,得的是整数商) **(开方,次幂,类似pow)
赋值操作符:x+=y,7种
类型间可以进行混合运算,生成结果为最宽类型:整数--浮点数--复数(大覆盖小),也是为解决不确定尾数
4.数值运算函数,
abs(x),指x的绝对值
divmod(x,y),商余,(x//y,x%y)
pow(x,y[,z]),幂余,(x**y)% z,[..]表示参数z可以省略
round(x,[,d]),四舍五入,d是保留的小数位数,默认值为0
max() min()
数值运算转换:int(),以此类推。。float() complex()
例子:天天向上#day day up.py dayup=pow(1.01,365) //每天 daydown=pow(0.99,365) print("up:{:.2f},down:{:.2f}".format(dayup,daydown)) dayup=1.0 //每个工作日,5天 dayfactor=0.01 for i in range(365): //循环计数,遍历,for in if i % 7 in [6,0]: dayup=dayup*(1-dayfactor) else: dayup=dayup*(1+dayfactor) print("工作日:{:.2f}".format(dayup)) def dayUP(df): //笨办法试错,def while。根据def参数计算工作日力量的函数,参数不同,这段代码可共用def保留字用于定义函数 dayup=1 for i in range(365): if i % 7 in [6,0]: dayup=dayup*(1-0.01) else: dayup=dayup*(1+df) return dayup dayfactor=0.01 while dayUP(dayfactor)<37.78:
//while判断条件是否成立,成立则循环 dayfactor += 0.001 print("工作日:{:.3f}".format(dayfactor))
5.字符串类型及操作
表示, ” “ ‘ ‘ ‘’’ ‘’’ “”” “””
(三单引号可以是字符串,可以是注释) ‘ 内容出现双引号“ ‘ “ 内容出现单引号‘ “ ‘’’ ( “ ‘ ) “””
序号,正向递增0 —— n-1,反向递减-n-1——-1
操作,索引,返回字符串中的单个字符 <字符串>[M] 切片,返回一段字符串 <字符串>[M:N]
切片高级,[:3],至开头,”ABCDFG”,”ABC” [::-1],相当于进行逆序
<字符串>[M:N:K],根据步长K对其切片,隔空位
转义符,表达特定字符本意,\b回退 \n换行 \r回车
- 字符串操作符
x +y ,连接 n * x,复制n次字符串x x in s ,若x为s的子串返回True,否则返回False
- 字符串处理函数: len(x),长度;str(x),任意类型改写成字符串形式 反eval()函数;hex(x) oct(x) x的十六进制或八进制小写形式字符串
chr(u) ord(x) u为Unicode编码,返回其对应字符,ord则是相反作用
例子:for i in range(12):
print(chr(9800+i),end=" ") //输出星座,end作为参数,输出
——》♈ ♉ ♊ ♋ ♌ ♍ ♎ ♏ ♐ ♑ ♒ ♓
- 字符串处理方法:<a>.<b>(),中的b 其本身是函数,类似于a是对象,b是对其的方法,面向对象中的 str.lower() str.upper() 小写 大写 Str.spit(sep=None) 返回一个列表,由str根据sep被分割的部分组成
例子: “A,B,C”.spit(“,”) ——》[‘A’, ’B’, ’C’]
Str.count(sub) 返回子串sub 在str中出现的次数,计数 Str.replace(old,new) 替换 Str.center(width[,fillchar]) width居中,后面的填充 Str.strip(chars) 从str中去掉其左和右chars中列出的字符 Str.join(iter) 在iter变量除最后元素外每个元素后增加一个str,类似于加分隔了,格式化输出 - 字符串格式化: .format()方法实现。
- 槽,后面的拿给前面,类似于C语言中的scanf(“%d”,&a)
- 槽内部对格式化的配置方式: time库使用,处理时间 import time;时间获取:time()获取当前时间戳,即计算机内部时间值,浮点数;ctime()获取当前时间并且以易读方式表示,返回字符串;gmtime()也是获取,表示为计算机可以处理的时间格式;时间格式化:展示模板:strftime(tpl,ts),tpl是格式化模板字符串,定义输出效果,ts是计算机内部时间类类型的变量;strptime(str,tpl),str字符串形式时间值
程序计时:产生时间,s拟休眠时间,sleep(s)
获取时间,返回一个CPU级别的精确时间计数值,秒为单位。由于起点不确定,得连续调用才行。Start,end。perf_counter()
例子:文本进度条 #文本进度条.py import time scale=10 //文本宽度 print("----start----") for i in range(scale+1): //产生循环,简单休眠,打印完成打印完成 a='*'*i //*被复制的次数为i b='.'*(scale-i) //剩余的复制. c=(i/scale)*100 //输出与当前进度条和进度相关的百分比 print("{:^3.0f}%[{}->{}]".format(c,a,b)) //设置三个槽 time.sleep(0.1) print("----end-----") 展现: ----start---- 0 %[->..........] 10 %[*->.........] 20 %[**->........] 30 %[***->.......] 40 %[****->......] 50 %[*****->.....] 60 %[******->....] 70 %[*******->...] 80 %[********->..] 90 %[*********->.] 100%[**********->] ----end-----
例子:文本进度条单行进度刷新 刷新,用后打印的字符覆盖之前的字符,不能换行,print需要被控制。要能回退,打印之后光标回退到之前的位置\r import time for i in range(101): print("\r{:3}%".format(i),end="") //,end=””:给尾部增加后缀的作用,如果什么都不想加,空就行 // \r:在打印输出字符串之前使得光标退回到当前行的行首,意味着每次都从行收刷新并且不换行,得到刷新效果 time.sleep(0.1)
数据结构
基本数据类型:整型,浮点,布尔,字符
结构数据类型:(虚拟数据类型)字符串,数组,指针,列表,文件
抽象数据类型:(ADT)栈,队列。。
算法:在有限步骤内解决数学问题的程序。(输入输出,明确,有效,有限)
步骤:需求,设计规划,分析讨论,编写程序,测试检验
流程:顺序,选择,重复
面向对象程序设计:(object-oriented programming,OOP)
对象--外部行为--内部状态
封装,继承,多态
PS:2019年一月份,学习笔记,只是视频入门,所以记的估计只有自己可以看懂,见谅~~
Python小白的更多相关文章
- python小白的初步爬虫
前序: 最近工作不是很忙,领导突然找我谈话,说是谈话,其实就是分配活呗.果不其然,很快进入正题, 给了我一个网址链接,然后说需要商品的信息...巴拉巴拉.好吧,去做吧. 我当时的内心是崩溃的,pyt ...
- Python小白需要知道的 20 个骚操作!
Python小白需要知道的 20 个骚操作! Python 是一个解释型语言,可读性与易用性让它越来越热门.正如 Python 之禅中所述: 优美胜于丑陋,明了胜于晦涩. 在你的日常编码中,以下技巧可 ...
- Django入门到进阶-更适合Python小白的系统课程
Django入门到进阶-更适合Python小白的系统课程 整个课程都看完了,这个课程的分享可以往下看,下面有链接,之前做java开发也做了一些年头,也分享下自己看这个视频的感受,单论单个知识点课程本身 ...
- Python小白的数学建模课-A1.2021年数维杯C题(运动会优化比赛模式探索)探讨
Python小白的数学建模课 A1-2021年数维杯C题(运动会优化比赛模式探索)探讨. 运动会优化比赛模式问题,是公平分配问题 『Python小白的数学建模课 @ Youcans』带你从数模小白成为 ...
- Python小白的数学建模课-03.线性规划
线性规划是很多数模培训讲的第一个算法,算法很简单,思想很深刻. 要通过线性规划问题,理解如何学习数学建模.如何选择编程算法. 『Python小白的数学建模课 @ Youcans』带你从数模小白成为国赛 ...
- Python小白的数学建模课-04.整数规划
整数规划与线性规划的差别只是变量的整数约束. 问题区别一点点,难度相差千万里. 选择简单通用的编程方案,让求解器去处理吧. 『Python小白的数学建模课 @ Youcans』带你从数模小白成为国赛达 ...
- Python小白的数学建模课-A1.国赛赛题类型分析
分析赛题类型,才能有的放矢. 评论区留下邮箱地址,送你国奖论文分析 『Python小白的数学建模课 @ Youcans』 带你从数模小白成为国赛达人. 1. 数模竞赛国赛 A题类型分析 年份 题目 要 ...
- Python小白的数学建模课-05.0-1规划
0-1 规划不仅是数模竞赛中的常见题型,也具有重要的现实意义. 双十一促销中网购平台要求二选一,就是互斥的决策问题,可以用 0-1规划建模. 小白学习 0-1 规划,首先要学会识别 0-1规划,学习将 ...
- Python小白的数学建模课-A3.12 个新冠疫情数模竞赛赛题与点评
新冠疫情深刻和全面地影响着社会和生活,已经成为数学建模竞赛的背景帝. 本文收集了与新冠疫情相关的的数学建模竞赛赛题,供大家参考,欢迎收藏关注. 『Python小白的数学建模课 @ Youcans』带你 ...
- Python小白的数学建模课-06 固定费用问题
Python 实例介绍固定费用问题的建模与求解. 学习 PuLP工具包中处理复杂问题的快捷使用方式. 『Python小白的数学建模课 @ Youcans』带你从数模小白成为国赛达人. 前文讲到几种典型 ...
随机推荐
- 通过指针突破C++类的访问权限
看如下代码 #include "pch.h" #include <iostream> using namespace std; class A { public: A( ...
- 看完这篇文章,再次遇到Jedis「Redis客户端」异常相信你不再怕了!
本文导读: [1] 疫情当前 [2] 应用异常监控 [3] Redis客户端异常分析 [4] Redis客户端问题引导分析 [5] 站在Redis客户端视角分析 [6] 站在Redis服务端视角分析 ...
- 带大家用40行python代码实现一个疫情地图
最近两个月,因为新冠病毒无情的肆虐,相信会给每个中国人的记忆中画上重重的一笔.到今天为止,疫情形势依然十分严峻,虽然除湖北外的其他省份已经连续十一天确诊人数下降,但是接下来还有将近至少1.6亿的人口迁 ...
- 最大流-前置push-relabel算法实现
Front Push-Relabel Algorithm 接口定义 Input:容量数组vector<vector<int>> capacity ,大小为n:源点int sou ...
- ubuntu 18. root登录图形界面
修改文件 vim /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf 增加两行: greeter-show-manual-login=true all-g ...
- 利用视频解析网站免费观看各大平台VIP电影
需求: 观看VIP电影.VIP电视 准备: 1.视频解析网站 2.VIP电影URL 教程开始: 1.百度搜索[视频解析],会索引出大量的视频解析网站,随便选择一个网站. 2.找到想观看的VIP视频,复 ...
- Windows搭建IIS服务器使用NATAPP实现内网穿透
目的:外网可以访问本地网页. 步骤: 一.实现内网访问 1.Win+Q搜索[控制面板],选择[程序],点击[启用或关闭Windows功能], 2.勾选[Internet Information Ser ...
- 域名解析服务-DNS
一.DNS概述 DNS(Domain Name System)即域名系统.它使用层次结构的命名系统.将域名和IP相互映射 在整个互联网环境中连接了数以亿计的服务器以及个人主机.其中大部分网站都使用了域 ...
- qt creator源码全方面分析(2-10-2)
目录 Creating Your First Plugin 创建一个插件项目 构建并运行插件 文件结构 qmake项目 插件元数据模板 插件类 头文件 源文件 Creating Your First ...
- 终于成功部署 Kubernetes HPA 基于 QPS 进行自动伸缩
昨天晚上通过压测验证了 HPA 部署成功了. 所使用的 HPA 配置文件如下: apiVersion: autoscaling/v2beta2 kind: HorizontalPodAutoscale ...