.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")
  1. 缩进,表达程序框架,是语法一部分!4个空格=1个tab键
  2. 注释,# 单行    ’’’   ‘’’ 多行
  3. 命名,变量用标识符表示,保存表示数据的占位符号
  4. Temp=”82F”   //向temp赋值82F
  5. 规则:字母,数字,下划线,汉字。
  6. 区分大小写。数字不能开头。
  7. 保留字,关键字。编程语言内部已经定义了。33个(26个基础)。区分大小写。True,False,None。
  8. 数据类型,整数,浮点数,列表[ , ],字符串
  9. 用保留字in判断一个元素是否在列表中,布尔判断。
  10. 字符串,是字符的有序序列,从0开始,进行索引。
  11. 正向递增序号(0,头),反向递减序号(-1,尾)。
  12. 索引,<字符串>[M],给出位置[ ]

    切片,<字符串>[M:N],返回一段字串[ ]。1:3,指第一,二个。

  13. 赋值语句,给变量赋予新的数据值,其右侧同时作用于变量

    分支语句,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 ?为什么没有单引号了

  14. 编译:源代码--编译器--目标代码--程序执行(input  output)【compiler】  解释:源代码+input--解释器--output【interpreter】
  15. 静态语言,编译,C  Java 一次性生成,优化充分  脚本语言,解释,python  PHP   源代码辅助,维护灵活
  16. 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()  //需要手工关闭退出
  1. Turtle库,海龟库是turtle绘图体系的python实现,Python计算生态=标准库+第三方库
  2. 标准库,随解释器直接安装到OS中的功能模块;第三方库,经过安装才能使用的功能模块;库library,包package,模块,module
  3. 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回车

  1. 字符串操作符
  2. x +y ,连接      n * x,复制n次字符串x        x  in s ,若x为s的子串返回True,否则返回False

  3. 字符串处理函数: len(x),长度;str(x),任意类型改写成字符串形式  反eval()函数;hex(x)   oct(x)   x的十六进制或八进制小写形式字符串
  4. chr(u)   ord(x)  u为Unicode编码,返回其对应字符,ord则是相反作用

    例子:for i in range(12):

    print(chr(9800+i),end=" ")    //输出星座,end作为参数,输出

    ——》♈ ♉ ♊ ♋ ♌ ♍ ♎ ♏ ♐ ♑ ♒ ♓

  5. 字符串处理方法:<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,类似于加分隔了,格式化输出
  6. 字符串格式化: .format()方法实现。
  7. 槽,后面的拿给前面,类似于C语言中的scanf(“%d”,&a)  
  8. 槽内部对格式化的配置方式: time库使用,处理时间 import time;时间获取:time()获取当前时间戳,即计算机内部时间值,浮点数;ctime()获取当前时间并且以易读方式表示,返回字符串;gmtime()也是获取,表示为计算机可以处理的时间格式;时间格式化:展示模板:strftime(tpl,ts),tpl是格式化模板字符串,定义输出效果,ts是计算机内部时间类类型的变量;strptime(str,tpl),str字符串形式时间值
  9. 程序计时:产生时间,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年一月份,学习笔记,只是视频入门,所以记的估计只有自己可以看懂,见谅~~

最新文章

  1. javascript运算符语法概述
  2. [iOS]浅谈NSRunloop工作原理和相关应用
  3. css3 打勾 打叉
  4. 需要弥补的那部分SQL
  5. java日期的运用(DateUtils工具类)
  6. SQLServer XML类型
  7. Eclipse 安装mybatis的编辑插件
  8. python 爬照片 模拟浏览器 先登录账号
  9. Hadoop(十二)MapReduce概述
  10. pyqt5 QGraphicsView颜色动画问题(不兼容,运行不了动画)
  11. 1.cocos2dx 3.2环境搭建
  12. MOOS学习笔记——多线程
  13. python学习日记(异常)
  14. 算法与数据结构(十) 二叉排序树的查找、插入与删除(Swift版)
  15. 免费试用MongoDB云数据库 (MongoDB Atlas)教程
  16. python第十八天 多态 和 私有
  17. 打造自己Django博客日记
  18. mybatis整合springboot 以及需要注意的细节
  19. PythonStudy——文件操作习题 Document operation exercises
  20. 图片路径转base64字节码

热门文章

  1. 终于知道为什么linux文件系统权限是124了
  2. Django面试集锦(51-65)
  3. vue-父组件向子组件传值
  4. t-io Java构建p2p网络
  5. linux安装mariadb
  6. C++标准模板库(STL)学习笔记
  7. [git]git入门
  8. HDU_5230_DP
  9. 一口气说出 9种 分布式ID生成方式,面试官有点懵了
  10. tomcat 日志