温故而知新-python语法复习

来源:互联网 发布:mac好用的炒股软件 编辑:程序博客网 时间:2024/05/17 15:56

1.程序的输出

import sys;sys.stdout.write("hello world\n");

out:hello world

 

print("%s is number %d" % ("ten",10));

out:ten is number 10

 

注:不同于print(),write()不会自动在字符串后面添加换行符

 

2.程序的输入

import sys;user=input("enter loginname:");print("your login is",user);

 

3.字符串的切片和索引操作:

pystr='spyder_python_3.5';print(pystr[0:6]);print(pystr[6]);print(pystr[-3:-1],pystr[-1]);

pystr='spyder_python_3.5';print(pystr[0:6]);print(pystr[6]);print(pystr[-3:]);

Out:spyder

_

3.5

注:切片不包含结束坐标。因此常用:[-3:]

 

3. 列表和元祖

列表,运算符[],元素可以增删改。

元祖,运算符(),只读的列表。

共同点:切片操作,运算符[],[:]

aList=[1,"a",2,"b"];

aTuple=("rebots",77,93,"try");

aList[2:]

Out[17]: [2, 'b']

aTuple[0:3]

Out[18]: ('rebots', 77, 93)

 

 

4.字典

Python的映射数据类型,键-值(key-value)对构成;一般来说,数字或者字符串作为键key会最为常用;运算符为{}。

 

#创建字典:

aDict={'host':'beijing'};

aDict['tel']='18888888888';

aDict['name']='Clark';

aDict[1]='etl';

aDict[2]='oracle';

aDict[3]='sql tuning';

aDict

Out[25]:

{1: 'etl',

 2: 'oracle',

 3: 'sql tuning',

 'host': 'beijing',

 'tel': '18888888888',

 'name': 'Clark'}

 

#字典的查询

aDict.keys()

Out[26]: dict_keys([1, 2, 3, 'host', 'tel', 'name'])

 

for key in aDict:

    print(str(key)+"\t "+aDict[key])

 

5.if 语句

 

def stastics(y):

   import sys;

   x=int(input("enter a number less then 30:"))+y;

   if x<=10:

       print("class_1");

   elif x<=20:

       print("class_2");

   elif x<=30:

       print("class_3");

   else:

       print("you enter a number more then 30.");   

6.while语句

def test_while(counter):

   while counter<10:

       print("loop #%d" % (counter));

       counter+=1;

       

test_while(8)

loop #8

loop #9

 

7.for循环

for item in aDict.keys():

   print(item,"\t",aDict[item])

   

for item in [1,2,'a','b']:

   print(item);

 

8.range()内建函数

 

class range(object)

 | range(stop) -> range object

 | range(start, stop[, step]) -> range object

 

range()函数创建range对象

range(i, j) produces i, i+1, i+2, ..., j-1.

 

range(4).__contains__(2)

Out[33]: True

 

range(4).__contains__(4)

Out[34]: False

 

9. 列表解析(列表和range对象的关系)

[x ** 2 for x in range(4)]

Out[35]: [0, 1, 4, 9]

 

[x for x in range(4)]

Out[36]: [0, 1, 2, 3]

 

10.文件和内建函数open(),file()

持久存储。

Open:

open(file, mode='r', buffering=-1,encoding=None, errors=None, newline=None, closefd=True, opener=None)

 

    'r'      open for reading (default)

   'w'       open for writing,truncating the file first

   'x'       create a new file andopen it for writing

   'a'       open for writing,appending to the end of the file if it exists

   'b'       binary mode

    't'       text mode (default)

    '+'       open a disk file for updating (readingand writing)

 

open(r'E:\库-技术研究库\branch-stage01\程序设计-python\方向-pythoncore\专题-【Python核心编程(第二版)】Wesley J. Chun\1.txt', mode='x', encoding=None)

 

Out[42]: <_io.TextIOWrapper name='E:\\库-技术研究库\\branch-stage01\\程序设计-python\\方向-pythoncore\\专题-【Python核心编程(第二版)】Wesley J. Chun\\1.txt' mode='x' encoding='cp936'>

 

file=open(r'E:\库-技术研究库\branch-stage01\程序设计-python\方向-pythoncore\专题-【Python核心编程(第二版)】Wesley J. Chun\1.txt', mode='w', encoding=None)

 

file.writelines([str(item)+"\t"+aDict[item]+"\n"for item in aDict.keys()])

 

file.close()

 

11. 错误和异常

try:

   file=open(r'E:\库-技术研究库\branch-stage01\程序设计-python\方向-python core\专题-【Python核心编程(第二版)】Wesley J. Chun\2.txt', mode='x', encoding=None);

except IOError:

    print("file openerror:",IOError);

else:

   print("file open error:other");

   

file open error: <class'OSError'>

 

try:

   file=open(r'E:\库-技术研究库\branch-stage01\程序设计-python\方向-python core\专题-【Python核心编程(第二版)】Wesley J. Chun\2.txt', mode='x', encoding=None);

except IOError as e:

   print("file open error:",e);

else:

   print("file open error:other");

   

file open error: [Errno 17] File exists:'E:\\库-技术研究库\\branch-stage01\\程序设计-python\\方向-python core\\专题-【Python核心编程(第二版)】Wesley J. Chun\\2.txt'

 

12. 函数

12.1 标量运算和列表运算

def addMe2(x):

   return(x+x)

 

addMe2(2.5)

Out[81]: 5.0

 

addMe2('python')

Out[82]: 'pythonpython'

 

addMe2(['1','a',2,'b'])

Out[83]: ['1', 'a', 2, 'b', '1', 'a', 2,'b']

 

12.2 默认参数

def foo(debug=True):

   if debug:

       print("in debug mode");

   else:

       print("out debug mode");

       

foo()

in debug mode

 

foo(False)

out debug mode

13.类

类是面向对象编程的核心,它扮演数据及逻辑容器的角色。

 

 

********************************************************************

** 欢迎转发,原文:http://blog.csdn.net/clark_xu [徐长亮的专栏]

** 感兴趣的代码在:https://github.com/clark99

** 感谢支持公众号:clark_blog

********************************************************************

 

 

 

0 0
原创粉丝点击