python第一周:python初识、流程控制

编译性语言:在将源代码编译完毕生成一个可执行文件后才能运行

解释性语言:在代码的运行期间进行编译

动态类型语言:在运行期间才去做数据检查的语言,也就是说在使用动态类型语言时不用指定数据类型

静态类型语言:在编译期间去做数据检查

强类型定义语言:强制数据类型定义的语言

弱类型定义语言:数据类型可以忽略的语言,一个变量可以有不同的数据类型

python解释器:要运行代码,就需要python解释器去执行.py文件

以下是几种常用的python解释器:

CPython

这个解释器是用C语言开发的,所以叫CPython。在命令行下运行python就是启动CPython解释器。

CPython是使用最广的Python解释器。教程的所有代码也都在CPython下执行。

IPython

IPython是基于CPython之上的一个交互式解释器,也就是说,IPython只是在交互方式上有所增强,但是执行Python代码的功能和CPython是完全一样的。

CPython用>>>作为提示符,而IPython用In [序号]:作为提示符。

PyPy

PyPy是另一个Python解释器,它的目标是执行速度。PyPy采用JIT技术,对Python代码进行动态编译(注意不是解释),所以可以显著提高Python代码的执行速度。

绝大部分Python代码都可以在PyPy下运行,但是PyPy和CPython有一些是不同的,这就导致相同的Python代码在两种解释器下执行可能会有不同的结果。

Jython

Jython是运行在Java平台上的Python解释器,可以直接把Python代码编译成Java字节码执行。

IronPython

IronPython和Jython类似,只不过IronPython是运行在微软.Net平台上的Python解释器,可以直接把Python代码编译成.Net的字节码。

字符编码:python解释器在加载.py文件中的代码时,会对内容进行编码(默认是ASCII码)

                  发展过程:ASCII:支持255个字符(不支持中文),每个字符占一个字节

                           --->1980年,GB2313,支持7000多个字符

                           --->1995年,GBK1.0,支持20000多个字符

                           --->2000年,GB18030,支持27000多个字符

                           --->unicode,每个字符占2个字节

                           --->utf-8,en:1个字节,zh:3个字节

                  注:因为python解释器不支持中文,所以应该告诉python解释器,用什么编码执行源代码

python:

1.定义:python是一门解释性动态强类型定义的语言

2.优点:

(1)..python的定位时“优雅、明确、简单”,所以python程序看上去总是简单易懂

(2).开发效率非常高,又非常强大的第三方库

(3).高级语言——无需考虑如何管理内存等底层细节                        

(4).由于它的开源本质,可移植性高                         

(5).可扩展性——可以把部分程序用c或c++编写

(6).可嵌入性——可以把python嵌入你的c++程序

3.缺点:

(1).速度慢
(2).由于其开源本质导致代码不能加密
(3).线程不能多利用CPU问题

4.本周学习python相关语法知识:

1.变量:

(1)定义规则:变量名只能是字母、数字或下划线的任意组合 ,变量名的第一个字符不能是数字           

(2)注意事项:以下关键字不能声明为变量名:

'and' 'as' 'assert' 'break' 'class' 'continue'                         

'def''elif' 'else' 'except' 'exec' 'finally'                          

'for''from''gloable' 'if' 'import' 'in' 'lambda' 'not' 'or'                         

'pass''print' 'raise' 'return' 'try' 'while' 'with' 'yield'】

2.用户交互程序:             

'''
username = input("username:")
password = input("password:")
print(username,password)
'''
#输入
name = input("name:")
age = int(input("age:"))
#注意:python中输入数据时默认是字符串类型,要想改变类型,就必须使用强制转换
print(type(age))  #type()显示变量的数据类型
job = input("job:")
salary = input("salary:")
#两种打印方式
#第一种 info = ''' ------------ info of ''' + name + ''' ---------- Name:''' + name + ''' Age:''' + age + ''' Job:''' + job + ''' Salary:''' + salary + ''' ''' print(info) #第二种 mgr = ''' --------mgr of %s ---------- Name:%s Age:%d Job:%s Salary:%s ''' % (name,name,age,job,salary) print(mgr) #第三种 sfs = ''' -------- sfs of {_name} ------- Name:{_name} Age:{_age} Job:{_job} Salary:{_salary} '''.format(_name=name, _age=age, _job=job, _salary=salary) print(sfs) #第三种 ofo = ''' -------- ofo of {0} ------- Name:{0} Age:{1} Job:{2} Salary:{3} '''.format(name,age,job,salary) print(ofo)
#建议不要使用第一种

3.if else流程判断

例如:if 3>2:
           xxx
        else:
           yyy
#执行完xxx后执行下一个语句

4.while循环:

             while 判断语句:
                   内部子语句
              else:
                   内部子语句
              #如果while内部的子语句顺利执行完毕就执行else的内部子语句,如果while循    环被break破坏掉,就不执行els

5.for循环:

    for i in range(10): #range(10)里面默认是0、1、2、3、4、5、6、7、8、9,当循环时i就把range里面的数取出来
              for i in range(0,10,2): #range()里面是0、2、4、6、8
              for i in range(1,10,2): #range()里面是1、3、5、7、9
              for i in range(n):
                    内部子语句
              else:
                    内部子语句
              #如果for内部的子语句顺利执行完毕就执行else的内部子语句,如果for循环被break破坏掉,就不执行else

6.break和continue

break用于终止循环,转到下一个语句

continue用于不执行循环内部的子语句,即跳过本次循环

附注:所有主语句下面的子语句必须强制缩进

posted @ 2018-09-30 18:09  元骑鲸  阅读(165)  评论(0编辑  收藏  举报