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 #540 (Div. 3)  B. Tanya and Candies  (后缀和)
			题意:有\(n\)个数,你可以任意去除某个位置的元素然后得到一个新数组,使得新数组奇数位和偶数的元素相等,现在问你有多少种情况合法. 题解:先求个后缀和,然后遍历,记录奇数和偶数位置的前缀和,删去\( ... 
- poj 2566 Bound Found 尺取法
			一.首先介绍一下什么叫尺取 过程大致分为四步: 1.初始化左右端点,即先找到一个满足条件的序列. 2.在满足条件的基础上不断扩大右端点. 3.如果第二步无法满足条件则到第四步,否则更新结果. 4.扩大 ... 
- Windows环境下Node.js环境搭建
			1.Node.js下载与安装 https://nodejs.org/zh-cn/download/ Windows现在windows安装包(.msi),现在后手动安装,安装目录无要求,选项默认即可 2 ... 
- 大规模数据爬取 -- Python
			Python书写爬虫,目的是爬取所有的个人商家商品信息及详情,并进行数据归类分析 整个工作流程图: 第一步:采用自动化的方式从前台页面获取所有的频道 from bs4 import Beautiful ... 
- KVM Pass-through 上部署 MiniSMB HurricaneII
			KVM Pass-through 上部署 MiniSMB HurricaneII 免费网络测试,是一款专门用于测试无线控制器, 智能路由器,网络交换机的性能和稳定性的软硬件相结合的工具.可以通过此工具 ... 
- Cobalt Strike特征隐藏
			前言 首先红蓝对抗的时候,如果未修改CS特征.容易被蓝队溯源. 前段时间360公布了cobalt strike stage uri的特征,并且紧接着nmap扫描插件也发布了.虽说这个特征很早就被发现了 ... 
- 牛客网多校第9场 E	Music Game 【思维+数学期望】
			题目:戳这里 题意:鼠标点击n下,第i次点击成功的概率为p[i],连续点击成功x次可以获得x^m分,求n次点击总分数的数学期望. 解题思路:数学期望的题很多都需要转化思维,求某一个单独状态对整体答案的 ... 
- MSE,RMSE
			MSE: Mean Squared Error 均方误差是指参数估计值与参数真值之差平方的期望值; MSE可以评价数据的变化程度,MSE的值越小,说明预测模型描述实验数据具有更好的精确度. RMSE ... 
- LCIS(最长公共上升子序列)模板
			求出LCIS并输出其路径. 1 #include <iostream> 2 #include <cstdio> 3 #include <string> 4 #inc ... 
- WebGL Programming Guide All In One
			WebGL Programming Guide All In One WebGL WebGL Programming Guide All In One Publication date: July 2 ... 
