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. 命名,变量用标识符表示,保存表示数据的占位符号  Temp=”82F”   //向temp赋值82F

       规则:字母,数字,下划线,汉字。        区分大小写。数字不能开头。

  4.保留字,关键字。编程语言内部已经定义了。33个(26个基础)。区分大小写。True,False,None。

  5.数据类型,整数,浮点数,列表[ , ],字符串     用保留字in判断一个元素是否在列表中,布尔判断

  6.字符串,是字符的有序序列,从0开始,进行索引。正向递增序号(0,头),反向递减序号(-1,尾)。

    索引,<字符串>[M],给出位置[ ]

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

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

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

 

  8.一些补充,

  编译:源代码--编译器--目标代码--程序执行(input  output)【compiler】

  解释:源代码+input--解释器--output【interpreter】

  静态语言,编译,C  Java 一次性生成,优化充分

  脚本语言,解释,python  PHP   源代码辅助,维护灵活

  IPO(input process output),process,算法

  步骤:分析问题,划分边界,设计算法,编写程序,调试测试,升级维护  (确定IPO--编写程序--调试程序)

  类型,交互式,文件式(.py)

 

  1. 演进:计算机能力--交互--数据--人工智能

语言: C,指针,内存,数据类型,结构,性能,底层

Java,面向对象,跨平台,运行时,交互【求职】

C++,对象,多态,继承,大规模

VB,对象,按钮,文本框,理解人机交互程序【要淘汰】

Html/CSS/JS,前端技术,前栈能力

Python,编程逻辑,第三方库,重在理解,通用语言

     1.Python,通用语言,强制可读性,较少底层语法元素,语法简洁  第三方库,开放共享,操作系统广泛可用

  1. 机器语言【二进制】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计算生态=标准库+第三方库

   标准库,随解释器直接安装到OS中的功能模块

   第三方库,经过安装才能使用的功能模块

   库library,包package,模块,module

  1. Turtle绘图窗体setup() ↑

   空间坐标体系,

①绝对坐标,中心(0,0)turtle.goto()

    ②海龟坐标,相对坐标,上左下右,前进后退

  turtle.fd()【forward】  .bk【back】  .circle(r,angle)【曲线运行】

角度坐标体系,

  turtle.seth(angle),改变行进方向,angle为绝对度数

  或者用,turtle.left(angle)  turtle.right(angle),海龟坐标

3.RGB色彩模式

   0-255(整数)255     0-1(小数)1.0    turtle.colormode(mode)

中间的空格,主要是后续加了逗号

基本数据类型

  1.  整数类型,pow(x,y),计算x^y(x的y次方)

十进制,二(0b),八(0O),十六(0X)

  1. 浮点数类型,运算存在不确定尾数,一般发生在10的-16次幂,不是bug

round(x,d),对x四舍五入,d作为小数截取位

科学记数法,1.2 e 5 = 1.2 * (10^5)

  1. 复数类型(只有python有复数)a+b j

z.real获得实部,z.imag获得虚部   //空间变换,复变函数

4. 数字运算,操作符

基本操作符:+  -  *   /(与数学运算,浮点数结果)  %(取余)  //(整数除,得的是整数商)   **(开方,次幂,类似pow)

赋值操作符:x+=y,7种

类型间可以进行混合运算,生成结果为最宽类型:整数--浮点数--复数(大覆盖小),也是为解决不确定尾数

5. 数值运算函数,

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))

 

  1. 字符串类型及操作

表示, ” “    ‘ ‘        ‘’’  ‘’’    “””  “””  

 (三单引号可以是字符串,可以是注释)

   ‘ 内容出现双引号“ ‘     “ 内容出现单引号‘ “         ‘’’ ( “  ‘ )  “””

  序号,正向递增0 —— n-1,反向递减-n-1——-1

操作

  索引,返回字符串中的单个字符 <字符串>[M]

切片,返回一段字符串 <字符串>[M:N]

切片高级,[:3],至开头,”ABCDFG”,”ABC”   [::-1],相当于进行逆序

<字符串>[M:N:K],根据步长K对其切片,隔空位

转义符,表达特定字符本意,b回退  n换行  r回车

  1. 字符串操作符

   x +y ,连接      n * x,复制n次字符串x     

 x  in s ,若x为s的子串返回True,否则返回False

  1. 字符串处理函数

  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作为参数,输出

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

  1. 字符串处理方法

  方法,<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,类似于加分隔了,格式化输出

  1. 字符串格式化

  .format()方法实现。     

槽,后面的拿给前面,类似于C语言中的scanf(“%d”,&a)

槽内部对格式化的配置方式

 

 

1.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)

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

封装,继承,多态

 

  

内容来源于网络如有侵权请私信删除

文章来源: 博客园

原文链接: https://www.cnblogs.com/only666/p/12350226.html

你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!