python是哪个国家开发的语言_python day01 Python编程语言介绍

Python编程语言介绍

1、编程的目的?什么是编程?什么是编程语言?

(1)编程的目的:计算机的发明和使用,就是为了用计算机去代替人工,去解放人类;编程的目的就是将人的思想流程化,并且以一种能够被计算机识别的模式,让计算机能够像人脑那样去工作,去自动执行的效果;

(2)编程:编程就是程序员,为达到或者说实现某种操作,将自己的思想流程或者说逻辑,根据某种语言的语法规定编写下来的过程;

(3)编程语言:编程语言即是能够被计算机识别的语言,编程语言是程序员和计算机沟通的媒介。目前主流编程语言:C、C#、Java、go、ruby、PHP、python。

2、编程语言的发展历史

(1)机器语言:计算机直接能够识别的语言,用二进制进行编程,直接操作硬件;

(2)汇编语言:用英文标识符取代二进制去编程,也是直接操作硬件;

(3)高级语言:用人类的字符去编写程序,运行时是先将它编译成计算机能够读懂的二进制后,再运行(编译型、解释型)。

1>编译型与解释型的区别:

编译型语言,在程序执行之前,有一个单独的编译过程,将程序翻译成机器语言,以后执行这个程序的时候,就不用再进行翻译了;

解释型语言,是在运行的时候将程序翻译成机器语言,所以运行速度相对于编译型语言要慢。

2>编译型与解释型的优缺点:

编译型:优点——运行速度快,代码执行效率高,运行后代码不可修改,保密性好;

缺点——代码经过编译后才可运行,移植性差,只能在兼容的系统上运行。

解释型:优点——移植性好,只要有解释环境,可在不同的操作系统上运行;

缺点——运行需要解释环境,运行效率低,占用资源多。

开发语言:

高级语言:java python  ruby C#  生成的是字节码;优缺点:开发效率高、运营效率低;

低级语言:C 汇编语言                    生成的机器码;优缺点:开发效率低、运营效率高;

C语言:要在开发路上走的更远,一定要学习C语言,开发底层的东西;

语言之间的对比:

PHP类:适用于写网页,局限性

Python Java: 及可以写网页也可以写后台功能

- Python执行效率低,开发效率高

- Java执行效率高, 开发效率低

Python种类:

JPython

IronPython

JavaScriptPython

RubyPython

CPython **********

...

pypy 这是用CPython开发的Python 目前Python执行速度最快的版本

3、python语言简介

python语言的作者是吉多·范罗苏姆。1989年圣诞节期间,他开始书写能够解释python语言语法的解释器;最新的TIOBE排行榜,python赶超PHP,占据第四位;python就属于解释型,目前的版本有——cpython、jpython、ironpython、pypy、rubypython,我们用的就是cpython。

python版本有python2和python3,目前用的较多的是python3。

4、python开发环境安装(python2、python3)

(1)下载软件  ,官网地址:https://www.python.org/downloads/,以Windows操作系统为例:

de076dd5c256f0922d24fbb20f3d7e2d.png

9946838e939da1dc18bdb7eb40a4e82e.png

(2)配置环境变量:将C:\Python36及C:\Python36\Scripts加入到环境变量中path中去,用;做分隔;

(3)测试是否安装成功:Windows+R;cmd;python3/python2;运行成功进入交互模式;交互模式的优点就是方便测试代码正确性,但是无法存储代码,而脚本文件可永久保存代码。

建议:安装在根目录下,这样以后在安装插件的时候容易找到!   windows: 直接点就行;Linux:系统自带;

5、编写第一个程序

print("hello world!")

932612ff89f284338d3297ceda193479.png

6、编码

(1)ASCII码:是美国标准信息交换代码的缩写,是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 = 256,所以,ASCII码最多只能表示 256 个符号。1字节=8位;

(2)Unicode:随着计算机的快速发展和普及,显然ASCII已经无法显示世界上各国家的符号和文字,这个时候就出现了Unicode,至少用16位,2个字节,来表示对应关系,但是它只是代表对应关系,而非真正的用它去实现存储;这样会造成内存空间的浪费;这个时候就出现了utf-8;

(3)UTF-8:能用多少表示就用多少表示,可以理解为是对Unicode的缩减,它至少用1个字节表示,最多用3个字节,中文3个字节;

(4)gbk:是针对亚洲国家文字做的对应关系,中文用2个字节。

注意:python2的解释器编码默认的是ASCII,而python3解释器编程默认为utf-8;可通过 -*- coding = UTF-8 -*-设定解释器编码为utf-8,Python无需关注。

内存中用的编码都是Unicode编码;保证不乱码的条件:用什么编码存,就用什么编码取;

ASCII——GB2312(1980年7445个字符)——GBK(1995年扩展了21886个)——GB18030(2000年收录27484个)——Unicode——utf-8

7、IDE—python的安装和使用

8、输入输出

(1)输入:input;示例—— name = input("我的名字叫: ")    python3中是input,用户输入任意值,最终都存成字符型,而python2中raw_input和python3的input效果一样。永远等待,直到用户输入一个值!input输入的类型全部都是字符串类型!

(2)输出:print(name)

(3)注释:当代码成千上万行时,需要对难理解的部分做注释,单行注释用#,多行注释用'''''' “”“”“”;代码注释可以是中文或者英文,但是不能用拼音。Python解释器碰到注释,不执行。

9、变量

(1)什么是变量:变是‘’变化‘’,量是反映某种状态

(2)格式

变量名 = 值

(3)变量的命名规则:

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

2>变量名不能以数字开头;

3>变量名不能是python的关键字。

(4)变量名定义方式:

1>驼峰式:OldBoy = "alex";

ClassName = “一年级三班”

2>下划线式:old_boy = "吴佩奇"

(5)注意点:变量名不宜过长;不要是中文;要有意义;

(6)定义变量三要素:value、type、id;

1>value:用来表示状态,用变量名来取变量值;

2>type:用来表示类型,有数值型、字符型等;

3> id:变量值的id号。

注意:==比较的是变量的值——value;is比较的是变量的id;id相同,value和type肯定相同,value相同,type相同,但是id可能不同。

(7)文件头

#!/usr/bin/env python

-*-  coding: utf-8 -*-

10、基本数据类型

(1)整型 int   例如:age = 18 # age = int(18);

(2)浮点型 float  例如:salary = 3.1 # salary = float(3.1);

(3)字符串类型 例如: name = "张飞"  加了引号的就是字符串类型,引号可以是‘’,也可以是“”,还可以是''' ''',但是当是多行注释的时候必须用''' ''';

数值型可以进行加减乘除运算,而字符串型值只能进行‘’+‘’运算和‘’*‘’运算;

(4)布尔型 True/False  例如 flag = True;

(5)列表

用[ ]存放n个任意类型的值,且用逗号隔开; 例如:  ["name", "sex", 32];

列表可以嵌套列表,也可以嵌套字典;列表可以用索引进行取值;

(6)字典

在{}内用逗号分隔,可以存放多个key:value的值,value可以是任意类型;

字典取值用的是key;

(7)元组

元组可以被理解为不可变的列表;

(8)可变类型:在id不变的情况下,value可变,可以理解为是可变类型,例如:字典、列表;

不可变类型:value改变,id也跟着改变,称为不可变类型,意味着创建了新的内存空间;

11、占位符

(1)%s :字符串占位符,可以接收字符串,也可以接收数字;

%d :数字占位符,只能接收数字;

print("your name is %s , your age is %d" %("张飞", 18))

(2)format

print("your name is {} , your age is {}".format("李白", 30))

0ada54d951356e6f5ca9d9d93d005657.png

12、流程控制

(1) if

(2)if.....else......

(3)if......elif......elif......else.......

符合条件不需要操作时,用pass 代指空代码 无意义 仅仅表示代码块

注意:n1 = "alex"赋值

n1 == "alex"判断

13、循环

(1)while循环  continue、 break、 falg = True的用法;

(2) for循环;

(3)死循环;

(4)循环嵌套;

14、字符串

加法:

n1 = "alex"  n2 = "sb"

n3 = n1 + n2

乘方: n4 = n1 * 10

15、数字

加减乘除 都有

%整除取余 **乘方

//整除  /带小数的除

16、文件后缀名

后缀名看似可以是任意,但是若后缀名不是py,导入模块时,一导入就报错;

以后文件名后缀全是py;

17、Python解释器的两种执行方式

Python解释器   py文件路径

Python进入解释器   实时输入内容并获得结果

18、程序中全是英文 Python2 Python3 无所谓

若是出现中文之后,因为Python2中默认使用ascii码执行代码,会出现错误,这个时候要指定编码==》》-*- coding:utf8 -*-

19、练习题

#输出1-10 除了7

count =0while count < 10:

count+= 1

if count != 7:print(count)#求1-100的所有数的和

count =0

sum=0while count < 100:

count+= 1sum+=countprint(sum)#输出1-100内所有奇数

count =0while count < 100:

count+= 1

if count % 2 ==0:pass

else:print(count)#输出1-100内所有偶数

count =0while count < 100:

count+= 1

if count % 2 ==0:print(count)else:pass

#求1-2+3-4+5-6....99的所有数的和

count =0

sum=0while count < 99:

count+= 1

#print(count)

if count % 2 !=0:

sum+=countelse:

sum-=countprint(sum)#用户三次登录

count =0whileTrue:

name= "alex"pwd= "abcd1234"

if count < 3:

input_name= input("请您输入账户名:").strip()

input_pwd= input("请输入密码:").strip()if input_name == name and input_pwd ==pwd:print("登录成功!")break

else:

count+= 1

print("登录%s失败!请重新输入!"%(count))else:print("次数已达三次,退出登录权限!")break

20、while....else.....

1 count = 0

2 while count < 10:3 print(count)4 count += 1

5 else:6 print("else")

21、continue、break

continue:终止当前循环,开始下次循环;

break:终止所有循环;

==========================================================================

补充内容:

一、编码问题

ASCII:码只能表示英文字符,不能兼容中文,这个时候就出了Unicode;

Unicode:默认是一个字符,由两个字节表示,无论是英文字母,还是中文,这会浪费很多空间,这个时候就出现了可变长度的字符编码,它是对Unicode的压缩——utf-8;

utf-8:可变长度的字符编码,它是英文用1个字节表示;欧洲的字符用2个字节表示;中文用3个字节表示;

二、#!/usr/bin/env python

只有在Linux环境下才有用,它的作用是文件被当作可执行文件时,用配置的环节变量中的Python解释器去运行该文件;

三、#-*- coding: utf-8 -*-

python3中默认的编码就是utf-8,所以不用担心中文编码乱码的问题,但是Python2中,默认的编码为ASCII码,遇到中文会乱码,因此需要特定指定编码方式,需要加上

#-*- coding: utf-8 -*-

四、注释及''' '''的作用

#单行注释

''' '''、""" """、多行

同时多行注释,也可以打印多行内容

1 name = "中国"

2 print(name)3 mss = 'ddddefewfwefw\nwefwfwefewfewf\n wefwefwefwfef'

4

5 print(mss)6 msg = """

7 name = "alxe"8 age = 109 """

10 print(msg)

五、变量定义的规则——见名知意

1、字母数字下划线,不能是特殊字符;2、不能数字开头;3、不能是关键字;

六、格式化输出的几种方式

#!/usr/bin/env/python

#-*- coding:utf-8 -*-

#author: zhangliang

name = input("name>> ")

age = int(input("age>> "))

sex = input("sex>> ")

# 格式化输出1

info = """

name: %s,

age: %d,

sex: %s

"""%(name, age, sex)

# 格式化输出2

info = """

name: {_name}

age: {_age}

sex: {_sex}

""".format(_name = name, _age = age, _sex = sex)

print(info)

# 格式化输出3

info = """

name: {0}

age: {1}

sex: {2}

""".format("alex", 33, "male")

print(info)

六、getpass隐藏密码输入内容

注意:在pycharm中没法实现,可以在控制台进行测试

import getpass

pwd = getpass.getpass("密码是》》》 ")

print(pwd)

七、pyc文件

是对python源文件进行预编译的过程,先预编译成字节码,然后再由解释器进行解释,若是pyc文件已经存在,系统会对比,源文件时间和pyc文件的时间,看是否需要再进行预编译。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值