爱若晨风 发表于 2015-11-30 09:44:41

python 笔记(一)

  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的与运算
  10101111&egrave;10
  10    20
  101010100&egrave;
  >>> 10 & 20
  0
  >>> 10& 15
  10
  e)   或运算:
  1020
  1010 10100 &egrave; 1111030
  >>> 10 | 20
  30
  
  
  5、注释
  单行注释:#
  多行注释:三个章引号’’’‘’’或者三个双引号”””“””,另一种也可做为格式化输出
  提示:单引号和双引号无区别
  
  6、理解字符编码
  三种字符级:ASSIC(默认一个字节) Unicode(两个字节)UTF-8(可变字节,汉字三个字节)
  概述:一个字节8位 111111256个字,两个字节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 16917361579593610% /
  tmpfs             405824       0    405824   0% /dev/shm
  /dev/sda1         198337   29668    15842916% /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模块
  # cat test1.py
  import sys
  print sys.argv
  print sys.argv
  
  # python test1.py a b c
  ['test1.py', 'a', 'b', 'c']
  b
  
  9、用户交互
  1) raw_input
  # cat test2.py
  #!/usr/bin/env ptyhon
  #_*_ coding:utf-8 _*_
  name = raw_input('please input your name:')
  age =raw_input('age:')
  print name , age
  
  # 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举例:
  # 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)
  
  # python test2.py
  please input your name:wangbaigui
  age:28
  job:it
  salary:2w
  <type 'int'>
  
  name: wangbaigui
  age : 28
  job : it
  salary : 2w
  -----------------
  
  # 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)
  
  # 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循环
  # 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循环
  # 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]
查看完整版本: python 笔记(一)