您的位置:首页 > 编程语言 > Python开发

Dave Python 练习一

2011-08-28 22:49 295 查看
practice1.py

#coding=gbk
#这里使用的Python是最新的3.2 版本,语法和之前的2.x 系列有一定的出入,不过通过帮助文档都有详细的说明。
#将笔记中的内容全部保存为python 脚本,执行过的就注释表,不影响其他脚本的执行。

#print('Hello world!')
#print(abs(-4))

#myStr='Hello world!'
#print(myStr)

#print(myStr +'is'+ myStr)

#用户输入一个字符,然后用print 将字符输出:
#import sys
#myStr=input('Enter a string:')
#print(myStr)

#用户输入一个数字,并进行相关的运算:
#num=input('Plz input a number:')
#print('The input number is:'+num*2)
#没进行int()转换,数字按字符串处理,*2 即复制2遍
#print('The input number is:',int(num)*2)
#普通的乘法

#使用help 查看具体的某个语法的帮助
#help(input)

#运算符
#Python 中的标准算术运算符以你熟悉的方式工作:+ - * / // % **,加、减、乘、除和取余都是标准运算符。
#Python 有两种除法运算符,单斜杠用作传统除法,双斜杠用作浮点除法(对结果进行四舍五入)。
#传统除法是指如果两个操作数都是整数的话,它将执行是地板除(取比商小的最大整数),而浮点除法是真正的除法,
#不管操作数是什么类型,浮点除法总是执行真正的除法。
#乘方运算符, 双星号(**)

#print(9/4)
#-->2.25

#print(9//4)
#-->2

#print(2*3,2**3)
#-->6 8

#print(-1*2+9/4+9//4+2**3)
#-->10.25

#Python 的比较运算:< <= > >= == !=,返回布尔值
#print(2<4)
#-->True

#Python 目前支持“不等于”比较运算符, != .<> 在Python 3.2中 以淘汰
#print(2!=4)
#print(2<>4)
#SyntaxError: invalid syntax

#Python 也提供了逻辑运算符:and or not
#print(2<4 and 2>1)
#-->True
#print(2>4 or 2<4)
#-->True

#变量和赋值
#Python 是用C 语言写的,所以变量这块和C 一致。可以是数字,字母, 或下划线组成,并且区分大小写。
#Python 是动态类型语言, 也就是说不需要预先声明变量的类型。 变量的类型和值在赋值那一刻被初始化。
#变量赋值通过等号来执行。

#num1=1.5
#num2=num1*2
#str1='Dave is DBA!'
#print(num1,num2,str1)
#-->1.5 3.0 Dave is DBA!

#Python 中增量赋值
#Python 支持增量赋值,也就是运算符和等号合并在一起
#num=2
#num =num*2
#num1=8
#num1 *=8
#print(num,num1)
#-->4 64

#Python 不支持C 语言中的自增1 和自减1 运算符, 这是因为 + 和 - 也是单目运算符,
#Python 会将 --n 解释为-(-n) 从而得到 n , 同样 ++n 的结果也是 n.

#数字
#Python 支持五种基本数字类型,其中有三种是整数类型。
#int (有符号整数)
#long (长整数)
#bool (布尔值)
#float (浮点值)
#complex (复数)

#字符串
#Python 中字符串被定义为引号之间的字符集合。Python 支持使用成对的单引号或双引号,
#三引号(三个连续的单引号或者双引号)可以用来包含特殊字符。使用索引运算符( [ ] )和切
#片运算符( [ : ] )可以得到子字符串。字符串有其特有的索引规则:第一个字符的索引是 0,
#最后一个字符的索引是 -1
#加号( + )用于字符串连接运算,星号( * )则用于字符串重复。

#mystr='Dave come from anqing!'
#print(mystr[0],mystr[-1],mystr*2,mystr[6:],mystr[6:9])
#-->D ! Dave come from anqing!Dave come from anqing! ome from anqing! ome

#列表和元组
#可以将列表和元组当成普通的“数组”,它能保存任意数量任意类型的Python 对象。和数
#组一样,通过从0 开始的数字索引访问元素,但是列表和元组可以存储不同类型的对象。
#列表和元组有几处重要的区别。列表元素用中括号( [ ])包裹,元素的个数及元素的值可
#以改变。元组元素用小括号(( ))包裹,不可以更改(尽管他们的内容可以)。元组可以看成是
#只读的列表。通过切片运算( [ ] 和 [ : ] )可以得到子集,这一点与字符串的使用方法一样。

#列表示例
#alist=[1,2,3,4,5]
#print(alist,alist[1])
#-->[1, 2, 3, 4, 5] 2
#列表里的值可以更改,元祖里的不可以
#alist[0]=5
#print(alist)
#-->[5, 2, 3, 4, 5]

#元组,元组从1开始统计
#atuple=('Dave','is','DBA')
#print(atuple,atuple[0],atuple[:2])
#-->('Dave', 'is', 'DBA') Dave ('Dave', 'is')

#字典
#字典是Python 中的映射数据类型,工作原理类似Perl 中的关联数组或者哈希表,由键-值(key-value)对构成。
#几乎所有类型的Python 对象都可以用作键,不过一般还是以数字或者
#字符串最为常用。值可以是任意类型的Python 对象,字典元素用大括号({ })包裹。

#adict={
#       'Name':'Dave',
#       'Sex':'Man'
#       }
#print(adict)
#-->{'Name': 'Dave', 'Sex': 'Man'}

#向字典里添加新值,新值会放在最前面
#adict['Email']='dvd.dba@gmail.com'
#print(adict)
#-->{'Email': 'dvd.dba@gmail.com', 'Name': 'Dave', 'Sex': 'Man'}
#print(adict.keys())
#-->dict_keys(['Email', 'Name', 'Sex'])
#
#for key in adict:
#    print(adict[key])
#
#dvd.dba@gmail.com
#Dave
#Man

#if 判断,
#num=input('please input a num:')
#if int(num)>100:
#    print('the num>100')
#elif int(num)>50:
#    print('the num<100 and >50')
#else:
#    print('the num<50')

#while 循环
#学C时写过一个猜数字的小游戏,这里用Python 重写一次:
#import random
#num=random.randint(1, 100)
#num2=input('please guess the num:')
#while int(num2)!=num:
#    if int(num2)>num:
#        num2=input(num2 +'>num,please input again:')
#    elif int(num2)<num:
#        num2=input(num2 +'<num,please input again:')
#
#print('You are right!')
#
#please guess the num:50
#50>num,please input again:2
#2<num,please input again:20
#20>num,please input again:3
#3<num,please input again:4
#You are right!

#for 循环和range()内建函数
#Python 中的for 循环与传统的for 循环(计数器循环)不太一样, 它更象shell 脚本里
#的foreach 迭代。Python 中的for 接受可迭代对象(例如序列或迭代器)作为其参数,每次
#迭代其中一个元素。

#for i in ['Dave','is','DBA']:
#    print(i)
#
#Dave
#is
#DBA
#这样输出变成来 3行,print 函数:print([object, ...], *, sep=' ', end='\n', file=sys.stdout)
#其默认是\n 作为结束,即换行,可以在print后加end 参数,这样不换行,使用空格进行区分
#for i in ['Dave','is','DBA']:
#    print(i,end=' ')
#-->Dave is DBA

#for i in range(5):
#    print(i,end=',')
#0,1,2,3,4,

#str='Dave is DBA'
#for i in range(len(str)):
#    print(str[i],end=',')
#D,a,v,e, ,i,s, ,D,B,A,

#列表解析
#可以在一行中使用一个for 循环将所有值放到一个列表当中

#str=[x**2 for x in range(5)]
#print(str)
#for i in str:
#    print(i)
#
#[0, 1, 4, 9, 16] -->用for 循环生成了一个列表
#0
#1
#4
#9
#16

#文件和内建函数open() 、file()
#如何打开文件
#handle = open(file_name, access_mode = 'r')
#file_name 变量包含我们希望打开的文件的字符串名字, access_mode 中 'r' 表示读取,
#'w' 表示写入, 'a' 表示添加。其它可能用到的标声还有 '+' 表示读写, 'b'表示二进制访
#问. 如果未提供 access_mode , 默认值为 'r'。如果 open() 成功, 一个文件对象句柄会被
#返回。所有后续的文件操作都必须通过此文件句柄进行。当一个文件对象返回之后, 我们就可
#以访问它的一些方法, 比如 readlines() 和close().

#这里我们先写如文件,在从文件中读取出来
#fname='Dave.txt'
#fp=open(fname, 'w')
#fp.write('Dave is DBA!\n')
#fp.write('Dave is writing Python!\n')
#fp.write('Dave come from anqing!\n')
#fp.close()
#
#fp=open(fname, 'r')
#for Line in fp:
#    print(Line)
#fp.close
#-->
#Dave is DBA!
#
#Dave is writing Python!
#
#Dave come from anqing!

#错误和异常
#要给你的代码添加错误检测及异常处理, 只要将它们封装在 try-except 语句当中。 try
#之后的代码组, 就是你打算管理的代码。 except 之后的代码组, 则是你处理错误的代码。
#程序员也可以通过使用 raise 语句故意引发一个异常。

#try:
#    filename =input('Enter file name: ')
#    fobj = open(filename, 'r')
#    for eachLine in fobj:
#        print(eachLine)
#    fobj.close()
#except IOError as e:
#    print('file open error:',e)
#-->
#Enter file name: DBA.txt
#file open error: [Errno 2] No such file or directory: 'DBA.txt'

#函数
#类似其它的语言, Python 中的函数使用小括号( () )调用。函数在调用之前必须先定义。
#如果函数中没有 return 语句, 就会自动返回 None 对象。

#def plus(x,y):
#    return(x+y)
#
#print(plus(3,4))
#-->7

#模块
#模块是一种组织形式, 它将彼此有关系的Python 代码组织到一个个独立文件当中。
#模块可以包含可执行代码, 函数和类或者这些东西的组合。
#当你创建了一个 Python 源文件,模块的名字就是不带 .py 后缀的文件名。一个模块创
#建之后, 你可以从另一个模块中使用 import 语句导入这个模块来使用。
#
#如何导入模块
#import module_name
#如何访问一个模块函数或访问一个模块变量
#一旦导入完成, 一个模块的属性(函数和变量)可以通过熟悉的 .句点属性标识法访问。
#module.function()
#module.variable

#import sys
#print(sys.platform)
#print(sys.version)

#常用的函数
#函数 描述
#dir([obj]) 显示对象的属性,如果没有提供参数, 则显示全局变量的名字
#help([obj]) 以一种整齐美观的形式 显示对象的文档字符串, 如果没有提供任何参数, 则会进入交互式帮助。
#int(obj) 将一个对象转换为整数
#len(obj) 返回对象的长度
#open(fn, mode) 以 mode('r' = 读, 'w'= 写)方式打开一个文件名为 fn 的文件
#range([[start,]stop[,step]) 返回一个整数列表。起始值为 start, 结束值为 stop - 1; start默认值为 0, step默认值为1。
#raw_input(str) 等待用户输入一个字符串, 可以提供一个可选的参数 str 用作提示信息。
#str(obj) 将一个对象转换为字符串
#type(obj) 返回对象的类型(返回值本身是一个type 对象!)


-------------------------------------------------------------------------------------------------------

Blog: http://blog.csdn.net/tianlesoftware
Weibo: http://weibo.com/tianlesoftware
Email: dvd.dba@gmail.com

DBA1 群:62697716(满); DBA2 群:62697977(满) DBA3 群:62697850(满)

DBA 超级群:63306533(满); DBA4 群: 83829929(满) DBA5群: 142216823(满)

DBA6 群:158654907(满) 聊天 群:40132017(满) 聊天2群:69087192(满)

--加群需要在备注说明Oracle表空间和数据文件的关系,否则拒绝申请
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: