python之初接触

编程语言相关1什么是编程语言2 编程语言的分类以及优缺点编程语言从诞生开始到现在大致经历了三个阶段:机器语言汇编语言高级语言解释类:执行方式类似于我们日常生活中的“同声翻译”,应

大家好,又见面了,我是你们的朋友全栈君。

编程语言相关

1什么是编程语言

编程语言即语言,语言的本质就是沟通,因而编程语言与英语 、法语、日语等所有语言并无区别,只不过英语是人与人之间沟通的介质,而编程语言则是程序员与计算机沟通的介质。

程序员把自己想要说的话用编程的语言写到文件里,这其实就开发了一个程序,接下来让计算机按照文件里说的内容去做事情,这就是程序的执行

2 编程语言的分类以及优缺点

编程语言从诞生开始到现在大致经历了三个阶段:机器语言  汇编语言  高级语言

一:机器语言:机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合。
 优点:灵活、直接执行和速度快。
缺点:不同型号的计算机其机器语言是不相通的,按着一种计算机的机器指令编制的程序,不能在另一种计算机上执行。
二:汇编语言:汇编语言的实质和机器语言是相同的,都是直接对硬件操作,只不过指令采用了英文缩写的,标识符更容易识别和记忆。它同样需要编程
者将每一步具体的操作用命令的形式写出来。
 优点:能完成一般高级语言所不能实现的操作,而且源程序经汇编生成的可执行文件比较小,且执行速度很快。
缺点:源程序比较冗长、复杂、容易出错,而且使用汇编语言编程需要有更多的计算机专业知识。
三:高级语言:明确地讲,高级语言就是说人话,用人类能读懂的(比如英文)字符编程。高级语言是绝大多数编程者的选择。和汇编语言相比,它不但
将许多相关的机器指令合成为单条指令并且去掉了与具体操作有关但与完成工作无关的细节,例如使用堆栈、寄存器等。
优点:大大简化了程序中的指令。同时,由于省略了很多细节,编程者也就不需要有太多的专业知识。
缺点:高级语言所编制的程序不能直接被计算机识别,必须经过转换才能被执行。
高级语言按照转换方式分为俩类:
<span role="heading" aria-level="2">python之初接触
<span role="heading" aria-level="2">python之初接触

解释类:执行方式类似于我们日常生活中的“同声翻译”,应用程序源代码一边由相应语言的解释器“翻译”成目标代码(先翻译/编译成字节码,然后由解释器解释执行,这个过程程序员都无需关心了,享受这种便利即可)。
  
python就是解释类语言,此外,JavaScript / Perl /Shell等都是解释型语言。
    优点:这种方式比较灵活,可以动态地调整、修改应用程序。    
    缺点:效率比较低,而且不能生成可独立执行的可执行文件,应用程序不能脱离其解释器。

编译类:编译是指在应用源程序执行之前,就将程序源代码“翻译”成目标代码(机器语言)。
  
    优点:其目标程序可以脱离其语言环境独立执行,使用比较方便、效率较高。
    缺点:但应用程序一旦需要修改,必须先修改源代码,再重新编译生成新的目标文件才能执行,只有目标文件而没有源代码,修改很不方便。大多数的编程语言都是编译型的
           例如Visual C++、Visual Foxpro、Delphi等。

View Code

编程语言经历了:机器语言-------->汇编语言------------>高级语言(java,C#,php,ruby,python)

             1:开发效率从低到高                        2:执行效率从高到低                                               3:掌握难度从难到易

注解:执行效率不是问题,硬件已经足够用,于是开发效率成了关键,因而高级语言在当今世界大行其道

 编程语言排序表

<span role="heading" aria-level="2">python之初接触

python简介

python应用领域:

<span role="heading" aria-level="2">python之初接触
<span role="heading" aria-level="2">python之初接触

数据分析、组件集成、网络服务、图像处理、数值计算和科学计算等众多领域。目前业内几乎所有大中型互联网企业都在使用Python,如:Youtube、Dropbox、

BT、Quora(中国知乎)、豆瓣、知乎、Google、Yahoo!、Facebook、NASA、百度、腾讯、汽车之家、美团等。互联网公司广泛使用Python来做的事一般有:

自动化运维、自动化测试、大数据分析、爬虫、Web 等。

注视:上述重点字体表示该公司主要使用Python语言开发

View Code

python语言和其他语言的区别:

<span role="heading" aria-level="2">python之初接触
<span role="heading" aria-level="2">python之初接触

C 和 Python、Java、C#等

  C语言: 代码编译得到 机器码 ,机器码在处理器上直接执行,每一条指令控制CPU工作

  其他语言: 代码编译得到 字节码 ,虚拟机执行字节码并转换成机器码再后在处理器上执行

  Python 和 C  Python这门语言是由C开发而来

  对于使用:Python的类库齐全并且使用简洁,如果要实现同样的功能,Python 10行代码可以解决,C可能就需要100行甚至更多.

       Linux原装Python,其他语言没有;以上几门语言都有非常丰富的类库支持

  对于速度:Python的运行速度相较与C,慢很多。比其他几门语言速度上也比较慢。

       速度永远不是关键,对大多数的应用程序来说,并不需要这么快的运行速度,因为用户根本感觉不出来。

  对于加密:对于编译型语言如C语言来说,可以将编译后的代码发给用户,用户反解几乎是不可能的,相当于自带加密功能了。

       而解释型语言如python只能发布源码给用户,但现在主流的思想是软件开源。

复制代码

View Code

python语言的种类:

<span role="heading" aria-level="2">python之初接触View Code

python环境

windows系统:

1、下载安装包
    https://www.python.org/downloads/
2、安装
    默认安装路径:C:\python27
3、配置环境变量
    【右键计算机】--》【属性】--》【高级系统设置】--》【高级】--》【环境变量】--》【在第二个内容框中找到 变量名为Path 的一行,双击】 --> 【Python安装目录追加到变值值中,用 ; 分割】
    如:原来的值;C:\python27,切记前面有分号

Linux系统

无需安装,原装Python环境
   
ps:如果自带2.6,请更新至2.7

更新python

windows系统

卸载重装即可

Linux系统

Linux的yum依赖自带Python,为防止错误,此处更新其实就是再安装一个Python

<span role="heading" aria-level="2">python之初接触
<span role="heading" aria-level="2">python之初接触

查看默认Python版本
python -V
1、安装gcc,用于编译Python源码
    yum install gcc
2、下载源码包,https://www.python.org/ftp/python/
3、解压并进入源码文件
4、编译安装
    ./configure
    make all
    make install
5、查看版本
    /usr/local/bin/python2.7 -V
6、修改默认Python版本
    mv /usr/bin/python /usr/bin/python2.6
    ln -s /usr/local/bin/python2.7 /usr/bin/python
7、防止yum执行异常,修改yum使用的Python版本
    vi /usr/bin/yum
    将头部 #!/usr/bin/python 修改为 #!/usr/bin/python2.6

View Code

 python入门

1. hello world:

在D:\python_test\目录下新建文件hello.py,编写代码如下

print('hello world')

执行hello.py,即python D:\python_test\hello.py

2指定解释器

window平台下python D:\python_test\hello.py时,明确的指出 hello.py 脚本由 python 解释器来执行。

linux平台中如果想要类似于执行shell脚本一样执行python脚本,例: ./hello.py ,那么就需要在 hello.py 文件的头部指定解释器,如下:

#!/usr/bin/env python
print('hello world')

 3 字符编码

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

ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代

英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 = 256,所以,ASCII码最多只能表示 256 个符号。

<span role="heading" aria-level="2">python之初接触

<span role="heading" aria-level="2">python之初接触

显然ASCII码无法将世界上的各种文字和符号全部表示,所以,就需要新出一种可以代表所有字符和符号的编码,即:Unicode

Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字

符设定了统一并且唯一的二进制编码,规定虽有的字符和符号最少由 16 位来表示(2个字节),即:2 **16 = 65536

注:此处说的的是最少2个字节,可能更多

UTF-8,是对Unicode编码的压缩和优化,他不再使用最少使用2个字节,而是将所有的字符和符号进行分类:ascii码中的内容用1个字节保存、欧洲的字符

用2个字节保存,东亚的字符用3个字节保存…

所以,python解释器在加载 .py 文件中的代码时,会对内容进行编码

在python3中默认utf-8,,可以编码中文

在python2中默认ascill,ascii码无法表示中文

如果是如下代码的话:

#!/usr/bin/env python 
print "你好,世界"
--->报错:ascii码无法表示中文

改正:应该显示的告诉python解释器,用什么编码来执行源代码

#!/usr/bin/env python
# -*- coding: utf-8 -*- 
print "你好,世界"

4. 注释:

单行注视:# 被注释内容

多行注释:””” 被注释内容 “””

注释快捷键:选中被注释的内容,ctrl+?注释选中的内容,再次ctrl+?取消注释

5.执行脚本传入参数

 Python有大量的模块,从而使得开发Python程序非常简洁。类库有包括三中:

(1)Python内部提供的模块;(2)业内开源的模块;(3)程序员自己开发的模块

Python内部提供一个 sys 的模块,其中的 sys.argv 用来捕获执行执行python脚本时传入的参数

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
print sys.argv

执行:

C:\Users\Administrator>python D:\python_test\hello.py arg1 arg2 arg3
['D:\\python_test\\hello.py', 'arg1', 'arg2', 'arg3']

6.pyc文件

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

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

7.变量

变量的声明(定义)

#!/usr/bin/env python
 
name='egon'

变量定义的规则:

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

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

  关键字不能声明为变量名

变量的赋值

#!/usr/bin/env python
 
name1='lhf'
name2='egon'

变量指向被赋值的内容

 <span role="heading" aria-level="2">python之初接触

#!/usr/bin/env python
 
name1='lhf'
name2=name1

<span role="heading" aria-level="2">python之初接触

变量的存在意义:程序执行的本质在于处理一系列状态的变化,变量就用来保存某一种状态,比如 level=1,age=10,name=’egon’,变量的值的修改(即变量的赋值)就是一种状态的变化,不同的数据类型用来表示不同的状态,比如数 字类型用来表示人的年纪,等级,身份证等等

#!/usr/bin/env python
#一个游戏人物的等级由1级升到2级
level=1
level=2
#一个游戏帐号的密码由'123'改成'456'
passwd='123'
passwd='456'
#一个人的名字有'by'改成'bypp'
name='by'
name='bypp'

8.输入

#!/usr/bin/env python
 
name=input('请输入用户名:')
print(name)

执行:

C:\Users\Administrator>python D:\python_test\hello.py
请输入用户名:bypp
bypp

输入密码时,如果想要不可见,需要利用getpass 模块中的 getpass方法,即:

#!/usr/bin/env python
 
import getpass
password=getpass.getpass('请输入密码:')
print(password)

执行:

C:\Users\Administrator>python D:\python_test\hello.py
请输入密码:
123456

9.控制流程和缩进

流程控制:

  
例子一、用户登陆验证
 
#!/usr/bin/env python
 
name=input('请输入用户名字:')
password=input('请输入密码:')
 
if name == 'bypp' and password == '123':
    print('bypp login success')
else:
    print('用户名或密码错误')

例子二、根据用户输入内容输出其权限

#!/usr/bin/env python
#根据用户输入内容打印其权限
 
'''
bypp --> 超级管理员
tom  --> 普通管理员
jack,rain --> 业务主管
其他 --> 普通用户
'''
name=input('请输入用户名字:')
 
if name == 'bypp':
    print('超级管理员')
elif name == 'tom':
    print('普通管理员')
elif name == 'jack' or name == 'rain':
    print('业务主管')
else:
    print('普通用户')

缩进:

python中子内容统一被缩进相同的空格数,如1,2,3,4,5,6,,7,8等随意设定,只需要统一即可。

但python中默认缩进4个空格

10.while循环

1基本循环

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

2break循环

break用于退出所有循环
    
while True:
    print "123"
    break
    print "456"

3continue循环

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

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

相关练习题

1、使用while循环输出1 2 3 4 5 6     8 9 10

2、求1-100的所有数的和

3、输出 1-100 内的所有奇数

4、输出 1-100 内的所有偶数

5、求1-2+3-4+5 … 99的所有数的和

6、用户登陆(三次机会重试)

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/124544.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 博客目录与概览

    从即日起,我将开始开始着手写作《深入理解机器学习》分类下的文章。《深入理解机器学习》不仅仅把目光局限机器学习算法的推导与实现,更多的会将目光聚焦于从数学、统计学以及统计学习的角度来深入理解机器学习算法,除此之外,我还会讨论各个机器学习算法局限与瓶颈,纵横向比较各种机器学习算法的优劣等。在详细介绍机器学习算法的同时,我还会通过Python和Scala给出相关项目的实战代码。所以,想深入学习机器学习的…

  • 项目范围管理「建议收藏」

    项目范围管理「建议收藏」1、项目范围管理要做好以下三方面工作:1)明确项目边界2)对项目执行工作进行监控3)防止项目范围发生蔓延2、项目的范围基准是经过批准的项目范围说明书、WBS和WBS字典。判断项目是否完成要以范

  • 详细介绍如何在ubuntu20.04中安装ROS系统,超快完成安装(最新版教程)

    详细介绍如何在ubuntu20.04中安装ROS系统,超快完成安装(最新版教程)  2020年的10月份,我整理写了一篇名为:详细介绍如何在ubuntu20.04中安装ROS系统,以及安装过程中出现的常见错误的解决方法,填坑!!!的博客,已经经过了很多小伙伴的验证,确实是可行的,该篇博客链接如下:【请点击此处进行跳转】  经过近期的探索,我将安装步骤进行了进一步的优化,使安装变得更加快速,更加简单,我已经验证了其可行性,期待更多的小伙伴们一起来验证  本次安装依旧采用在虚拟机中安装的模式,一年前我用的VMware15.5,现在用的VMware16.1.1,【获取方式(附安装步

  • es6数组方法总结

    es6数组方法总结1、for循环2、foreach(es5)3、map(es5)4、some5、every6、filter功能需求:扫码枪扫商品去判断当前护理项目下面是否存在这个商品如果有那么就存在前端的集合里面如果没有则提醒没有此商品护理项目会有多个会存在多个护理项目下面存在相同的商品需要核销判断此商品是否存在我是用的some方法letnewAry=_this.goodsList.some(n=>{ letres=n.goodsList.some(r=&.

  • unittest自动化测试框架_unittest批量加载用例

    unittest自动化测试框架_unittest批量加载用例目录一、unittest简介二、基本概念三、unittest基础使用四、unitteest提供的各种断言方式五、unittest测试用例跳过执行六、总结一、unittest简介测试框架-unittest,相当于是一个python版的junit。python里面的单元测试框架除了unittest,还有一个pytest框架,这个实际上用的比较少,后面有空再继续介绍和分享。unittest单元测试框架不仅可以适用于单元测试,还可以适用WEB自动化测试用例的

    2022年10月14日
  • linux里chmod_linux常用的20个命令

    linux里chmod_linux常用的20个命令linux中chmod命令的使用方法发布时间:2020-06-2417:05:24来源:亿速云阅读:79作者:元一这篇文章运用简单易懂的例子给大家介绍linux中chmod命令的使用方法,代码非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。chmod介绍:linux中可以使用命令chmod来为文件或目录赋予权限。Linux/Unix的档案存取权限分为三级:档案拥有者、群组、其…

    2022年10月20日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号