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

[经验分享] python 笔记(一)

[复制链接]
累计签到:5 天
连续签到:1 天
发表于 2015-11-30 09:44:41 | 显示全部楼层 |阅读模式
  1、Python优点
  简单,优雅,明确
  强大的模块第三方库
  易移植
  面向对角
  可扩展
  
  2、缺点
  代码不能加密
  执行速度慢
  
  3、变量定义
  第一个字母必须是字母表中的大小写,或下划线。不能以数字为开头。
  1)变量赋值举例
  eg:
  >>> x=123
  >>> y=x
  >>> id(x)
  22582176
  >>> id(y)
  22582176
  >>> x=100
  >>> id(x)
  22580736
  >>> id(y)
  22582176
  >>> tast-date = 1
  File "<stdin>", line 1
  SyntaxError: can't assign to operator             ; 不能以非大小写下划线定义变量
  >>> tast_date = 1
  2)变量值类型
  布尔型:true,false
  eg:
  If True: print ‘ddd’
  ddd
  整型,长整型,浮点型:
  eg:
  >>> type(a)  
  <type 'long'>
  >>> a = 2**34
  >>> type(a)
  <type 'int'>
  >>> a=1.34
  >>> type(a)
  <type 'float'>
  >>> a=3
  >>> type(a)
  <type 'int'>
  >>> b=2.3
  >>> type(b)
  <type 'float'>
  字符串:
  >>> name='wang'
  >>> type(name)
  <type 'str'>
  序列类型:列表,数组……
  >>> name_list=['wang','bai','gui']
  >>> type(name_list)
  <type 'list'>
  
  4、运算
  a) "/"  除法,默认取只为整,可跟小数点。
  >>> 3/2
  1
  >>> 3.0/2
  1.5
  b)   取被除数
  >>> 10//2
  5
  >>> 10//4
  2
  >>> 10//3
  3
  c)   加减乘除法
  +=  “c+=a等于c=c+a”
  *=   “c*=a等于c=c*a”
  **=  “c**=a等于c=c**a”
  
  d)   与运算&:
  10和15的与运算
  1010  1111  &egrave;10
  10    20
  1010  10100  &egrave;
  >>> 10 & 20
  0
  >>> 10  & 15
  10
  e)   或运算:
  10  20
  1010 10100 &egrave; 11110  30
  >>> 10 | 20
  30
  
  
  5、注释
  单行注释:#
  多行注释:三个章引号’’’  ‘’’或者三个双引号”””  “””  ,另一种也可做为格式化输出
  提示:单引号和双引号无区别
  
  6、理解字符编码
  三种字符级:ASSIC(默认一个字节) Unicode(两个字节)  UTF-8(可变字节,汉字三个字节)
  概述:一个字节8位 111111  256个字,两个字节16位  65536个字
  1024字节=1KB
  1)(ACCIS)
  一个字节举例:
  >>> ord('a')
  97              ;  a对应8位的某几位
  >>> ord('A')
  65              ;A对应8位的某几位
  相当于每个对应256里个的各一位,一一对应。
  
  2)UTF-8编码:可变的
  存英文用一个字节存,汉字用三个字节存。
  >>> a='wang'
  >>> type(a)
  <type 'str'>
  >>> a=u'wang'
  >>> type(a)
  <type 'unicode'>
  >>> a
  u'wang'
  >>> name=u'王小哥'
  >>> type (name)
  <type 'unicode'>
  >>> name
  u'\u738b\u67cf\u8d35'
  
  >>> name = "王小哥"
  >>> name
  '\xe7\x8e\x8b\xe6\x9f\x8f\xe8\xb4\xb5'
  >>> name = u"王小哥"
  >>> name
  u'\u738b\u67cf\u8d35'
  
  3)unicode转换成UTF-8
  >>> name = u'王小哥'
  >>> name
  u'\u738b\u67cf\u8d35'
  >>> name.encode('utf-8')
  '\xe7\x8e\x8b\xe6\x9f\x8f\xe8\xb4\xb5'
  
  4)UTF-8转换成unicode
  >>> wang="王小哥"
  >>> wang
  '\xe7\x8e\x8b\xe6\x9f\x8f\xe8\xb4\xb5'
  >>> wang.decode('utf-8')
  u'\u738b\u67cf\u8d35'  
  
  提示:
    python系统里默认是ASSIC码编码格式,对应一个字节,所以在python里面存中文,会有问题,应该转换成UTF8编码格式
  #_*_ coding:utf-8 _*_
  Name = u”中文”
  Print name
  提示:
    系统中读到内存里默认是unicode格式,存到硬盘可以以UTF-8格式存,因为unicode默认都是以两个字节存的,占空间。
  
  8、导入模块
  三种导入方式:
  1) import modulename
  2) from module import sayHi
  3) import moduleName as newname
  eg:
  Import sys
  Print sys.argv
  或
  From sys import argv
  Print argv
  或
  From sys import *     ;不建议使用
  或
  Import multiprocessing as nulte
  =========================
  eg:
  a) 调用系统命令
  >>> import os
  >>> os.system('df')
  Filesystem     1K-blocks    Used Available Use% Mounted on
  /dev/sda3       18423556 1691736  15795936  10% /
  tmpfs             405824       0    405824   0% /dev/shm
  /dev/sda1         198337   29668    158429  16% /boot
  0         ;默认会输出返回上一条指令的返回值
  ==>     将返回值存入并输出
  >>> cru_dir = os.system('pwd')
  /root/python/day01
  >>> print cru_dir
  0
  b) 如何将输出结果输出?
  倒入import commands模块
  >>> import commands
  >>> res = commands.getstatusoutput('pwd')
  >>> res
  (0, '/root/python/day01')
  
  3) 倒入import sys模块
  [iyunv@localhost day01]# cat test1.py
  import sys
  print sys.argv
  print sys.argv[2]
  
  [iyunv@localhost day01]# python test1.py a b c
  ['test1.py', 'a', 'b', 'c']
  b
  
  9、用户交互
  1) raw_input
  [iyunv@localhost day01]# cat test2.py
  #!/usr/bin/env ptyhon
  #_*_ coding:utf-8 _*_
  name = raw_input('please input your name:')
  age =  raw_input('age:')
  print name , age
  
  [iyunv@localhost day01]# cat test2.py
  #!/usr/bin/env ptyhon
  #_*_ coding:utf-8 _*_
  name = raw_input('please input your name:')
  age =  raw_input('age:')           ;raw_input无论输入任何都当字符串来解释
  job = raw_input('job:')             ;可通过int(raw_input(‘age:’)) 转换成数字,或直接用input(‘age:’),注意:imput后面跟的是原生态,之前是什么,就是什么,定要指明是什么类型等,不然会有错误。
  salary = raw_input('salary:')
  print '''
  name: %s
  age : %s
  job : %s         ;%s代表字符串,%d代表数字,%f代表浮点数
  salary : %s
  -----------------
  ''' %(name,age,job,salary)
  
  
  Imput举例:
  [iyunv@localhost day01]# vim test2.py   
  #!/usr/bin/env ptyhon
  #_*_ coding:utf-8 _*_
  name = raw_input('please input your name:')
  age = input('age:')
  job = raw_input('job:')
  salary = raw_input('salary:')
  print type(age)
  print '''
  name: %s
  age : %s
  job : %s
  salary : %s
  -----------------
  ''' %(name,age,job,salary)
  
  [iyunv@localhost day01]# python test2.py
  please input your name:wangbaigui
  age:28
  job:it
  salary:2w
  <type 'int'>
  
  name: wangbaigui
  age : 28
  job : it
  salary : 2w
  -----------------
  
  [iyunv@localhost day01]# vim test2.py   
  #!/usr/bin/env ptyhon
  #_*_ coding:utf-8 _*_
  
  AGE = 28
  name = raw_input('please input your name:')
  age = input('age:')
  job = raw_input('job:')
  salary = raw_input('salary:')
  print type(age)
  print '''
  name: %s
  age : %s
  job : %s
  salary : %s
  -----------------
  ''' %(name,age,job,salary)
  
  [iyunv@localhost day01]# python test2.py
  please input your name:wangbaigui
  age:AGE
  job:it
  salary:3w
  <type 'int'>
  
  name: wangbaigui
  age : 28
  job : it

  salary : 3w
  
  
  10、流程控制
  1) if… else…举例:
  #!/usr/bin/env ptyhon
  #_*_ coding:utf-8 _*_
  name = raw_input('please input your name:')
  age = input('age:')
  job = raw_input('job:')
  salary = raw_input('salary:')
  
  if age > 30:
  meg = 'you are so old...'
  elif age >20:
  meg = ‘…’
  else:
  meg = 'you are so yongest...'
  
  print '''
  name: %s
  age : %d
  job : %s
  salary : %s
  -----------------
  %s
  ''' % (name,age,job,salary,meg)
  
  2) for循环
  [iyunv@localhost day01]# cat test4.py
  #!/usr/bin/env ptyhon
  #_*_ coding:utf-8 _*_
  name = raw_input('please input your name:')
  job = raw_input('job:')
  salary = raw_input('salary:')
  
  relea_age = 28
  for i in range(10):
  age =  input('age:')
  if age >30:
  meg = "think small..."
  elif age == 28:
  meg = "good!,you are right."
  break
  else:
  meg = "go to think"
  print meg
  print "you have only %s times to trye" %(9 - i)
  
  print '''
  name: %s
  age : %d
  job : %s
  salary : %s
  -----------------
  %s
  ''' % (name,age,job,salary,meg)
  
  3)while循环
  [iyunv@localhost day01]# cat test5.py
  slect_num = input('which num you want:')
  count = 0
  while count < 100:
  if count == slect_num:
  print 'you slect right:%s'%(slect_num)
  choice = raw_input('you want go on or contine (Y/N)')
  if choice == 'Y':
  while True:
  slect_num = input('which num you want agan:')
  if slect_num <= count:
  print "lookup alred past..,ples input newest num!"
  else:
  break
  continue
  else:
  break
  else:
  print 'lookup',count
  count +=1
  else:
  print 'Alread more then 100.. so Bye!'
  

运维网声明 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-145202-1-1.html 上篇帖子: python日志模块---logging 下篇帖子: Python behave in BDD
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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