【编程语言与python的简介】

一.什么是编程语言:
1.计算机与人类沟通的桥梁
举例:人与人之间的沟通通过语言,人是无法直接与计算机对话的,我们需要将人类语言转换为计算机可以识别的语言
2.编程语言的分类
①编译型:c、c++、go等
②解释型:java、python、js等
任何语言程序底层都是通过01010这种序列执行的、而语言的源代码都是字符序列,上面两个过程就是为了将这些字符序列通过编译器或解析器多次转换完成
二.解释型语言与编译型语言的差异
解释型:不需要通过编译就可以直接执行代码,解释过程包含在执行代码过程中
编译型:需要依赖编译器,例如c语言依赖的GCC编译器,需要将一开始的c语言.c文件编辑好,通过编译成.exe可执行程序,计算机才能识别
区别:执行速度上编译型更快(一次性编译,部分部分解释),可迁移性上解释型占优(往linux、nginx上迁移),简言之就是跨平台性能差
三.什么是python?
1.python是一种面向对象的解释型语言
面向对象:python中一切皆为对象,俗称更接近人类的语言,所以常用在人工智能中;python中一切皆为对象,对事务的描述和方法系统的定义为一个类,这个类的具体实例就是一个对象
举例:一个字符一个数字都是对象,一群人是对象,一群人中的一个人都是对象,可以叫做子对象
Python2的默认编码格式是ASCII,python3的编码格式是utf-8,所以python3支持中文
四.python的优点
1.跳过了编译步骤直接执行代码
2.交互式语言。可以通过python加文件在dos中直接执行代码
3.广泛的标准库、第三方库
4.开放源代码:大家都能看到源代码,易于维护
5.数据库:对数据库的可操作,提供数据接口
6.易移植:linux、windows、nginx都可以兼容
7.可以嵌入:将python嵌入到你的c语言代码中,使其获得脚本的能力

例如shell脚本在linux中可以执行一键搭建环境,python脚本也可以执行一键执行c代码,或者改变程序的功能特性;脚本-批处理文件

五.python的作用领域
1.人工智能:可以很好的模拟人类的行为和属性如人脸识别
2.云计算:这个不讲
3.web开发基于第三方库(豆瓣、知乎)
4.自动化爬虫
5.数据分析
6.游戏开发(阴阳师)

六.动态、静态语言
在语言的分类模式有这样的分类:动态静态语言、强弱语言
动态、静态语言:通过类型检查来判断是动态还是静态语言,类型检查就是说判断一个变量和他的值的类型是否符合规范,比如int a=1是符合规范的,char a = 1是不合理的;而这种类型检查通常在语言的编译/解释阶段或者运行阶段才会去验证,因此我们将发生在编译阶段的语言称之为“静态语言”;发生在运行阶段的称之为“动态语言”,静态语言拒绝报(behaved),动态(behaviors)
常见动态语言:python、javascript、php(dynamiclly typed)
常见静态语言:java、c、c++、c#、go(statically typed)
静态分为:显示类型(语言语法中定义的如java);隐式类型(类型通过编译时推导出来的,如:Ocaml)

七.强制类型语言、弱类型语言、无类型语言
强弱类型主要是站在变量类型处理的角度进行分析的
强类型语言就是指:无论在编译/解释阶段还是在运行阶段,当一种变量定义了一个数据类型之后,这个变量便持有了这种类型,不能随意与其他类型表达式进行混合运算
弱类型语言:对于类型的检查很弱,仅能严格区分指令和数据,允许变量类型的隐式转换,允许强制类型转换,如字符串和数值可以自动转换,随着运算环境变化而变化类型
无类型语言:根本就不检查类型,甚至不区分指令和数据
强类型:python、java、c#
弱类型:vbs、php

八.强类型语言与弱类型语言的差异
变量都有两个属性:类型和值,强类型语言建立变量之前必须进行变量类型声明int a ,弱类型不需要,但是不代表弱类型没有类型这个概念,而是通过解释器解释,例如php的gettype就是返回类型的
强类型的数据类型是不能随意改变的,而弱类型是随需求改变的,这是本质区别,强类型只有通过重新定义变量或者重新赋值或者强制转换才能改变类型
强类型语言一旦给定类型的值,变量类型也就定了,强制转换是不会改变变量类型的,只是改变了值的类型,变量类型不允许改变

九.为什么python是强制类型语言?
python在运行时可以改变变量的类型,所以是动态语言
python的变量必须通过定义一个类型的值才能使用(六大数据类型)
python在运算表达式时不同数据类型需要通过强制转换才行,不过它的变量类型会随之改变

十.python中判断数据类型的两种方式
1.type
2.isinstance(参数1,参数2)
print(type(1))
print(1, int)
我们更加推荐使用isinstance这种方式来判断数据类型
type:不会认为子类是一种父类类型,不考虑继承关系
isinstance:会认为子类是父类类型,会考虑继承关系

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值