python入门教程

一、python编辑器和解释器

python被认为是解释语言,因为他是使用解释器执行的。

有两种程序可以处理高级语言并将其转换为低级语言:解释器和编辑器。

解释器读入一段高级语言程序,并执行它。按照程序指令运行。每次处理一段程序,读入代码并运行。如下图所示:

而编译器:是读入程序,将其完整的翻译为低级语言,才能运行。如下图所示:

二、python安装

1. Windows中python安装

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

备注:原来的值;C:\python37,切记前面有分号

2. Ubuntu 环境python安装环境

 通过命令行安装Python3.4,执行命令:sudo apt-get install python3.7

3. linux环境下python更新

Linux的yum依赖其自带的默认Python版本,目前linux中很多软件都依赖于默认的python环境。为防止python更新后其他程序出现错误,此处更新其实是在原有python基础上再安装一个新的python环境

查看默认Python版本
python -V
1、安装gcc,用于编译Python源码
    yum install gcc
2、下载源码包,https://www.python.org/ftp/python/3.7.3/
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

三、python入门

3.1 helloworld

1 #!//usr/bin/env python
2 #-*- conding:utf-8 -*-
3 print "Hello World"

备注:

#!//usr/bin/env python #脚本用env启动的原因,是因为脚本解释器在linux中可能被安装于不同的目录,env可以在系统的PATH目录中查找。同时,env还规定一些系统环境变量。env就是:envirnment 环境变量)
2 # -- coding: utf-8 -- 指定编码类型为utf-8 (详情继续阅读)

3.2 python变量赋值

1 name1 ="python零向量"
2 name2 =name
3 print("My name is",name1,name2)
4 name1 ="Hello,world"
5 print (name1,name2)

定义两个变量name1,name2.把name赋一个值,之后把name1赋值给name2.
打印结果为:

my name is python零向量 python零向量
my name is hello,world python零向量

当把name1的值更改后,那么name2的值是否会改变呢,答案是不会变的,因为name2指向的是name1的内存地址。如下图所示:
那么如何让重新赋值的name1生效呢,在重新运行一次name2=name就可以了。

3.3 python 编码

python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill)
ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 = 256,所以,ASCII码最多只能表示 256 个符号
显然ASCII码无法将世界上的各种文字和符号全部表示,所以,就需要新出一种可以代表所有字符和符号的编码,即:Unicode
Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,规定虽有的字符和符号最少由 16 位来表示(2个字节),即:2 **16 = 65536,
注:此处说的的是最少2个字节,可能更多
UTF-8,是对Unicode编码的压缩和优化,他不再使用最少使用2个字节,而是将所有的字符和符号进行分类:ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存…
所以,python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill),所以如果不指定编码类型,如果有中文就会报错。

1、保证不乱吗的核心法则就是,字符按照什么标准而编码的,就要按照什么标准解码,此处的标准指的就是字符编码
2、在内存中写的所有字符,一视同仁,都是unicode编码,比如我们打开编辑器,输入一个“你好”,我们并不能说“你好”就是汉字,此时它仅仅只是一个符号,该符号可能很多国家都在使用,根据我们使用的输入法不同这个字的样式可能也不太一样。只有在我们往硬盘保存或者基于网络传输时,才能确定”你好“到底是一个汉字,还是一个日本字,这就是unicode转换成其他编码格式的过程了

unicode----->encode-------->utf-8(存入硬盘)
utf-8-------->decode---------->unicode(内存)

浏览网页的时候,服务器会把动态生成的Unicode内容转换为UTF-8再传输到浏览器
如果服务端encode的编码格式是utf-8, 客户端内存中收到的也是utf-8编码的结果。

3.4 python数据类型

python是一种弱类型的数据语言,Python 中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。
在 Python 中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对象的类型。
在Python中,能够直接处理的数据类型有以下几种:整数、浮点数、字符串、布尔值、列表、字典。

3.4.1 整数
#int整型
定义:age=23 #age=int(23)
用于标识:年龄,等级,身份证号等等

#float浮点型
定义:salary=3827.66 #salary=float(2827.66)
用于标识:工资,身高,体重等等信息
3.4.2 字符串

在python中,加了引号的字符就是字符串类型,python并没有字符类型。

定义:name='python零向量' #name=str('python零向量') 
用于标识:描述性的内容,如姓名,性别,名称,国籍等等信息
3.4.3 列表

#在[]内用逗号分隔,可以存放多个任意类型的数值

定义:fruit=['apple','bnana','orange'] 
列表信息用于标识:存储多个值的情况,比如一个人有多个爱好等信息
3.4.4 字典

python中的字典存放一个人的多个信息:姓名,性别等信息
在{}内用逗号分隔,可以存放多个key:value的值,value可以是任意类型

定义:info={'name':'a','age':22,'sex':'男'} 
	info=dict({'name':'b','age':33,'sex':'男'})

用于标识:存储多个值的情况,每个值都有唯一一个对应的key,可以更为方便高效地取值.

info={
    'name':'小A',
    'hobbies':['sport','read'],
    'company_info':{
        'name':'0向量',
        'type':'TECH'
    }
}
print(info['company_info']['name']) #取公司名

3.4.5 布尔值
布尔值,一个True一个False
计算机俗称电脑,即我们编写程序让计算机运行时,应该是让计算机无限接近人脑,或者说人脑能干什么,计算机就应该能干什么,人脑的主要作用是数据运行与逻辑运算,此处的布尔类型就模拟人的逻辑运行,即判断一个条件成立时,用True标识,不成立则用False标识
>>> a=50
>>> b=80
>>> 
>>> a > b #不成立就是False,即假
False
>>> 
>>> a < b #成立就是True, 即真
True

接下来根据条件结果来干不同的事情了:
if a > b 
   print(a is bigger than b )

else 
   print(a is smaller than b )

上面是伪代码,但意味着, 计算机已经可以像人脑一样根据判断结果不同,来执行不同的动作。

3.5 格式化输出

程序中经常会有这样场景:要求用户输入信息,然后打印成固定的格式
比如要求用户输入用户名和年龄,然后打印如下格式:
My name is python零向量,my age is 22.

很明显,用逗号进行字符串拼接,只能把用户输入的名字和年龄放到末尾,无法放到指定的位置,而且数字也必须经过str(数字)的转换才能与字符串进行拼接。
这就用到了占位符,如:%s、%d

%s字符串占位符:可以接收字符串,也可接收数字
print('My name is %s,my function is %s' %('python零向量','share my knowledge'))

%d数字占位符:只能接收数字
print('My name is %s,my age is %d' %('python零向量',22))
print('My name is %s,my age is %d' %('python零向量','22')) #报错啦

#接收用户输入,打印成指定格式
name=input('please input your name: ')
function=input('your age is: ') #用户输入字符串信息

print('My name is %s,my function is %s' %(name,function))

备注:

print(‘My name is %s,my age is %d’ %(name,age)) #age为字符串类型,无法传给%d,所以会报错

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值