python学习(1)
来源:互联网 发布:申请淘宝达人的条件 编辑:程序博客网 时间:2024/05/24 20:07
Python介绍
Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。
Python由Guido van Rossum于1989年底发明,1991年,第一个公开发行版发行;2001年发布python2.0版本;2013年发布python3.x版本。(2.x版本和3.x版本不兼容,在2.x下正常运行的代码在3.x下可能会有报错)
Python可以应用在写网站,做游戏,自动化运维,数据分析等等方面,它是一种比较简单的语言,可移植性也很强,但与c,java相比,延迟比较大。
环境搭建及编码
1、安装python
在linux镜像中,一般自带的有python,可以用yum直接安装(yum install python),如果没有,也可去官网自行下载。
安装完成后,可以用python -V查看当前python的版本,这里用的是Python 2.7.5
2、python的交互式使用
直接输入python命令即可进入交互式的python编程环境
print:输出
退出:快捷键ctrl+d或者使用exit()
3、python脚本
与使用shell脚本一样,我们用vim来创建脚本,它以.py结尾(如:vim hello.py)
在这里写一个简单的脚本,输出“Hello!“
#!/usr/bin/pythonprint "Hello!"
加上执行权限,并执行可以看到:
关于python脚本中的第一行 :
#!/usr/bin/python 这种写法表示直接引用系统的默认的 Python 版本,这样的话python程序移植到其他机器上运行的时候可能会有问题,因为别人装的Python 版本与你的并不一定一致。
#!/usr/bin/env python 这种写法表示,引用环境变量里面自定义的 Python 版本, 具有较强的可移植性。
4、中文编码
在前面,我们可以成功的输出Hello,但我们偶尔也会用到中文,将Hello改为你好会出现什么情况呢?
(print “你好!”)
这是因为python默认的编码格式是 ASCII 格式,无法正确打印汉字,所以在读取中文时会报错。
解决方法为只要在文件开头加入 #coding:utf-8 就行了
(#coding=utf-8;#encoding:utf-8;#encoding=utf-8也可以 )
如:
#!/usr/bin/env python#coding:utf-8print "你好!"
输出结果为:
5、字符编码
我们常用的一般有3种编码格式:
- ASCII:二进制存储,英文字母加各个字符一共128个,每8位存储一个字符,2^8=256。
- Unicode:支持中文,用两个字节对应一个文字(中文或英文都是2字节),2^16=65536。
- UTF-8:可变长度编码格式,英文字符用ASCII码来存,中文用utf-8来存,
也就是说存一个英文字符要1字节,存一个中文字符要3字节。
我们在用的时候,需要指定存储格式为Unicode。
指定方式:a = u’hi’
查看类型:type()
6、字符的编码与解码
我们将数据读入内存时,需要统一编码格式便于操作,因此采用unicode编码格式;但在实际存储时,由于中文远远少于英文,这样存便很浪费空间了(不分中英文,都占2个字节),所以我们需要把它转换成UTF-8格式节省空间(英文占1个字节,中文占3个字节)。
字符的编码(encode)从unicode到utf-8格式
字符的解码(decode)从utf-8到unicode格式
例:定义一个变量,编码格式为unicode,然后进行编码和解码。
7、其它工具——ipython,Pycharm
ipython:基于 cpython ,交互方式有所增强
Pycharm:有图形界面,用起来更方便,有很多快捷键,有提示,可以自动补齐等很多好处,我们接下来在使用过程中不断熟悉。
python基础
1、python注释
- 单行注释: # 常被用作单行注释符号, # 开头的行,其右边的任何数据都会被忽略,当做是注释。
- 块注释: 需要批量文本或代码时,使用三引号 ”’ ”’ .,当然三引号也可以实现多行文本格式化打印。
2、编程风格
- Python 与其他语言最大的区别就是,Python 的代码块不使用大括号 {} 来控制类,函数以及其他逻辑判断。
- Python语言利用缩进表示语句块的开始和退出。缩进的空白数量是可变的,但是所有代码块语句必须包含相同的缩进空白数量。
- 不要在行尾加分号;
如下所示:定义变量x=10,通过if语句判断
如果x>0,输出“x是正数“,并输出x-10的值;
如果x<0,输出“x是负数“,并输出x+10的值;
如果x=0,输出“x为零“。
if语句的使用方法:
if x>0:
elif x<0:
else:
#!/usr/bin/env python#coding:utf-8_author_ = "xj"x = 10if x > 0: print "x是正数" print "x-10=", x-10elif x < 0: print "x是负数" print "x+10=", x+10else: print "x为零"
运行结果为:
将x=10改为x=0结果为:
3、输入,输出
输出:print
print + 字符串…
print + 数字|表达式
输入:
aw_input写入的内容赋值给变量name,输入的内容为字符类型
input写入的内容赋值给变量age,输入的内容为数值类型
小练习:编写一程序,录入信息包括 hostname、IP、used_year、CPU、Memory、manager_name ,如果使用年限超过10年,直接显示警告信息“该服务器使用年限太久!”,如果使用年限不超过10年,按格式显示信息。
#!/usr/bin/env python# coding:utf-8_author_ = "xj"hostname = raw_input("主机名:")IP = raw_input("IP:")user_year = input("使用年限:")CPU = raw_input("CPU:")Memory = raw_input("Memory:")manager_name = raw_input("manager_name:")if user_year > 10: print '该服务器使用年限太久!' exit()else: print ''' 主机信息 主机名:%s IP:%s user_year:%d CPU:%s Memory:%s manager_name:%s ''' % (hostname, IP, user_year, CPU, Memory, manager_name)
(三引号 ”’ ”’ 可以实现多行文本格式化打印)
结果如下:
4、变量
变量的命名: 变量名由字母,数字,下划线组成
变量的赋值:与c语言一样,如:a=1
python中地址变量:与c语言刚好相反,一条数据包含包含多个标签,且变量可重新赋值,会自动释放内存。
5、运算符与表达式
赋值运算符:=, +=, -=, /=, *=, %=, **=
算术运算符:+, -, *, /, //, %, **
关系运算符: >, >=, <, <=, !=, ==
返回一个布尔类型的结果
逻辑运算符:逻辑与and, 逻辑或or, 逻辑非not
小练习:编写四则运算,依次输入数字,操作,数字,对操作符进行判断,输出结果。
(from __future__ import division使除法运算可以正常进行,不会出现5/2=2的情况)
#!/usr/bin/env python# coding:utf-8from __future__ import division #除法_author_ = "xj"num1 = input("num1:")operate = raw_input("operate:")num2 = input("num2:")if operate == '+': num = num1 + num2elif operate == '-': num = num1 - num2elif operate == '*': num = num1 * num2elif operate == '/': num = num1 / num2else: print "operate please use:[ + - * / ]" exit()print num1,operate,num2,"=",num
运行结果:
基本数据类型
1、数字
整型(%d)
长整形 eg:2L
浮点型:表示小数(%f)
复数类型(基本不用)
eg:1.23j
2、字符串
转义符号:
\t——Tab
\n——换行
字符串索引
(编号从0开始,从左到右增加)
字符串切片
a[0:4:1]:表示切片取出第0个到第4个,步长为1
综合练习
编写一个python脚本,实现下面功能:
- 要求用户输入用户名和密码;
- 如果用户名和密码均正确时,输出:”welcome to user manage system!” ;
- 如果用户名和密码不正确时,重新输入,最多3次机会;
- 用户输入超过3次机会时,报错,输出:”你已经登陆过三次,请10min后再登陆。”
#!/usr/bin/env python# coding:utf-8_author_ = "xj"i = 0while (i < 3): name = raw_input("name:") password = raw_input("password:") i += 1 if name == 'root' and password == 'westos': print "welcome to user manage system!" exit() print "用户名或密码错误,请重新输入,你还有%d次机会!" % (3 - i)print "你已经登陆过三次,请10min后再登陆。"
运行结果:
不成功时:
- python学习(1)
- python学习(1)
- 学习python(1)
- Python学习(1)
- 学习Python(1)
- 学习Python(1)
- python学习(1)
- Python学习(1)
- Python学习(1)
- Python学习(1)
- python学习(1)
- Python学习(1)
- Python学习(1)
- python学习(1)
- Python学习(1)
- python学习(1)
- Python学习(1)
- python学习(1)
- 人工智能将永远不可理解吗?Is Artificial Intelligence Permanently Inscrutable?
- python2.7 机器学习环境配置记录
- Appium使用教程_Android篇
- anaconda python下openCV+theano+keras配置全过程
- 关于jfinal+eclipse的整合及demo
- python学习(1)
- python作业
- 一、Gradle安装和配置
- smarty 逻辑判断及foreach
- 用secureCRT连接虚拟机中的Ubuntu系统,出现“远程主机拒绝连接”错误
- Java GC杂谈之对象的可达分析与回收算法
- Appium 新手贴:Windows 平台上的使用 Python 语言实现 appium 自动化程序 for Android (完整版)
- 七牛云融合CDN到底怎么配置?
- 生成排列的非递归实现算法