python 01
来源:互联网 发布:mysql.host不存在 编辑:程序博客网 时间:2024/06/06 17:34
1. python执行速度慢, C速度快, 为什么还是用python?
python : 20 C: 200python: 10min + 0.3sC: 10min + 0.01s
2 python解释器
Cpython:
Ipython:是在Cpython的基础上增强了交互式功能;
Pypy: Jpython:
IronPython:.Net
3 python编辑工具:
python,ipython vim: 第一行指定解释器位置: #!/usr/bin/env python #!/usr/bin/python 指定编码格式: #coding:utf-8 (ASCII, Unicode, GB2312, utf-8 ) 添加执行权限IDE工具Pycharm: 解压到/opt目录; cd {dir/home}/bin;./pycharm.sh; pycharm的设置信息保存在~/.PyCharmCE2017.1; charm &
4 安装Python,iPython
[root@server ~]# yum install python -y ##安装python[root@server ~]# python ##进入Python环境Python 2.7.5 (default, Feb 11 2014, 07:46:25) ##Python版本[GCC 4.8.2 20140120 (Red Hat 4.8.2-13)] on linux2Type "help", "copyright", "credits" or "license" for more information.>>> ##在此输入命令,不可以用TAB补全命令。>>> quitUse quit() or Ctrl-D (i.e. EOF) to exit>>> quit() ##退出python环境安装ipython,需自行寻找ipython的rpm包以及它的相关包,安装其全部。[root@server ipython]# lsopenpgm-5.2.122-2.el7.x86_64.rpmpython-ipython-3.2.1-1.el7.noarch.rpmpython-ipython-console-3.2.1-1.el7.noarch.rpmpython-ipython-gui-3.2.1-1.el7.noarch.rpmpython-jsonschema-2.3.0-1.el7.noarch.rpmpython-mistune-0.5.1-1.el7.x86_64.rpmpython-path-5.2-1.el7.noarch.rpmpython-pip-7.1.0-1.el7.noarch.rpmpython-pygments-1.4-9.el7.noarch.rpmpython-simplegeneric-0.8-7.el7.noarch.rpmpython-zmq-14.3.1-1.el7.x86_64.rpmzeromq3-3.2.5-1.el7.x86_64.rpm[root@server ipython]# yum install * -y ##安装ipython[root@server ~]# ipython ##进入ipython环境Python 2.7.5 (default, Feb 11 2014, 07:46:25) ##版本In [1]: quit ##退出
5 数值类型,运算符
数值类型 int, long, float, bool(True, False), complex 运算符 算术运算符: +, -, *, /, %, // (python2.x和python3.x, /操作不同)5/2, 5.0/2, 5//2 赋值运算符: =, +=, -=, /=, %= (=和==,a+=3 a=a+3) 关系运算符: >, <, >=, <=, ==, != (最终返回结果是bool类型) 逻辑运算符: and, or, not (and,全真则真; or,有真则真, not)
In [16]: a = "pumpkin" ##给变量赋值In [17]: type(a) ##查看变量类型Out[17]: strIn [18]: a ##显示变量值Out[18]: 'pumpkin'In [11]: abool = True ##0为假,非0为真In [12]: type(abool)Out[12]: boolIn [14]: acomplex = 1+2jIn [15]: type(acomplex)Out[15]: complex
内置方法:help,cmp, type, str,int, float, long,complex, bool, divmod, abs, pow, round1.help(命令):查找命令的使用方法,q退出2.cmp(num1,num2):比较num1和num2的大小若num1>num2,返回1;若num1<num2,返回-1;若num1=num2,返回03.type(a):查看a的数据类型4.str(a):将a转换为str输出,a可以为数字等 ##类型为str5.int(num1):将num1取整输出,直接去尾 ##类型为int6.float(num1):将num1转换为float输出 ##类型为float7.long(num1):将num1转换为long输出 ##类型为long8.complex(num):将num转换为复数输出 ##类型为complex9.bool(num):将num转换为bool输出 ##类型为bool,0为False,非0为True10.divmod(num1,num2):表示为 num1/num2,输出为(商,余数)##需遵守除数不能为0,即不能为False## 0/任何数,结果为(0,0)11.abs(num1):对num1取绝对值并输出12.pow(num1,num2):num1的num2次方13.round(num1):对num1进行 四舍五入 保留
6 python程序初探
*****非常重要:ASCII: 1字节=8bit(8个0101) 2^8-1= 255Unicode:2字节=16bit,2^16-1=65535 a-字节 你-2字节 utf-8:英文一个字节存储, 其他三个字节存储;GB2312:python文件的执行方法一: python 相对路径方法二:给文件加可执行权限,使用绝对路径执行文件
例一:
#!/usr/bin/python ##编程环境,可用which python命令查询#coding:utf-8 ##uft-8编码,可以编译中文westos = "welcome to to westos"print westos# print "我是中国人"
例二:判断闰年?
这个年份能被4整除但不能被100整除, 或者能被400整除,那么就是闰年.
#!/usr/bin/env python#coding:utf-8year = 2000print (year%4==0 and year%100!=0) or year%400==0
7 I/O操作
输入:input1. input接收数值类型数据:2. raw_input接收字符串类型的数据:输出:print可以在一对"""之间写输出,将会按照格式输出。
例一:input接收数值类型数据
#!/usr/bin/env python#coding:utf-8year = input("输入判断年份:")print type(year)print (year%4==0 and year%100!=0) or year%400==0
例二:raw_input接收字符串类型的数据:
#!/usr/bin/env python#coding:utf-8username = raw_input("用户名:")password = raw_input("密码:")print "username:%s password:%s" %(username, password)print "用户名是:", usernameprint "密码是:", password
例三:输出print
#!/usr/bin/env python#coding:utf-8print "hello world"print """******************************************************************************用户管理系统*********************************************************************************** 1. 新建用户 2. 删除用户 3. 登录"""
#!/usr/bin/env python#coding:utf-8print """******************************************************************************************************************** 1. %s 2. %s""" %("java", "python")
#!/usr/bin/env python#coding:utf-8score1 = input("科目1:")score2 = input("科目2:")score3 = input("科目3:")print ("平均成绩为:%d") %((score1+score2+score3)/3)
8 判断语句
if语句的格式:第一种:if 表达式: 满足表达式执行的语句.....第二种:if 表达式: 满足表达式执行的语句.....else: 不满足表达式执行的语句.....第三种:if 表达式: 满足表达式执行的语句1.....elif 表达式: 满足表达式执行的语句2.....elif 表达式: 满足表达式执行的语句3.....else: 不满足表达式执行的语句.....三目运算符: python不支持: a>b?a:b python支持: a if a>b else b
例一:if和if…else
#!/usr/bin/env python#coding:utf-8warn = ""disk_uasge = 78if warn or disk_uage > 80: print "服务器急需维护...."else: print "一切顺利!"
例二:if包含多重条件表达式
#!/usr/bin/env python#coding:utf-8age = input("Age:")if age > 18: print "成年" elif 10<age<18: print "boy or girl"else: print "baby"
例三:三目运算符的实现
#!/usr/bin/env python#coding:utf-8num1 = input()num2 = input()max = num1 if num1>num2 else num2print max
综合例子:
#!/usr/bin/env python#coding:utf-8print "****************服务器信息录入*******************"hostname = raw_input("把主机名告诉我:")IP = raw_input("你ip是啥:")used_year = input("已使多少年:")if used_year > 10: print ("该服务器使用年限太久!")else: CPU = raw_input("cpu类型:") Memory = input ("内存多大:") print """ 服务器信息显示hostname:%sIP:%sused_year:%sCPU:%sMemory:%s""" %(hostname,IP,used_year,CPU,Memory)
9 while循环
while循环的语法:while 表达式: 满足表达式执行的语句while 表达式: 满足表达式执行的语句else: 不满足表达式执行的语句# 死循环/无限循环while True: print "hello"for, break, continue, passbreak: 跳出循环,不再进行循环语句continue: 跳出本次循环, 继续回到循环语句,执行下一次循环;
#!/usr/bin/env python#coding:utf-8count = 1while count < 10: print count count += 1 exit()
例一:
考察点: a). 死循环while语句; b). 循环语句和if语句的嵌套; c). break和continue的差异;1. cmd = 显示命令行提示符,等待用户输入;2. 如果命令为空, 跳出本次循环,继续接收用户命令;3. 如果命令为quit,跳出所有循环,结束程序;4. 如果有命令,那么打印"run %s" %(cmd)
#!/usr/bin/env python#coding:utf-8while True: cmd = raw_input(">>>:").strip() if not cmd: continue elif cmd == "quit": break else: print "run %s" %(cmd)
阅读全文