python3基础

简介:

    Python可以应用于众多领域,如:数据分析、组件集成、网络服务、图像处理、数值计算和科学计算等众多领域。目前业内几乎所有大中型互联网企业都在使用Python,如:Youtube、Dropbox、BT、Quora(中国知乎)、豆瓣、知乎、Google、Yahoo!、Facebook、NASA、百度、腾讯、汽车之家、美团等。

编译性语言

    编译型语言写的程序执行之前,需要一个专门的编译过程,把程序编译成为机器语言的文件,比如exe文件,以后要运行的话就不用重新翻译了,直接使用编译的结果就行了(exe文件),因为翻译只做了一次,运行时不需要翻译,所以编译型语言的程序执行效率高。(C、C++、java)

解释性语言
  解释则不同,解释性语言的程序不需要编译,省了道工序,解释性语言在运行程序的时候才翻译,比如解释性java语言,专门有一个解释器能够直接执行java程序,每个语句都是执行的时候才翻译。这样解释性语言每执行一次就要翻译一次,效率比较低。(java、php、perl、python)

脚本语言
   脚本语言是解释性语言。脚本语言一般都有相应的脚本引擎来解释执行。它们一般需要解释器才能运行。所以只要系统上有相应语言的解释程序就可以做到跨平台。脚本语言是一种解释性的语言,例如vbscript,javascript,installshield script等等,它不象c\c++等可以编译成二进制代码,以可执行文件的形式存在。(vbscript,javascript,installshield script)

动态语言和静态语言
通常我们所说的动态语言、静态语言是指动态类型语言和静态类型语言。

(1)动态类型语言:动态类型语言是指在运行期间才去做数据类型检查的语言,也就是说,在用动态类型的语言编程时,永远也不用给任何变量指定数据类型,该语言会在你第一次赋值给变量时,在内部将数据类型记录下来。Python和Ruby就是一种典型的动态类型语言,其他的各种脚本语言如VBScript也多少属于动态类型语言。

(2)静态类型语言:静态类型语言与动态类型语言刚好相反,它的数据类型是在编译其间检查的,也就是说在写程序时要声明所有变量的数据类型,C/C++是静态类型语言的典型代表,其他的静态类型语言还有C#、JAVA等。

强类型定义语言和弱类型定义语言

(1)强类型定义语言:强制数据类型定义的语言。也就是说,一旦一个变量被指定了某个数据类型,如果不经过强制转换,那么它就永远是这个数据类型了。举个例子:如果你定义了一个整型变量a,那么程序根本不可能将a当作字符串类型处理。强类型定义语言是类型安全的语言。

(2)弱类型定义语言:数据类型可以被忽略的语言。它与强类型定义语言相反, 一个变量可以赋不同数据类型的值。

强类型定义语言在速度上可能略逊色于弱类型定义语言,但是强类型定义语言带来的严谨性能够有效的避免许多错误。另外,“这门语言是不是动态语言”与“这门语言是否类型安全”之间是完全没有联系的!
例如:Python是动态语言,是强类型定义语言(类型安全的语言); VBScript是动态语言,是弱类型定义语言(类型不安全的语言); JAVA是静态语言,是强类型定义语言(类型安全的语言)。

python是一门动态解释性的强类型定义语言。

一、python3安装

下载地址:https://www.python.org/

windows安装方法

1. 下载下来之后双击安装,安装时一路下一步下一步即可(根据自定义路径)

2. 配置环境变量

右键计算机 —> 属性 —> 高级系统设置 —> 高级 —> 环境变量 —> 在第二个内容框中找到变量名为Path的一行,双击 —> Python安装目录追加到变值值中,用;分割

centos7安装升级方法

yum -y install readline-devel patch readline gcc
tar xvf Python-3.5.tgz
cd Python-3.5
./configure --prefix=/usr/local/python35
make && make install
mv /usr/bin/python /usr/bin/python_old
 ln -s /usr/local/python35/bin/python /usr/bin/
tar zxvf setuptools-1.6.2.tar.gz
cd setuptools-1.6.2
python setup.py build
python setup.py install
tar zxvf readline-7.2.4.1.tar.gz
cd readline-7.2.4.1
python setup.py build
python setup.py install
vi /usr/bin/yum
#!/usr/bin/python2.7

二、python入门

创建.py结尾文件并运行

[root@localhost ~]# cat hello.py 
#!/usr/bin/env python
print ("Hello World!")
[root@localhost ~]# python hello.py 
Hello World!

第一行#!/usr/bin/env python设置环境变量

第二行print ("Hello World!")以函数打印Hello World!

python2中使用print "Hello World!"为语句输出;

三、代码流程

wKiom1efVaSC7xCMAABcdWB-Mbg336.png-wh_50

    Python先把代码(.py文件)编译成字节码,交给字节码虚拟机,然后虚拟机一条一条执行字节码指令,从而完成程序的执行;字节码在Python虚拟机程序里对应的是PyCodeObject对象。

    .pyc文件是字节码在磁盘上的表现形式;当python程序第二次运行时,首先程序会在硬盘中寻找pyc文件,如果找到,则直接载入,否则就重复上面的过程。

四、变量与字符编码

变量定义的规则:

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

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

以下关键字不能声明为变量名
['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']

>>> work = "IT"
>>> work
'IT'

声明了一个变量,定义一个变量名为”work“,变量名的值为:“IT”

字符编码

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

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

wKiom1efWJqSXET8AAQ8-X74hdE290.png

python制定字符编码的方式有多种,而编码格式是要写在解释器的下面的,常用的如下面二种:

第一种

#!/usr/bin/env python

#coding:utf-8

第二种

#!/usr/bin/env python

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

代码注释

#单行注释

多行注释""" work test"""

五、数据类型

1.字符串

定义字符串类型是需要用单引号或者双引号包起来

>>> name = 'patrick'
>>> print(type(name))
<class 'str'>

2.数字(直接跟数字,不要用双引号包起来)

>>> year = 2016
>>> print(type(year))
<class 'int'>

3.布尔值(真or假 1或者0)

>>> if True:
...   print ("0")
... else:
...   print ("1")
... 
0

4.字符串常用操作

  1. 移除空白

  2. 分割

  3. 长度

  4. 索引

  5. 切片

5.列表

  1. 索引

  2. 切片

  3. 追加

  4. 删除

  5. 长度

  6. 切片

  7. 循环

  8. 包含

6.元组(不可变列表)

>>> year = (2012,2013,2014,2015)
>>> year
(2012, 2013, 2014, 2015)

7.字典

person = {"name": "mr.wu", 'age': 18}

或者

person = dict({"name": "mr.wu", 'age': 18})

用操作:

  1. 索引

  2. 新增

  3. 删除

  4. 键、值、键值对

  5. 循环

  6. 长度

八、数值运算

1.算数运算符

wKioL1efY3mySPkgAABUUniH0zM844.png-wh_50

2.比较运算符

wKioL1efY8XwirJdAABXY7e6deI814.png-wh_50

3.赋值运算符

wKioL1efY-vCaDtRAABUbq9ZIoI332.png-wh_50

4.位运算符

wKiom1efZD6xRdpgAACXTHSj-rU316.png-wh_50

5.逻辑运算符

wKioL1efZGXTQ8jGAAAxEQ8vKC4878.png-wh_50

6.成员运算符

wKiom1efZJXBpA2NAAAjYTDpA3M765.png-wh_50

7.身份运算符

wKioL1efZMOTZ9k3AAAn6aHPCm0081.png-wh_50

8.运算符优先级

wKioL1efZPLQA_DLAABW_FztedU447.png-wh_50

九、for、if、while使用

for循环列表使用

>>> data = [1,2,3,4,5,6]
>>> for i in data:
...   print(i,end='\n')
... 
1
2
3
4
5
6

if使用

#!/usr/bin/env python
#-*- coding:utf-8 -*-
# 该实例演示了数字猜谜游戏
number = 7
guess = 0
print("数字猜谜游戏!")
while guess != number:
    guess = int(input("请输入你猜的数字:"))

    if guess == number:
        print("恭喜,你猜对了!")
    elif guess < number:
        print("猜的数字小了...")
    elif guess > number:
        print("猜的数字大了...")

while使用

#!/usr/bin/env python
#-*- coding:utf-8 -*-
#author patrick
import getpass
count = 3
flage = "True"
while flage:
	username = input("please input your name: ")
	passwd = getpass.getpass("please input your password: ")
	if username=="patrick" and passwd=="123":
		print("welcome to %s" % username)
		break
	else:
		if count == 1:
			flage = False
		else:
			count-=1
			print("you have %s chaces!" % (count))

break跳出当前循环体,下面代码不再执行,继续执行循环后面的代码

continue 跳出本次循环,继续下一次循环


python小练习(打印1+..+9)和

awk思路:

root@data:~# awk -vc=9 'BEGIN{for(i=1;i<=c;i++){s=s?s"+"i:i;t+=i;print (i==1)?"1":s"="t}}'
1
1+2=3
1+2+3=6
1+2+3+4=10
1+2+3+4+5=15
1+2+3+4+5+6=21
1+2+3+4+5+6+7=28
1+2+3+4+5+6+7+8=36
1+2+3+4+5+6+7+8+9=45

python思路

#!/usr/bin/python
__author__ = 'Patrick'
import sys

if __name__ == "__main__":
    print ('Please input a int:')
    n = int(input('> '))
    i = 1
    s = 0
    while i <= n:
        j = 1
        while j <= i:
            if j < i:
                sys.stdout.write(str(j)+'+')
            else:
                sys.stdout.write(str(j))
                s += j
                print (" " + '= {0}'.format(s))
            j += 1
        i += 1
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章