• 第1章 基础语法


    高级语言分类

    编译类:

      编译是指在应用源程序执行之前,就将程序源代码“翻译”成目标代码(机器语言),因此其目标程序可以脱离其语言环境独立执行(编译后生成的可执行文件,是cpu可以理解的二进制的机器码组成的),使用比较方便,效率较高。但应用程序一旦需要修改,必须先修改源代码,再重新编译生成的新目标文件(*.obj)才能执行,只有目标文件而没有源代码,修改很不方便

      编译后程序运行时不需要重新翻译,直接使用编译的结果就行了。程序执行效率高,依赖编译器,跨平台性差。如C C++ Delphi等。

    解释类:

      执行方式类似于我们日常生活中的“同声翻译”,应用程序源代码一边由相应语言的解释器“翻译”成目标代码(机器语言),一边执行,因此效率比较低,而且不能生成可独立执行的可执行文件,应用程序不能脱离其解释器(想运行,必须先装上解释器)但这种方式比较灵活,可以动态调整,修改应用程序。

      如Python java php ruby

    编译型和解释型比较

    编译型:

    1.把源代码编译成机器语言的可执行程序

    2.执行 可执行程序文件

    优点:

    1.程序执行时,不再需要源代码,不依赖语言环境,因为执行的是机器码文件

    2.执行速度快,因为你的程序代码已经翻译成了是计算机可以直接理解的机器语言

    缺点:

    1.每次修改了源代码,需要重新编译,生成机器码文件

    2.跨平台性不好,不同操作系统,调用底层的机器指令不同,需要不同平台生成不同的机器码文件

    解释型:

    1.用户调用解释器,执行源代码文件

    2.解释器把源代码文件边解释成机器语言,边交给cpu执行

    优点:

    1.天生跨平台,因为解释器已经做好了对不同平台的交互处理,用户写的源代码不需要再考虑平台差异性。

    2.随时修改,立刻见效,改完源代码后直接运行看效果

    缺点:

    1.运行效率低,所有的代码均需经过解释器边解释边执行,速度不编译型慢

    2.代码是明文

    总结:

    机器语言

    优点:最底层,速度快。缺点:最复杂,开发效率低。

    汇编语言

    优点:比较底层,速度快。缺点:复杂,开发效率低。

    高级语言:

    编译型语言执行速度快,不依赖语言环境运行,跨平台差。

    解释型跨平台好,但是执行速度慢,依赖解释器运行。

    变量:

    定义:是被用来存储信息的,存储在内存里,方便被后面程序引用。

    标记数据,存储数据

    规范:变量名 = 变量值

    1.变量名只能是字母、数字、或下划线任意组合

    2.变量名第一个字符不能是数字

    3.关键字不能声明为变量名

    命名习惯:

    驼峰体:StuName = 'abc'

    下划线:number_of_students = 80

    官方建议下划线

    避免一下方式:1.中文 2.拼音 3.过长 4.词不达意

    常量:Python中没有专门的语法代表常量,程序员约定俗称变量名全为大写

    数据类型

    数字

    int(整型) 32位机器上取值范围-2**31~2**31-1

        64位机器上取值范围-2**63~2**63-1

    long(长整型) 在python3里不再有long类型,全是int

    除了int和long之外,还有float浮点型,复数型

    字符串

    在Python中,加了引号的字符都被认为是字符串

    name = `abc`
    
    age = ``18``
    
    msg = ```hello
    
        my friend```

    单引号双引号没有区别,某些情况注意区分

    多行字符串必须用多引号

    不加引号的被认为是变量 所以 name = jack python会认为是变量赋值,变量需要先声明再使用,所以会报错。

    字符串拼接

    相加 相加就是简单的拼接       相乘 就是复制自己多次,再拼接在一起

    a = 'My name '            name = 'abc'

    b = 'is python'             print(name*3)

    print(a+b)               >> abcabcabc

    >> My name is python

    布尔类型

    两个值 True真  False假

    主要用于逻辑判断

    格式化输出

    1.通过%s占位符 s代表string  d代表digit f代表float

    name = input("Name:")
    age = input("Age:")
    job = input("Job:")
    hometown = input("HomeTown:")
    
    info = """
    --------info of %s ------
    Name:%s
    Age:%s
    Job:%s
    HomeTown:%s
    ------------end ---------
    """ % (name,name,age, job, hometown)
    print(info)
    结果:
    
    Name:a
    Age:b
    Job:c
    HomeTown:d
    
    --------info of a ------
    Name:a
    Age:b
    Job:c
    HomeTown:d
    ------------end ---------

    注意!

    input()方法输入的默认都是str

    如果使用占位符%d则会报错

    需要进行转换

    age = int(input("Age:"))  转化为int类型 

    运算符

    运算按种类可分为算术运算、比较运算、逻辑运算、赋值运算、成员运算、身份运算、位运算。

    算术运算

    %取模 常用于区分奇偶数

    比较运算

    <> python3已经不用

     赋值运算

    逻辑运算

    流程控制

    单分支

    if 条件:

      满足条件后要执行的代码

    双分支

    if 条件:

      满足条件执行代码

    else:

      if条件不满足走这里

    多分支

    if 条件:

      满足条件执行代码

    elif 条件:

      上面不满足走这个

    elif 条件:

      上面不满足走这个

    else:

      上面都不满足走这个

    小知识点:pass方法

    while循环

    loop

    while True:

      执行

    死循环:

    count = 0

    while True:

      print(count)

      count+=1

    循环中止语句

    break:用于完全结束一个循环,跳出循环体执行循环后面的语句

    count = 0
    while count <= 100:
        print("loop",count)
        if count == 5:
            break
        count+=1
    print("--------------------")

    结果:

    loop 0
    loop 1
    loop 2
    loop 3
    loop 4
    loop 5
    --------------------

    continue:终止本次循环,接着继续执行后面的循环

    count = 0
    while count <= 100:
        count += 1
        if count>5 and count<95:
            continue
        print("loop",count)
    print("--------------------")
    
    结果:
    loop 1
    loop 2
    loop 3
    loop 4
    loop 5
    loop 95
    loop 96
    loop 97
    loop 98
    loop 99
    loop 100
    loop 101
    --------------------

    练习 猜年纪,3次机会,猜完问需不需要再玩

    思路:嵌套循环

    #第一种方法
    AGE = 26
    while True:
        count = 0
        while count < 3:
            user_guess = int(input("请输入年龄>>"))
            if user_guess == AGE:
                print("Bingo!")
                break
            elif user_guess < AGE:
                print("try bigger!")
            else:
                print("try smaller!")
            count += 1
        chose = input("还想玩吗?输入Y或N:")
        if chose == "Y":
            continue
        else:
            break

    思路:修改标识符

    #第二种方法
    AGE = 26
    count = 0
    while count < 3:
        user_guess = int(input("请输入年龄>>"))
        if user_guess == AGE:
            print("Bingo!")
            break
        elif user_guess < AGE:
            print("try bigger!")
        else:
            print("try smaller!")
        count += 1
        if count == 3:
            chose = input("还想玩吗?输入Y或N:")
            if chose == "Y" or chose == "y":
                count = 0
                continue
            else:
                break

    while ...else 语句

    其他语言else一般只与if 搭配,python可以和while搭配

    while后面的else作用是指,当while循环正常执行完,中间没有被break终止的话,就会执行else后面的语句

    实际作用是 提供了一种简便的方法检测循环是否正常,是否中间有没有被终止过。

    count = 0
    while count <= 5:
        print("loop",count)
        if count == 3:
            break
        count+=1
    else:
        print("loop is done...")
    #结果:
    loop 0
    loop 1
    loop 2
    loop 3
  • 相关阅读:
    快速搭建ssh(最终版)
    基于SSH2框架Struts2拦截器的登录验证实现(转)
    如果jsp提交到action为空指针的话
    jsp页面添加一个集合数组到action(用序列化提交)
    ajax局部更新
    centOS解决乱码问题
    centOS中修改语言环境
    centOS中如何修改运行级别!
    关于Java静态代码块、初始化块、构造函数的调用顺寻问题?
    九大隐私对象
  • 原文地址:https://www.cnblogs.com/alexstraze/p/9232867.html
Copyright © 2020-2023  润新知