python基础

一、python前言

  1、什么是编程语言

    编程语言是程序员与计算机之间沟通的介质。

  2、编程语言的分类

    机器语言:机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合。

    汇编语言:汇编语言的实质和机器语言是相同的,都是直接对硬件操作,只不过指令采用了英文缩写的,标识符更容易识别和记忆。它同样需要编程者将每一步具体的操作用命令的形式写出来。

    高级语言:和汇编语言相比,它不但将许多相关的机器指令合成为单条指令并且去掉了与具体操作有关但与完成工作无关的细节。

  注:高级语言按转换方式可将它们分为两类

     解释类:执行方式类似于我们日常生活中的“同声翻译”,应用程序源代码一边由相应语言的解释器“翻译”成目标代码(如python程序,先翻译/编译成字节码,然后由解释器解释执行,这个过程程序员都无需关心了,享受这种便利即可),一边执行

     编译类:编译是指在程序执行之前,就将程序源代码“翻译”成机器指令,并保存成二进制文件

    

二、python简介

  1、python的前世今生和应用领域

    略

  2、python解释器的种类

    Cpython:最常用的版本,是使用c语言实现的使用最为广泛,CPython实现会将源文件(py文件)转换成字节码文件(pyc文件),然后运行在Python虚拟机上。

    Jpython:Python的Java实现,Jython会将Python代码动态编译成Java字节码,然后在JVM上运行。

    IronPython:Python的C#实现,IronPython将Python代码编译成C#字节码,然后在CLR上运行。(与Jython类似)

    PyPy(特殊):Python实现的Python,将Python的字节码字节码再编译成机器码。

  3、python的工作机制

    

    编译型
    优点:编译器一般会有预编译的过程对代码进行优化。因为编译只做一次,运行时不需要编译,所以编译型语言的程序执行效率高。可以脱离语言环境独立运行。
    缺点:编译之后如果需要修改就需要整个模块重新编译。编译的时候根据对应的运行环境生成机器码,不同的操作系统之间移植就会有问题,需要根据运行的操作系统环境编译不同的可执行文件。

    解释型
    优点:有良好的平台兼容性,在任何环境中都可以运行,前提是安装了解释器(虚拟机)。灵活,修改代码的时候直接修改就可以,可以快速部署,不用停机维护。

    缺点:每次运行的时候都要解释一遍,性能上不如编译型语言。

   注:java代码号称一次编译到处运行,因为java代理需要先编译成字节码(一种中间格式的代码),然后拿着字节码到处运行,每次运行都需要交给jvm去编译成机器指令后才能执行,因而java是混合型。

      python不是混合型而是解释型。因为首先需要知道,只有在import导入py文件时,才会产生pyc字节码文件,该字节码文件是可以代替源文件而直接执行的,每次执行py文件,产生的字节码并不会保留下来,也就是说,每次执行py文件,都是要重新经历一遍:py文件->字节码-->python解释器-->机器码,每次都是一个重新解释执行的过程。

      执行Python代码时,如果导入了其他的 .py 文件,那么执行过程中会自动生成一个与其同名的 .pyc 文件,该文件就是Python解释器编译之后产生的字节码。

      代码经过编译可以产生字节码;字节码通过反编译也可以得到代码。

三、python文件

  1、文件的开头

  #!/usr/bin/env python     (调用环境变量,用python来执行该文件,也可以只写python的绝对路径来执行该文件)

  #  coding: utf-8       (文件字符集是tft-8,也可以设置成别的)
  注:# 表示注释一行的内容      """ 被注释内容 """表示注释多行的内容

  2、python执行脚本传入参数

  Python有大量的模块,从而使得开发Python程序非常简洁,类库有包括三种:Python内部提供的模块;业内开源的模块;程序员自己开发的模块。

四、python中的变量

  1、变量名的命名(标识符的命名)

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

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

    以下关键字不能声明为变量名['and', 'as', 'assert', 'break', 'class', 'continue',
'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for',
'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or',
'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']

  2、变量的声明与调用

    

五、python简单的运算符

  1、算数运算:

    

  2、比较运算:

    

  3、赋值运算:

    

  3、位运算:

    

    注: ~  举例: ~5 = -6  解释: 将二进制数+1之后乘以-1,即~x = -(x+1),-(101 + 1) = -110

    按位反转仅能用在数字前面。所以写成 3+~5 可以得到结果-3,写成3~5就出错了

六、流程控制

  1、条件语句

    单分支(略)

    多分支

    

  2、循环语句

    while循环

    基本循环

while 条件:

    # 循环体

    # 如果条件为真,那么循环体则执行
# 如果条件为假,那么循环体不执行

     break

    break用于退出本层循环

while True:
print ("123")
break
print ("456")

    continue

    continue用于退出本次循环,继续下一次循环

while True:
print ("123")
continue
print ("456")

    tag

#!/usr/bin/env python
#_*_coding:utf-8_*_ # while True:
# username=input('username: ')
# password=input('password: ')
# if username == 'egon' and password == '123':
# while True:
# cmd=input('>>: ')
# if cmd == 'q':
# break
# print('------>%s' %cmd)
# break
tag=True
while tag:
username=input('username: ')
password=input('password: ')
if username == 'egon' and password == '123':
while tag:
cmd=input('>>: ')
if cmd == 'q':
tag=False
continue
print('------>%s' %cmd)

    for循环

注:九九乘法表

for i in range(1,10):
for j in range(1,i+1):
print('%s*%s=%s' %(i,j,i*j),end=' ')
print()

补充:

  python3中统一都是input,python2中有raw_input等同于python3的input,另外python2中也有input

  1.res=input("python3: ")       2.res=raw_input("python2: ")        3.res=raw_input("python2: ")

  1,2无论接收何种输入,都被存为字符串赋值给res,而3的意思是,用户输入何种类型,就以何种类型赋值给res

  

python基础1 ---python简介的更多相关文章

  1. 二十一. Python基础(21)--Python基础(21)

    二十一. Python基础(21)--Python基础(21) 1 ● 类的命名空间 #对于类的静态属性:     #类.属性: 调用的就是类中的属性     #对象.属性: 先从自己的内存空间里找名 ...

  2. python基础知识1——简介与入门

    什么是Python:Python能做什么:安装与更新:第一个Python程序:变量:pyc字节码:编码:条件和循环:Python运算符:算数,比较,赋值,位,逻辑::::::::::::::::::: ...

  3. Python基础之语言简介

    python是什么 Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言,其设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特 ...

  4. Python基础+Pythonweb+Python扩展+Python选修四大专题 超强麦子学院Python35G视频教程

    [保持在百度网盘中的, 可以在观看,嘿嘿 内容有点多,要想下载, 回复后就可以查看下载地址,资源收集不易,请好好珍惜] 下载地址:http://www.fu83.cc/ 感觉文章好,可以小手一抖 -- ...

  5. python基础实践 -python是一门动态解释性的强类型定义语言

    python是一门动态解释性的强类型定义语言 Python能做什么? Python是一门综合性的语言,你几乎能在计算机上通过Python做任何事情,以下是Python应该最广泛的几个方面: 1.网络应 ...

  6. python基础-初识Python和不同语言之间的区别

    一.Python的创始人谁? Python之父:吉多·范罗苏姆GuidovanRossum 吉多·范罗苏姆是一名荷兰计算机程序员,他作为Python程序设计语言的作者而为人们熟知.在Python社区, ...

  7. python基础7 ---python函数

    python基础知识 一.闭包函数 1.闭包函数的定义:在一个内部函数中,在对外部作用域(但不是在全局作用域)的变量进行引用,那么内部函数就被认为是闭包. 2.闭包函数的特点:自带作用域和延迟计算 补 ...

  8. Python基础-1 python由来 Python安装入门 注释 pyc文件 python变量 获取用户输入 流程控制if while

    1.Python由来 Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚 ...

  9. [Python基础]001.Python准备

    Python准备 Python简介 使用版本 环境安装 编写第一个Python文件 编辑器选择 Python简介 Python是一种简单易学,功能强大的编程语言,它有高效率的高层数据结构,能简单而有效 ...

随机推荐

  1. .mata. _root_ (转)

    HRegionServer 里面存放了很多的HRegion,而且每一个HRegion都有一个唯一标识(表名+开始主键+唯一ID),这个唯一标识符在每一个HRegion中都有存储. .mata.表存的数 ...

  2. Catch That Cow(广度优先搜索_bfs)

     Catch That Cow Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 48036   Accepted: 150 ...

  3. iOS项目开发之Socket编程

    有一段时间没有认真总结和写博客了 前段时间找工作.进入工作阶段.比较少静下来认真总结,现在静下心来总结一下最近的一些心得 前言 AsyncSocket介绍 AsyncSocket详解 AsyncSoc ...

  4. android tooggle button

    1 http://stackoverflow.com/questions/9938315/toggle-button-in-iphone-style 2 http://blog.csdn.net/bi ...

  5. 对ListView滚动状态的监听

    有的时候,我们需要对ListView滚动做一个相应的监听事件,例如:要实现如下图通讯录的功能: 思路为:首先呢,中间那个"路"字为一个TextView,它与ListView采用相对 ...

  6. 搭建Squid反向代理服务器

    好吧,更新个文章,有段时间没写技术博文了.今天就说说squid反向代理这个服务,当然,这是在Linux下配置完成的.说自己没偏见似乎不可能 了.大概是相对喜欢Linux而已.但我从不否认Windows ...

  7. threw load() exception java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet(maven项目git后)

    maven项目git全新项目后启动服务出现的, 错误原因: 进入到tomcat的部署路径.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpw ...

  8. CSRF介绍与应对以及Java代码示例

    详细信息看这里:https://www.ibm.com/developerworks/cn/web/1102_niugang_csrf/ 简介 CSRF(Cross Site Request Forg ...

  9. 在SDL中显示GBK点阵汉字

    大家注意到没有,RA2的中文版本使用的是GBK点阵字库,这样做有一个好处:不管玩家是用的简体还是繁体都能识别显示的文字. GBK的意思大概是“国家标准汉字扩展字符集”吧,记不清了.但它的确是个好东东, ...

  10. [译]GLUT教程 - 弹出菜单基础

    Lighthouse3d.com >> GLUT Tutorial >> Pop-up Menus >> Popup Menus 弹出菜单也是GLUT的一部分.虽然 ...