pytho自动化开发 day01

Date:2015.12.26

作者注:

  python学习旅程正式开启,这一天将是一个新的开始。希望我们在python开发的道路上多多积累、多分享!

一、python简介

python应用 Disgus Voitze Yelip Mozilla Quora  Redit豆瓣、知乎、sohu、腾讯、网易、金山、雅虎、Facebook、 Instagram(图片分享)
python2与python3比较经过多年的发展,python3已经得到更多的第三方优秀函数库兼容,对比python2来说,python3表现出来的精简高效特性让开发者们跃跃欲试。另外,python2.7.11作为python2版本的最后一个版本,不再有新版本推出,这样官方更多的引导开发者快速的向python3版本上进行转移。在本次学习的过程中,我们会穿插在python2和python3两个版本之间进行学习,后续的测试代码在开头会明确标记python的使用版本。相关注释都会对python2和python3的差异进行描述。

二、python安装

1.windows端安装安装包下载地址:python2.7版本:https://www.python.org/ftp/python/2.7.11/python-2.7.11.amd64.msipython3.5版本:https://www.python.org/ftp/python/3.5.1/python-3.5.1-amd64.exe  #安装版https://www.python.org/ftp/python/3.5.1/python-3.5.1-embed-win32.zip #免安装版安装步骤:使用可执行程序进行安装,按照流程进行安装即可,注意在安装的时候选择“安装路径”和一些必要的插件,比如pip、easy_install等使用免安装的文件(可嵌入的)进行环境配置:2.linux端安装centos6等常用系统自带的python版本为2.6,有特殊需求的朋友可能需要升级到python2.7或者python3版本。下面链接以python2.7.8为例进行编译安装。http://swht1278.blog.51cto.com/7138082/1728427提供一下python版本的下载地址:python2.7.11版本:https://www.python.org/ftp/python/2.7.11/Python-2.7.11.tgzpython3.5版本:https://www.python.org/ftp/python/3.5.1/Python-3.5.1.tgz
3.Ubuntu端安装最新版本的Ubuntu系统(15.04等)已经自带了python2.7.9和python3.4.5两个版本的python环境,我们只需要在shell终端输入python2或python3进行调用即可。老版本的系统升级python环境需要以下操作:# 增加python源sudo add-apt-repository ppa:fkrull/deadsnakes# update 软件列表sudo apt-get update# 安装python3sudo apt-get install python3.5

三、基础概念

变量:Python 是动态类型语言, 也就是说不需要预先声明变量的类型。变量是对象的引用,变量只是将指针指向了对象所在的内存地址。变量的类型和值在赋值那一刻被初始化。
变量起名:1.显式-->通俗易懂2.nums_of_alex_gf = 19 3.NumsOfAlexGf = 20  驼峰写法4.中横线不能作为变量的命名字符5.数字不能作为开头,但可以在中间或者结尾6.特殊字符不能作为变量名的组成部分7.不能使用空格8.关键字不能声明为变量

四、运算符

算术运算符+  -  *  /   //%  **/:传统除法,将执行地板除法,//:浮点除法,即去尾法除法,保留位数与除数和被除数的小数位数有关 (取整除,返回商的部分)**:平方运算
比较运算符<  <=  >  >=  ==  !=   <>不等于:!=   <>返回值是:True 和 False
赋值运算符>>> counter = 0 >>> miles = 1000.0 >>> name = 'Bob' >>> counter = counter + 1 >>> kilometers = 1.609 *miles>>> print '%f miles is the same as %f km' %(miles, kilometers)1000.000000 miles is the same as 1609.000000km支持简写:n=n*3 -> n*=3  但不支持自增自减,因为“-” 和”+”是单目字符,--n -> -(-n)n
位运算符&   按位与     (a&b)|   按位或 (a|b)^   按位异或    (a^b)~   按位取反    (~a)<<  左移动  a<<1整体向左移动,结果是原来数值的2倍>>  右移动    a>>1 整体向右移动,结果是原来数值的1/2逻辑运算符and 布尔“与”    同真为Trueor  布尔“或”    同假为Falsenot 布尔“非”    非True即False
成员运算符in如果在指定序列中找到指定的值,返回Truenotin如果在指定序列中没找到指定的值,返回False
身份运算符is  判断两个标识符是不是引用自同一个对象type(names) is list 判断某个变量值的类型(list、int、dic)is not 判断两个标识符是不是引用自不同对象

View Code

五、字符编码

python2 中在输入中文字符的时候会报字符编码的错误,在python3中已经引入了Unicode(万国码、统一码、单一码),它为每种语言中的每个字符设定了统一并且唯一的二进制编码,规定所有的字符和符号最少由16位二进制来表示(2个字节),即2 ** 16 = 65536
UTF-8,是对Unicode编码的压缩和优化,它不再使用最少2个字节,而是将所有的字符和符号进行分类:ascii码中的内容用1个字节保存,欧洲的字符用2个字节保存,东亚的字符用3个字节保存示例
python2#!/usr/local/env python2# -*- coding: utf-8 -*-  # 声明使用的字符类型,否则会报错'''@swht'''print "你好!"python3#!/usr/local/env python3'''@swht'''print ("你好!")总结:在python3中完全不用考虑字符编码的问题,python解释器会自行处理字符类型的问题

六、python流程控制

流程控制分为两大类:条件判断和循环
其中循环又分为两类:for循环和while循环
条件判断和循环可以单独存在,也可以嵌套使用,以处理更为复杂的逻辑问题。

下面会从if条件判断for循环和while循环进行代码示例:

if_ex.py

#!/usr/bin/env python3
'''
@swht
'''
LuckyNum = 9
# 让用户输入一个数值与指定的值进行比较,当然这里没有处理用户输入为空的情况
# strip() 可以截取用户输入字符串首尾的空格
UserInputNum = int(input("请从1-100之间选择一个数字输入:").strip())
if UserInputNum > LuckyNum:print("你输入的数字比我的LuckNum要大哦!")
elif UserInputNum < LuckyNum:print("你输入的数字比我的LuckNum要小哦!")
else:print("恭喜你猜中了我的LuckNum,原来你就是我的幸运天使!")

while_ex.py

#!/usr/bin/env python3
'''
@swht
'''
LuckyNum = 9
# 设置一个标志位,用于程序判断退出循环
flag = True
while flage:
UserInputNum = int(input("请从1-100之间选择一个数字输入:").strip())
if UserInputNum > LuckyNum:print("你输入的数字比我的LuckyNum要大哦!")
elif UserInputNum < LuckyNum:print("你输入的数字比我的LuckyNum要小哦!")
else:print("恭喜你猜中了我的LuckyNum,原来你就是我的幸运天使!")flag = False

for_ex.py

#!/usr/bin/env python3
'''
@swht
'''
LuckyNum = 9
for count in range(3):UserInputNum = int(input("请从1-100之间选择一个数字输入:").strip())if UserInputNum > LuckyNum:print("你输入的数字比我的LuckyNum要大哦!")elif UserInputNum < LuckyNum:print("你输入的数字比我的LuckyNum要小哦!")else:print("恭喜你猜中了我的LuckyNum,原来你就是我的幸运天使!")break
else:print("你输入的次数已达到3次,程序即将退出!")

对比break和countnue

break是结束整个循环体,continue是结束单次循环示例#!/usr/local/env python3'''@swht'''x = 0while x < 10:if x ==3:breakx += 1print("x=%s" % x)输出结果:   x=1x=2x=3直接退出了整个while循环

七、格式化输出

使用'''string'''可以很方便的将多行内容进行注释,另外这个符号还有一个功能,那就是文档描述的功能。一般而言,在程序的前面后有一个文档说明,包括作者信息,版本信息,功能等#!/usr/bin/env python
'''
@swht
'''name = input("name:")
age = input("age:")
job = input("job:")print("Information of:" + name + "\nname:" + name + "\nage:" + age + "\njob:" + job)
print("Information of %s\nname:%s\nage:%s\njob:%s" %(name,name,age,job))
print('''Infomation of %sname:%sage:%sjob:%s''' % (name,name,age,job))

八、数据类型:

列表转换成元组:tuple(name_list)

元组转换成列表:list(元组_name)

    1.数字int     整型long    长整型float   浮点型2.布尔1   真0   假3.字符串stinglist = “Hello World”字符串操作:(参考:http://www.cnblogs.com/zhxiang/p/3385242.htmlhttp://www.jb51.net/article/47956.htm)移除空白:stinglist.strip()移除特殊字符:stinglist.lstrip().rstrip(',')分割:>>> stringlist[2]'l'长度:>>> len(stringlist)11索引:>>> stringlist.index('W') #字母‘W’所在的索引值6切片:>>> stringlist[0:3] #顾前不顾尾'Hel'字符串在输出时的对齐:>>> stringlist[0:3]'Hel'>>> stringlist[0:3].ljust(5) #ljust(width,[fillchar]) fillchar为填充字符,默认为空格'Hel  '字符串拼接:>>> stringlist += s>>> stringlist'Hello Worldab,cde,fgh,ijk'大小写转换:>>>stringlist.lower() #小写'hello world'>>> stringlist.upper() #大写'HELLO WORLD'>>> stringlist.swapcase() #大小写互换'hELLO wORLD'>>> stringlist.capitalize() #首字母大写'Hello world' >>> string.capwords(stringlist) #以空格分割,每个单词首字母大写'Hello World'字符串翻转:>>> s'sdsds sdsdsff'>>> s = s[::-1]>>> s'ffsdsds sdsds'字符串查找:>>> stringlist.find('World')6判断是否为整型:>>> stringlist.isdigit()False判断字符串是否为空格:>>> stringlist.isspace()False转换成列表:>>> stringlist.split() #默认以空格为分割['Hello', 'World']4.列表(dir(name_list)获取列表操作帮助)参考:http://www.jb51.net/article/46768.htmname_list = ['alex', 'sddkd', 'shdjsjd', 'shen', 'swht', 'test']移除空白:name_list.strip()获取元素:name_list[index_num]索引:name_list.index("swht")  获取指定元素的索引值追加:name_list.append("test") 在列表后面追加一个元素插入:name_list.insert(3,"ssdd") 在索引值3后面插入新的元素删除:name_list.pop() 删除最后一个元素name_list.remove("test") 删除指定的元素排序:name_list.sort()  对元素按照ASCII码进行排序python3 里面不能同时sort int 和 str类型反转顺序:name_list.reverse()  对列表中的元素进行反转操作切片:name_list[0:3]  切取索引值从0-2的值(切片顾头不顾尾)扩展:name_list.extend(name_list2) 在一个列表后面追加另一个列表的元素,或者追加一个变量中的单个字符5.元组>>> namelist = ("swht","test")>>> type(namelist)<class 'tuple'>索引:>>> namelist.index('swht') #查找某个字符串的索引值0统计:>>> namelist.count('swht') #统计某个字符串出现的次数16.字典(无序)参考:http://www.jb51.net/article/47990.htm不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住键必须不可变,所以可以用数,字符串或元组充当,所以用列表就不行dict = {"swht":"test123","shen":"test124","test":"test125"}访问字典里的值:>>> dict["swht"]'test123'增加字典里的值:>>> dict["alex"] = "test126">>> dict{'test': 'test125', 'shen': 'test124', 'swht': 'test123', 'alex': 'test126'}删除字典当中的元素:>>> del dict["test"]>>> dict{'shen': 'test124', 'swht': 'test123', 'alex': 'test126'}>>>             清空字典里的所有条目:>>> dict.clear()>>> dict{}删除字典:del dict

九、文件操作  参考链接:http://www.cnblogs.com/songqingbo/p/5102618.html

简单操作:filename = open("文件路径","模式")    #打开文件filename.write('内容')    #往文件中写入内容filename.read()     #一次性加载文件中的内容到内存filename.readlines()    #一次性加载所有的内容到内存,并根据行分割成字符串filename.close()    #关闭文件句柄打开文件的模式:  r:以只读的模式打开文件  w:打开一个文件只用于写入,如果文件已存在,将会覆盖  a:打开一个文件在后面追加内容。文件不存在,将会新建一个文件并追加内容  w+:打开一个文件进行读写操作,如果文件存在,则将内容覆盖;如果文件不存在,将创建新文件进行写操作

十、作业

作业一:编写登录接口

    http://www.cnblogs.com/songqingbo/p/5091808.html
作业二:多级菜单          http://www.cnblogs.com/songqingbo/p/5091830.html

转载于:https://www.cnblogs.com/songqingbo/p/5080710.html

python开发学习-day01 (python安装与版本、字符串、字典、运算符、文件)相关推荐

  1. Python开发学习之Python实现用手机监控远程控制电脑

    很多时候,我们都有远程控制电脑的需求.比如正在某样东西,需要让电脑在完后关机.或者你需要监控一个程序的运行状况等. 今天我们就来用Python实现一个远程监控并控制电脑的小程序. 实现原理 听起来远程 ...

  2. Python开发学习之Python和Excel的数据实现互通

    今天为大家分享一篇使用Python和Excel的数据实现互通的技巧心得,可以让Python和Excel的数据实现互通!具有很好的参考价值,希望对大家有所帮助(建议在电脑端阅读,代码案例较多).一起过来 ...

  3. python开发软件的实例-Python 开发工具和框架安装实例步骤

    引言: 其实之前对于 Python,只是知道有这门语言而已.大部分还是使用 .net 开发的,之前也学了 MVC+EF 开发,但是由于工作上完全用不到,也就没有在博客记录学习的东西了. 最近又接触到了 ...

  4. python开发工具pycharm-community版安装教程

    python开发工具pycharm-community版安装教程 打开页面 我们这里选择community版本,也就是社区版. 选择一个安装位置,下一步 打钩,这里没有出现JRE下载,可能是笔者的计算 ...

  5. c语言 dict数据类型,Python开发基础之Python常用的数据类型

    Python开发基础之Python常用的数据类型 发布时间:2020-08-02 20:07:19 来源:51CTO 阅读:348 作者:warrent 博文大纲 一.Python介绍 二.Pytho ...

  6. 1.2 Python开发环境配置 | Python语言程序设计(嵩天)

    文章目录 课程简介 第一章 Python基本语法 1.2 Python开发环境配置 Python语言概述 Python开发环境IDLE python的安装与环境配置 Python基本开发环境 Pyth ...

  7. Python语言学习:Python常用自带库(imageio、pickle)简介、使用方法之详细攻略

    Python语言学习:Python常用自带库(imageio.pickle)简介.使用方法之详细攻略 目录 imageio简介及其常见使用方法 pickle简介及其常见使用方法 简介 使用方法 简介及 ...

  8. Python语言学习:python语言的特点、入门、基础用法之详细攻略

    Python语言学习:python语言的特点.入门.基础用法之详细攻略 相关内容 Python 基础教程 目录 python语言的特点 python语言的入门 python语言的基础用法 python ...

  9. visual studio 2015 搭建python开发环境,python入门到精通[三]

    在上一篇博客Windows搭建python开发环境,python入门到精通[一]很多园友提到希望使用visual studio 2013/visual studio 2015 python做demo, ...

最新文章

  1. C#写webservice(2)
  2. Android开发工作中遇到的重点和难点总结
  3. javaScript实现归并排序
  4. vue.config.js配置代理不生效_iMac各种代理设置方法汇总
  5. ie浏览器修复_Win7或Win8系统变慢,功能没法用,如何一键修复系统?
  6. 教你移除IE 7.0浏览器的默认搜索框
  7. Java 高级类(下) —— 内部类和匿名类
  8. 服务器系统 比较,各种服务器操作系统比较
  9. VoltDB培训PPT一则
  10. 软件介绍:搜索工具 Listary
  11. ie11 华表_IE11网页加载项和控件不能运行的解决方法
  12. 目前常见软件保护技术概述
  13. 成功解决wps文档中,有些空白页费劲死活删除不掉的问题
  14. tempo jsnode扩展 3d图形支持。
  15. 第九届蓝桥杯(国赛)——阅兵方阵
  16. ssms mysql_SQL Server免费版的安装以及使用SQL Server Management Studio(SSMS)连接数据库的图文方法...
  17. 三个角度细谈:如何发挥朋友圈广告的威力
  18. 忽视警告_不要忽视下雨的风险2
  19. 关于计算机如何实现减法操作
  20. DDD 为什么能火起来?和微服务有啥关系?

热门文章

  1. 医药信息与计算机作业,西安交通大学19年3月课程考试《药物信息学》作业考核试题【标准答案】...
  2. 专访路彦雄:理解语言其实还是很难的
  3. python期货程序化交易高手心得_11位顶级高手谈期货心得
  4. eBay卖家用WorldFirst将PayPal美元提现国内银行教程!
  5. 微信公众号怎么生成带参数的二维码?
  6. Vue/React组件化开发的一些思考
  7. THOMSON TG789vn 汤姆逊 tg789vn路由器配置
  8. bert 环境搭建之PytorchTransformer 安装
  9. vivo 云原生容器探索和落地实践
  10. Word不熟练?掌握这些Word技巧和30个快捷键,快速提升工作效率