设为首页 收藏本站
查看: 677|回复: 0

[经验分享] Python学习笔记(1)

[复制链接]

尚未签到

发表于 2017-4-24 11:51:43 | 显示全部楼层 |阅读模式
  **python**
  # python简史
  蟒蛇:解释性的,面向对象的带有动态语义的程序设计语言
  创建者:Guido van Rossum
  # CNRI时期 python 1.5
  # BeOpen时期 python 1.6
  # DC时期, Digital Creations 使用python开发了Zope系统
  # python 3.0
  2010年获得Tiobe编程语言大奖
  # python特性
  脚本语言
  高阶动态编程语言
  简单易学
  解释性&编译性:不需要变异成二进制,但是需要解释器, 也可以进行编译,速度更快
  面向对象:及支持面向过程编程又支持面向对象的编程
  可扩展性挤可嵌入性,可以嵌入到c/c++程序,提供脚本功能,部分程序也可以用c或者c++编写
  可移植性:所有程序无需任何修改即可运行在任何平台
  丰富的库:密码系统,GUI, TK,文档生成,单元测试,线程,CGI, 电子邮件
  其他高质量库:wxPython, Twisted, Python图像库等等
  自动化的内存管理
  免费,开源
  ---> 胶水语言
  # python应用
  google web爬虫,搜索引擎
  yahoo, 管理讨论组
  youtobe, 分享服务
  豆瓣,前台+后台+服务器都用的是python
  文件类型
  ==================================================
  源代码: 以.py为扩展名,有python程序解释,不需要编译
  字节代码:编译后生成扩展名为.pyc的文件
  import py_compile
  py_compile.compile("hello.py")
  优化代码:经过优化的源文件, 扩展名为.pyo
  以上三种均可直接运行
  /1.py
  print("hello, world")
  运行 python 1.py
  ==> hello, world
  /2.py
  import py_compile
  py_compile.compile('1.py')
  生成文件__pycache__/1.cpython-33.pyc
  运行 python 1.cpython-33.pyc
  ==> hello, world
  生成优化代码:
  运行 python -O -m py_compile 1.py
  生成文件__pycache__/1.cpython-33.pyo
  运行 python 1.cpython-33.pyo
  ==> hello, world
  python变量
  ===========================================
  >>a1 = 123
  >>a2 = 123
  >>id(a1)
  505912912
  >>id(a2)
  505912912
  于c语言不通,c语言给变量名开辟空间,存放数值,python则相反,数值是存在内存中的
  不同变量可以指向同一地址空间的数值
  python运算符&表达式
  =============================================
  赋值运算符
  -----------------------
  = += -= *= /= %=
  算数运算符
  -----------------------
  + - * / //(整数除法) %(求余) **(求幂)
  >> 4/3 
  1.33333333333333
  >> 4//3
  1
  关系运算符
  -----------------------
  < > <= >= != ==
  >> a = 1
  >> b = 1.0
  >> a == b
  true
  >> a = "hello"
  >> b = "hello"
  >> a == b
  true
  逻辑运算符
  ------------------------
  and or not
  优先级(低到高)
  ================================
  或 or
  与 and 
  非 not 
  成员:in, not in
  同一性:is ,is not
  < , <=, >, >=, !=, ==
  按位或 |
  按位异或 ^
  按位与 &
  移位 << , >>
  +, -
  *, /, %
  正负号 +x, -x
  按位翻转 ~x
  指数 **
  数据类型
  =======================
  # 数字类型
  2.x版本中分为:整型,长整型,浮点型,复数型
  3.x版本中氛围:整型,浮点型,复数型
  可以用type函数查看类型
  >> a = 111
  >> type(a)
  int
  >> a = 1.23
  >> type(a)
  float
  >> a = 12j
  >> type(a)
  complex
  # 字符串类型
  >> "let's go" #正确
  >> 'let's go' #错误
  转义
  >> a = "let's \"go\""
  >> print(a)
  let's "go"
  换行 \n
  不使用换行,使用三重引号 ''' xxxxxxx  '''
  >> str = 'abc'
  >> str[0]
  a
  >> str = "abc"
  >> str[0]
  a
  切片&索引 操作:
  >> a = "123456"
  >> a[1:4]
  1234
  >> a[2:]
  3456
  >> a[:4]
  1234
  >> a[-1]
  6
  >> a[::1] 间隔0个一取
  123456
  >> a[::2] 间隔1个一取
  135
  >> a[:]
  123456
  >> a[::]
  123456
  # 序列
  列表,元组,和字符串都是序列
  序列的两个主要特点:索引操作符和切片操作符
  # 序列的基本操作:
  len()
  >> len("abcdef")
  *
  >> 5*"a"
  +
  >> "abc" + "bcd"
  in
  >> "a" in "abc"
  max()
  >> max("adfe")
  f
  min()
  >> min("dfa")
  a
  cmp(tuple1, tuple2)
  tuple1> tuple2 ==> 1
  tuple1< tuple2 ==> -1 
  tuple1 = tuple2 ==> 0
  cmp("abc", "123") ?
  cmp 在3.x版本中不存在
  元组
  元组和列表十分相似,只不过元组和字符串一样是不可变的,即不能修改
  通常用在使用语句或者用户定义的函数,能够安全的采用一组值的时候
  创建元组()
  空元组 a = ()
  含有单个元素的元组 a = ("a",)
  一般的元组 a = ("a", "b")
  >> a = ()
  >> b = (2,)
  >> c = (1,2)
  >> type(a) ==> tuple
  >> type(b) ==> tuple
  >> type(c) ==> tuple
  错误的写法
  >> d = (2)
  >> type(d) ==> int
  >> d = ("ss")
  >> type(d) ==> str
  元组的值不能修改
  >> a = (2,3)
  >> a[1] = 4 #报错TypeError: 'tuple' object does not support item assignment
  赋值
  >> name,age,sex = ("zhang", 20, "man")
  >> name ==> "zhang"
  >> age ==> 20
  >> sex ==> "man"
  #列表list[]
  列表元素可变
  >> a = [1]
  >> type(a) ==> list
  基本操作
  索引 list[index]
  切片 list[:]
  添加 list.append()
  查找 var in list
  删除 list.remove() #删除第一个出现的元素
  >> a = [1,2,3,2]
  >> a.remove(2) ==> [1,3,2]
  系统方法del
  >> del(a[0]) ==> [3,2]
  注意:列表重新赋值后,地址空间不变
  >> list = [1, 3]
  >> id(list) => 85445
  >> list[0] = 2
  >> id(list) => 85445 

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-368623-1-1.html 上篇帖子: python Pmw的模块下载 下篇帖子: Python 抓包 (自留备份)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表