01----python入门----python安装与初识
----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安装与初识的更多相关文章
- python入门-python处理csv文件格式相关
python入门-python处理csv文件格式相关 处理 下载的csv格式文件 直接上代码和效果图 import csv from datetime import datetime from mat ...
- Python入门-----Windows安装
摘要:Python,windows安装 1.进入python的官方网站下载:https://www.python.org 点击Download,选择windows版本:
- Python入门及安装
简介 是用来编写应用程序的高级编程语言,"内置电池",哲学:简单优雅,尽量写容易看明白的代码,尽量写少的代码,适合干嘛:网络应用.网站.后台服务:日常些工具,如系统管理员需要的脚本 ...
- Python入门之安装numpy和pandas
最近要对一系列数据做同比比较,需要用到numpy和pandas来计算,不过使用python安装numpy和pandas因为linux环境没有外网遇到了很多问题就记下来了. 首要条件,python版本必 ...
- python入门——Anaconda安装
初学Python,可以选择python原始的IDE,但原始的IDE在使用过程中需要自己安装各种包,个人觉得初学者不需要将时间花在这些上面,而是应该直接学习python程序,这些比较杂的事情可以在以后的 ...
- python入门基础—安装
说明:0基础,那就先练习python语言基础知识,等基础知识牢固了,再对各开发平台分别进行介绍.这里只介绍两个简单而又容易搭建开发平台Anaconda和pycharm Anaconda是一个开源的Py ...
- python入门-python解释器执行
最近由于公司需要,接触了python这门神奇的语言,给我的感觉就是开发快速和代码简洁. 开始还是先罗列一下解释性语言和编译性语言的差别吧0.0! 编译性语言:是在程序运行前,需要专门的一个编译过程 ...
- python入门 python字符串换行显示、字符串太长\连接多行
#coding:utf-8#/usr/bin/python"""2018-11-03dinghanhua缩进换行""" "&quo ...
- 大爽Python入门教程 0-1 安装python
大爽Python入门公开课教案 点击查看教程总目录 一 如何找到下载地址并下载 下面展示找到下载地址的方法步骤 嫌步骤太慢可直接跳到第4步, 查看详细下载地址 使用搜索引擎搜索python 打开搜索结 ...
随机推荐
- Codeforces Round #665 (Div. 2) D. Maximum Distributed Tree (dfs计数,树)
题意:给你含有\(n\)个节点,\(n-1\)条边的树,以及\(m\)个质数和\(1\),你需要在这\(m\)个质数和一个\(1\)选择数(质数只能选一次,\(1\)可以多选)给\(n-1\)条边赋值 ...
- 01背包记录路径 (例题 L3-001 凑零钱 (30分))
题意: 就是找出来一个字典序最小的硬币集合,且这个硬币集合里面所有硬币的值的和等于题目中的M 题解: 01背包加一下记录路径,如果1硬币不止一个,那我们也不采用多重背包的方式,把每一个1硬币当成一个独 ...
- kafka——集群安裝部署(自带zookeeper)
kafka系列文章 第一章 linux单机安装kafka 第二章 kafka--集群安裝部署(自带zookeeper) 一.kafka简介 kafka官网:http://kafka.apache.or ...
- Redis-sentinel 哨兵(HA)
Sentinel 介绍 Redis-Sentinel 是 Redis 官方推荐的高可用性(HA)解决方案,当用 Redis 做 Master-slave 的高可用方案时,假如Master 宕机了,Re ...
- OPENSOURCE - libcurl
本文仅做备份存档,原文地址如下,请点链接进入 https://www.cnblogs.com/moodlxs/archive/2012/10/15/2724318.html https://www.c ...
- Kubernets二进制安装(2)之Bind9安装
1.修改主机名 hostnamectl set-hostname mfyxw10 hostnamectl set-hostname mfyxw20 hostnamectl set-hostname m ...
- kubernetes实战-配置中心(一)configmap资源
在我们的环境中测试使用configmap资源,需要先对我们的环境进行一些准备,首先将dubbo服务调整为0个pod ,然后把zookeeper进行拆分: 拆分zk环境,模拟测试环境跟生产环境: 停止z ...
- Redis 主从复制(Replication)
为了保证服务的可用性,现代数据库都提供了复制功能,同时在多个进程中维护一致的数据状态. Redis 支持一主多从的复制架构,该功能被简化成了一条 SLAVEOF 命令,下面通过条命令来解析 Redis ...
- 关于vmwaretools
今天安装Ubuntu16.04-i386,vmware15.5,使用的快速安装,然后安装vmwaretools出现问题:无法复制粘贴,顶部管理"重新安装vmware-tools"选 ...
- Gym 100796B Wet Boxes(思维)题解
题意:给一个如图坐标系,每个方形都放在下面两个中间,已知一个木块湿了那么他下面所有的都会湿,显然,不能湿两次.问,每次给出一个坐标,把他弄湿,有几个木块从干变成湿了. 思路:我们把坐标系拉直,就变成了 ...