----python入门----python安装与初识

python是一门编程语言,作为学习python的开始,需要事先搞明白:编程的目的是什么?什么是编程语言?什么是编程?

这是一个很好的开头!但是,没有什么卵用!我们直接开始正题。


一、语言背景

Python的创始人为荷兰人吉多·范罗苏姆 。1989年圣诞节期间,在阿姆斯特丹,他为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,作为ABC 语言的一种继承。之所以选中Python(大蟒蛇的意思)作为该编程语言的名字,是取自英国20世纪70年代首播的电视喜剧《蒙提.派森的飞行马戏团》。

在最新的(2019年10月版) 语言排行 中python稳居第三,并且上升趋势大好。

以下,我们将对python、java、c#等语言做一个比较:

  1. java、python等高级语言一般以c语言作为底层基础,因此具有较高的开发效率,但是住在高楼上虽然能够看到山河壮美,但是出行相对不便,因此高级语言大多具有执行效率低的通病。而底层语言大致相反。

  2. 其中PHP语言在国内一般只用于网页开发,而Java、python则既可以用于网站开发也能用于应用软件开发,能力强大,功能齐全。比较python和Java我们不难发现,尽管python的执行效率相比Java更低但是发展超前的硬件基础完全能够大幅度地减小他们之间的差距,同时python具有Java所难以企及的开发效率。

  因此,我选择学习python,毕竟人生苦短。


二、python的选择与安装

首先,关于python选择问题。

  python基本可以分为Cpython、Jython、IronPython、PyPy等。

  Cpython是我们日常说的python,由c语言编写,编译后生成字节码文件,之后再转换位机器码,交由CPU执行。

  Jython是Python语言的Java实现,在提供python库的同时提供所有的Java类,编译后生成java字节码文件,与Java语言具有较高的交互效率。

  IronPython是Python语言的c#实现。

  PYPY,是另一个Python解释器,它的目标是执行速度。对Python代码进行动态编译(注意不是解释),显著提高Python代码的执行速度。绝大部分Python代码都可以在PyPy下运行。

然后,关于python安装,这里主要讲两种,Windows下和Linux下,具体Linux版本是虚拟机下的centos6。

  Windows下安装:

  1.   浏览官网 https://www.python.org/,选择合适的版本下载。

  2.   下载完成后安装,默认路径是C:\python+版本号,记得勾选 Add to PATH。

  3.   配置环境变量,右键计算机,单击属性,点击高级系统设置,点击环境变量,找到path或PATH或Path,选中后点击编辑,然后检查python路径是否包含在内,如果没有就点击新建并录入路径。

  Linux下安装,总结可能不到位:

  1.打开终端输入python,查看版本号。一般自带python2。这很讨厌。

  2.安装开发工具套装,yum groupinstall 开发工具 ; 英文版为 yum groupinstall Development Tools

  3.安装gcc和glibc,yum install gcc-* glibc-* -y

  4.官网点击All releases, 确定某一版本,单击后找到Files下的Version下的Gzipped source tarball,提取链接后在Linux端内用wget +地址下载

  5.解包,tar xvf +具体包名,如tar xvf Python-3.8.1.tgz

  6.执行configue脚本,添加编译参数

    例如:cd Python-3.8.1

       ./configure --prefix=/usr/local/python3.8.1

  7.编译,命令为 make

  8.安装,make install

  9.类似在Windows下安装,将 /usr/local/python/bin 添加到PATH下

   具体由两种操作:

   A: 临时修改PATH,输入 echo $PATH 查看PATH,然后复制该路径,输入export PATH= ,粘贴,输入/usr/local/python/bin,注意,二者用冒号隔开。 立即生效,但只能临时改变,用户一旦退出终端就会失效。

   B: 永久修改PATH,修改profile文件,vim/etc/profile,在命令行模式下输入G到达底部,在PATH末尾输入   :/usr/local/python/bin  ,换行后输入export PATH,按Esc后输入   :wq  退出。

  10.可选地可以将原2代python 通过rm命令重命名 切记不可删除,然后再将python3.8.1/bin 下的python3.8.1更名为python。然后由于yum是由python2编写的,因此需要修改它,输入vim /usr/bin/yum ,在文件开头处将  #!/usr/bin/python 修改为 #!/usr/bin/重命名后的2代python。


  三、初识python 

  

  变量的定义规范

1. 变量名只能是 字母、数字或下划线的任意组合
2. 变量名的第一个字符不能是数字
3. 关键字不能声明为变量名['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']

  文件头

#!/usr/bin/env python
# -*- coding: utf-8 -*- #前者用来声明python解释器路径,python2中要加
#后者用来声明编码方式为utf-8,使python2中print可以打印中文

  注释

#单行注释:  #  被注释内容

#多行注释:  """ 被注释内容 """

  多引号之间的区别

#没有区别
#只有下面这种情况 你需要考虑单双的配合 msg = "My name is Egon , I'm 18 years old!" #多引号什么作用呢?作用就是多行字符串必须用多引号 msg = '''
我很丑
可是我很温柔
外表冷漠,内心狂热
'''
print(msg)

  列表

#在[]内用逗号分隔,可以存放n个任意类型的值
#元组为特殊列表,在()内用都好分隔,不可修改

  字典

#在{}内用逗号分隔,可以存放多个key:value的值,value可以是任意类型,key:value又称为键值对
#字典内键值对排布是无序的

 格式化输出

# %s 字符串占位符:可以接收字符串,也可接收数字
# %d 数字占位符:只能接收数字
#类似C语言的格式 print('My name is %s,my age is %s' %('Oliver',19))

  if···elif···else

age_of_girl=18
height=171
weight=99
is_pretty=True
if age_of_girl > 30:
print('阿姨好')
else:
print('小姐好')
if age_of_girl >= 18 and age_of_girl < 22 and height > 170 and weight < 100 and is_pretty == True:
print('表白...')else:
print('阿姨好')

  while

#和C语言一样

while 条件:
# 循环体 # 如果条件为真,那么循环体则执行,执行完毕后再次循环,重新判断条件。。。
# 如果条件为假,那么循环体不执行,循环终止

  PS:一些小东西藏到最后

#修改大小写

name ='ada lovelace'
print(name.title) # 首字母大写
print(name.upper) # 全部大写
print (name.lower) # 全部小写
#合并字符串

f_name = 'ada'
l_name = 'lovelace'
name = f_name + ' ' + l_name
print(name)
#删除空白
name = ' ada lovelace '
print(name.rstrip) #删除右空格
print(name.lstrip) #删除左空格
print(name.strip) #删除所有空格
#列表中添加元素

motorcycles = [ ]

motorcycles.append('ducati')               #默认添加到末尾
motorcycles.insert(0, 'honda') #指定索引添加
#从列表中删除元素

motocycles = ['honda' , 'yamaha' , 'suzuki' ]

del motocycles[0]                           #按索引删除
a = motocycles.pop(0)   #删除后返回被删除值
motocycles.remove('honda')      #按值删除
#对列表排序

cars = [ 'bmw' , 'audi' , 'toyota' , 'subaru' ]

sorted(cars)                             #临时排序
cars.sort() #永久排序
cars.sort(reverse=True) #反向排序
#函数range()生成数字

for num in range(1,5):
print(num) #不打印数字5
#切片

players = ['charles' , 'martina' , 'michael' , 'eli' ]
print(players[1:3]) #不打印players[3]
#复制列表

a = b[ : ]
#遍历字典

for k,v in names.items                  #遍历键值对
for k in names.keys #遍历键
for v in names.values #遍历值

01----python入门----python安装与初识的更多相关文章

  1. python入门-python处理csv文件格式相关

    python入门-python处理csv文件格式相关 处理 下载的csv格式文件 直接上代码和效果图 import csv from datetime import datetime from mat ...

  2. Python入门-----Windows安装

    摘要:Python,windows安装 1.进入python的官方网站下载:https://www.python.org 点击Download,选择windows版本:

  3. Python入门及安装

    简介 是用来编写应用程序的高级编程语言,"内置电池",哲学:简单优雅,尽量写容易看明白的代码,尽量写少的代码,适合干嘛:网络应用.网站.后台服务:日常些工具,如系统管理员需要的脚本 ...

  4. Python入门之安装numpy和pandas

    最近要对一系列数据做同比比较,需要用到numpy和pandas来计算,不过使用python安装numpy和pandas因为linux环境没有外网遇到了很多问题就记下来了. 首要条件,python版本必 ...

  5. python入门——Anaconda安装

    初学Python,可以选择python原始的IDE,但原始的IDE在使用过程中需要自己安装各种包,个人觉得初学者不需要将时间花在这些上面,而是应该直接学习python程序,这些比较杂的事情可以在以后的 ...

  6. python入门基础—安装

    说明:0基础,那就先练习python语言基础知识,等基础知识牢固了,再对各开发平台分别进行介绍.这里只介绍两个简单而又容易搭建开发平台Anaconda和pycharm Anaconda是一个开源的Py ...

  7. python入门-python解释器执行

    最近由于公司需要,接触了python这门神奇的语言,给我的感觉就是开发快速和代码简洁. 开始还是先罗列一下解释性语言和编译性语言的差别吧0.0!   编译性语言:是在程序运行前,需要专门的一个编译过程 ...

  8. python入门 python字符串换行显示、字符串太长\连接多行

    #coding:utf-8#/usr/bin/python"""2018-11-03dinghanhua缩进换行""" "&quo ...

  9. 大爽Python入门教程 0-1 安装python

    大爽Python入门公开课教案 点击查看教程总目录 一 如何找到下载地址并下载 下面展示找到下载地址的方法步骤 嫌步骤太慢可直接跳到第4步, 查看详细下载地址 使用搜索引擎搜索python 打开搜索结 ...

随机推荐

  1. Centos 7 安装nginx指定版本

    官方版本列表:http://nginx.org/download/ 1.安装 wget http://nginx.org/download/nginx-1.10.3.tar.gz tar -zxvf ...

  2. OpenStack Train版-13.安装块存储服务cinder(控制节点)

    Cinder的核心功能是对卷的管理,允许对卷.卷的类型.卷的快照.卷备份进行处理.它为后端不同的存储设备提供给了统一的接口,不同的块设备服务厂商在Cinder中实现其驱动,可以被Openstack整合 ...

  3. Redis 持久化(Persistence)

    作为内存数据库,Redis 依然提供了持久化机制,其主要目的有两个: 安全:保证进程崩溃后数据不会丢失 备份:方便数据迁移与快速恢复 Redis 同时提供两种持久化机制: RDB 快照:数据库在某个时 ...

  4. mybaits(七)spring整合mybaits

    与 Spring 整合分析 http://www.mybatis.org/spring/zh/index.html 这里我们以传统的 Spring 为例,因为配置更直观,在 Spring 中使用配置类 ...

  5. IT-ebooks free download website & IT 电子书籍免费下载网站

    free ebooks of programming 1. http://www.it-ebooks.info/ http://www.it-ebooks-api.info/ 2. http://ww ...

  6. macOS & Catalina vs Big Sur

    macOS & Catalina vs Big Sur 乍一看,macOS的色彩更加丰富,最大的变化就是明亮,略带卡通风格的iOS形状的图标. 一切都变得更加圆润,感觉一切都变得更大了. 这可 ...

  7. Python module all in one

    Python module all in one Python Modules https://docs.python.org/3/tutorial/modules.html Fibonacc # F ...

  8. Raspberry Pi & Node.js & WebSockets & IM

    Raspberry Pi & Node.js & WebSockets & IM Raspberry Pi 4 nvm & node.js $ curl -o- htt ...

  9. Axios all in one

    Axios all in one https://github.com/axios/axios#example GET const axios = require('axios'); // Make ...

  10. js in depth: event loop & micro-task, macro-task & stack, queue, heap & thread, process

    js in depth: event loop & micro-task, macro-task & stack, queue, heap & thread, process ...