----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 #遍历值
原文地址:https://www.cnblogs.com/zhaochuming/p/12269936.html