Python小白

 

1.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[-1] in ['F','f']:       //in来判断尾部是否是F或f 其中的:不可省

C=(eval(tempstr[0:-1])-32)/1.8  
//右侧结果赋给C,去除尾部的F或者f,余下数字参与运算,变成摄氏温度值

print("转换后{:.2f}C".format(C))

 
elif tempstr[-1]in ['C','c']: //in来判断是否是C,c摄氏度

    F=1.8*eval(tempstr[0:-1])+32

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],返回一段字串[ ]13,指第一,二个。

  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--解释器--outputinterpreter
  15. 静态语言,编译,C  Java 一次性生成,优化充分  脚本语言,解释,python  PHP   源代码辅助,维护灵活
  16. IPOinput 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 ,若xs的子串返回True,否则返回False

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

    例子:for i in range(12):

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

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

  5. 字符串处理方法:.(),中的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级别的精确时间计数值,秒为单位。由于起点不确定,得连续调用才行。Startendperf_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 programmingOOP

    对象--外部行为--内部状态

    封装,继承,多态

     PS:2019年一月份,学习笔记,只是视频入门,所以记的估计只有自己可以看懂,见谅~~                                                

你可能感兴趣的:(Python小白)