第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

 

posted @ 2018-06-27 11:56  Alexstraze  阅读(135)  评论(0编辑  收藏  举报