一、编程语言分类

  1.机器语言:即计算机能听懂的二进制语言,0000 0001,直接操控硬件;

  2.汇编语言:简写的英文标识符代替二进制语言,本质同样是直接操控硬件;

  3.高级语言:用更贴近人类的语言去编程,计算机不能直接读懂,也不能直接操控硬盘;

  高级语言不能直接被计算机读懂,必须用编译器或解释器将代码翻译成二进制后才能被计算机执行。

    1.编译型:把一篇编程代码直接翻译成计算机能读懂的二进制语言,然后执行。(如c语言)

      编译型因整篇翻译,执行速度快,但也因是整篇翻译,一但出现错误,就需要慢慢查找,调试麻烦;

    2.解释型:一句一句翻译,一句一句执行。(如Python语言)

     解释型因逐句翻译执行,导致执行速度变慢。但调试方便,一但哪一句出现出现错误,直接停止修改,很方便;

     因开发人员追求开发速度,最快的创造价值,一般都是选择解释型。

  总结:

     机器语言:最底层,执行快,开发效率低;

     汇编语言:比较低层,执行快,开发效率低;

     高级语言:编译型:执行快,不依赖环境,跨平台差,调试麻烦;

          解释型:执行慢,依赖解释器,跨平台好,调试方便;

  关于Python的安装,此次就不与记录,网络上满是教程;

二、变量

  1.什么是变量?

  变,即变化,量,即状态。变量就是状态的变化。

  2.为什么要有变量呢?

  因为世间万物都在变化,因为需求开发程序,程序的执行过程也是在不停的变化,为了保存程序执行时状态的变化,而出现变量这种机制;

  3.变量的定义:

    变量名 = 变量值 ( = 此符号是赋值符号)

   例:

    定义一个人的年龄:

    age = 18;

    其中 age 中的值是可以重新赋值改变的,因为人的年龄是随生长改变的,直到长眠,所以就用到了变量;

  4.变量名定义方式:

    变量名由英文字母,数字,下划线_,组成    

    驼峰体:(表达意义词汇的开头大写)

    AgeOfOldboy = 46

    下划线:(表达意义词汇用_分割)

    age_of_oldboy

    注意:变量名开头不推荐用数字和下划线

       不推荐变量名用中文

       不推荐变量名中的词汇意义不明确;

  5.定义变量会有id、type、value

    id:变量名的id,一串数字

    type:变量名的类型

    value:变量名的值

    注意:== 比较的是值,is比较的是id

      两个变量id相同,那么 type和value一定相同;

      type和value相同,变量id并不一定相同;

      变量id基于在内存开辟空间时系统给与的id,相同的id肯定是同一个空间,同一个空间值必定相同;

      而不同内存空间可以有完全相同的值,不同空间的id自然不相同;

  6.变量的解压:

    1.条语句解压列表内所有的值;

    例:

      age=[26,15,34,56]
      age_1,age_2,age_3,age_4=age
      print(age_1)
      print(age_2)
      print(age_3)
      print(age_4)

    2.解压列表内部分的值     

      age=[26,15,34,56,44]
      age_1,_,_,_,age_5=age
      print(age_1)
      print(age_5)

    用_下划线代表名,解压你需要的值;     

      age=[26,15,34,56,44]
      age_1,*_,age_5=age
      print(age_1)
      print(age_5)

    用*_代表你不需要的名的集合,解压你需要的值;    

7.常量:

    不变的量:比如,人死后年龄是不是就变了;

    定义方式与变量相同,注意的是,常量变量名必须全部大写,这是开发者之间默认的规定;

    例:AGE=84;      

 三、程序交互:

  1.程序交互就是计算机与用户交流,用户向计算机输入数据的机制;

    关键字 input

    注意:由input输入的值全部是字符串格式;

    例:

      print('请输入姓名:')

      name=input('输入:')

      print(name)

  2.注释

    注释可分单行和多行注释

      单行注释:#

      多行注释(三对单引号):""" """

    注释代码的原则:

      1.不需要都加注释,只需要在关键和自己觉得不好理解的部分加注释

      2.注释可用中文或英文,但不要用拼音;

    文件头:

      coding:utf-8

    

四、基本数据类型

  什么是数据,为什么要用多种数据类型?

    数据就是变量的值,变量有很多种,名字,年龄啊之类的,你的年龄和名字难道是同一类型吗,用处就在这里;

  1.数字:

    整型:int

      即整数

    浮点型:flout

      即小数

  2.字符串

    字符串型:str

      各种字符综合,用' '、" "、''' ''' 框起表示;

     例:

      name='zhoahu'  name=''zhanglong''   (单双引号没有任何区别)

      注意:''' '''三引号为多行字符

     例:

      msg='''

          窗前明月光,

          疑是地上霜。

         '''

      注意:单引号可以套双引号,双引号可以套单引号,但不能双套双,单套单

     例:

       msg='你真是个"天才"啊!'

  3.列表:

    在[]括号内用逗号分隔,里面可以放任意类型无数的值

    name=['zhanglong','zhaohu','wangerma',1,4,5]

    调用:print(name[3])

      输出结果为1,因为列表索引是从0开始的,0对应的是第1个你输入的值,上例,输出索引3,实际输出的是你输入的第4个值;

    列表嵌套:

    students=['zhanglong ','18',['basketball','musik']]

    调用:print(students[2][1])

       输出结果为musik

  4.字典:

    为什么要用字典呢,列表用索引直接输出是因为数据是你输入的,知道索引分别对应的值,让用户调用的的话就完全摸瞎了;

    在{}括号内用,分隔,存放多个key:value的值,value的值可以是任意类型;

    例:

     students={'name':'zhanglong','age':'18'}

     调用:print(students['name'])

     输出结果为zhanglong,这样用户想要调用,输入姓名就能显示你输入的名字,输入年龄,就能显示你入的年龄

    字典的嵌套

    例:

      students={'name':'zhanglong',

           'age':'18],

           ‘school’:{

                'name':'diyizhongxue',

                'grade':'3'

                }

            }

      取学校名字调用:print(students[school][name])

        输出结果为diyizhongxue

  5.布尔

    布尔值:一个为ture,一个为false

    布尔值用于判断,ture为真,正确的,false为假,错误的;

    注意:所有数据类型都自带布尔值,除了0,None,空(如:[],{})为false,其他全部为真;

    重点:

    可变类型:在id相同情况下(内存空间不变),value可以改变则称为可变类型,如字典,列表等;

    不可变类型:value改变,id同时改变时为不可变类型,(上面说过id变意味着开辟了新的内存空间,value改变开辟新的空间,自然是不可变类型);

五、格式化输出:

  快捷键:%s,%d

  例:

    name='zhanglong'

    age=18

    print('my name %s my age %d' %(name,age))

    输出结果为my name zhanglong my age 18

    注意:%s 可输入字符串数字类型而%d只能输入数字类型,输入字符串类型就会报错

    

六、基本运算符:

  数学运算符:

    +:用于加法运算

    -:用于减法运算

    *:用于乘法运算

    /:用于除法运算

    %:取余运算

    **:幂运算,次方

    //;除法运算取整数

  比较运算符:

    ==:等于

    !=:不等于

    <>:不等于(不推荐使用)

    <:小于

    >:大于

    <=:小于等于

    >=:大于等于

  赋值运算:

    =:简单的赋值,a=19,就是把19这个值赋予a

    +=:加法赋值运算,b+=a,等同于b=b+a;

    -=:原理同上

    /=:同上

    *=:同上

    %=:同上

    **=:同上

    //=:同上

  赋值方式补充:

    1.链式赋值:

        x=1,y=1,z=1; 这种值相同的赋值有跟简单的写法;

        x=y=z=1; 结果与上方相同

    2.交叉赋值:

      m=2;n=1; 想把m的值换到n上,一般是创造第三个变量做介质,现有更简便的方法;

      m,n=n,m;  结果成功交换;      

  逻辑运算:

    and:与,q and w  其中只要有一个为假,结果就是假,必须两个都是真结果才是真

    or:或,q or w 其中有一个为真,结果就是真,必须全部为假结果才是假

    not:非 q not w 当原本结果为真时,运行出来结果就是假,即非真即假,非假即真;

  身份运算:

    is用于比较id

    == 比较的是值

七、流程控制之if....else

  关键字:if

      elif

      else

  用于判断。

  例1:

    a=18,b=20,我们用if判断,a和b哪个大

    a=18

    b=19

    if a>b

      print('a比b大')

    else

      print('b比a大')

    输出结果为b比a大,当结果为真时,直接运行if下面的语句,当为假时则跳过if下面的语句,运行else下面的语句

  例2:

    现在有位女性的数据,我们用计算机判断那个人是不是美女;

    age=18

    looks='charming'

    if age==18:

      if looks=='charming':

        print('表白')

    else:

      print('不好意思,认错人了')

    输出结果为表白,先判断是不是18岁,不是直接说认错人了,然后再判断漂不漂亮,不漂亮就认错人,漂亮就表白,用的就是if嵌套

  例3:

    现在有个500ml的杯子,里面有200ml的牛奶,我们用计算机判断它是满杯牛奶,还是中杯、小杯

    milk=200;

    if milk=500:

      print('满杯')

    elif milk>=300:

      print('中杯')

    else:

      print('小杯')

    结果输出为 小杯。elif在部分情况下可以省略if的嵌套,不需要在if中再嵌套if; 

八、流程控制之while循环

  循环,意思就是不断的重复,人每天都吃饭,我们总不能写无数个每天吃饭的代码吧,只需要写一个吃饭,然后让它循环就好;

  循环关键字 while

        else

        continue

        break

  例1:

    输出1-10;

    n=1;

    while n<=10:

      print('-',n)

      n+=1

   输出结果为-1,-2....-10;n<=10为循环判断,如何没有判断它就会一直执行,直到电脑崩溃,加了判断达到要求后会自动停止

  例2:

    输出1-10的偶数:

    n=1

    while n<=10:

      n+=1;

      if n%2!=0:

        continue

      else:

        print('-',n)

      结果为 -2,-4...-10,其中我们用if判断变量是不是偶数,不是就用continue 跳过,是就输出,如果用的是break的话,在遇到第一个奇数时,循环就会结束

   例3:

    循环完提升

    n=1;

    while n<=10:

      print('-',n)

      n+=1

    else:

    print('此次循环以结束')

    输出结果为-1,-2...-10,此次循环以结束,else用法,在于循环结束后输出else后的语句。

  

最新文章

  1. 浅谈WEB页面提速(前端向)
  2. ERROR ITMS-90167: &quot;No .app bundles found in the package&quot;错误
  3. 3Struts2进阶----青软S2SH(笔记)
  4. NMAKE:fatal error U1077.“\..\.cl.exe” return code 0xc0000135
  5. mysql 将列值转变为列的方法(转)
  6. div文字超出
  7. 【转】 TCP协议中的三次握手和四次挥手(图解)
  8. flst与fitem命令是这么用的
  9. JVM底层又是如何实现synchronized的
  10. 在bootloader及IAP中使用zlib解压缩
  11. hadoop 各种counter 解读
  12. js实现相册翻页,滚动,切换,轮播功能
  13. PHP如何添加内置的扩展
  14. django favicon配置
  15. Exynos4412交叉编译环境搭建
  16. 2014年终开发感悟(Tamic)
  17. C#代码安装Windows服务(控制台应用集成Windows服务)
  18. Cobalt Strike 服务器搭建及使用
  19. Java static 语句块
  20. R的极客理想系列文章--转载

热门文章

  1. tp5.带标签的缓存 创建和清除 测试
  2. 用注解的方式实现Mybatis插入数据时返回自增的主键Id
  3. Spring Data(二)查询
  4. fitnesse - 框架介绍
  5. Hadoop集群环境安装
  6. UML常用关系
  7. 【Unity3D与23种设计模式】桥接模式(Bridge)
  8. mui底部导航栏切换分页
  9. 原生js+canvas实现滑动拼图验证码
  10. 01-Python的介绍_Python编程之路