很简单基础的东西,自己看书顺便记录下,方便以后回顾
1.程序输入函数input_raw(),获取用户输入的文本
python
>>> username = raw_input('输入你的用户名:')
输入你的用户名:vinbin
>>> username
'vinbin'
java
Scanner in = new Scanner(System.in);
String username = in.next();
python获取输入的文本字符串,并转换为整数进行运算:
int()函数可以将数值字符串转换为整数,进行数学运算
>>> num = raw_input('请输入一个数字:')
请输入一个数字:1024
>>> print '把你输入的数翻倍是:%d' % (int(num)*2)
把你输入的数翻倍是:2048
java获取用户输入的数值:
Scanner in = new Scanner(System.in);
int num = in.nextInt();
2.pytho注释
# 行注释
文档注释,可以生成文档的
>>> def foo():
"这是文档注释"
return true
类似于java 的 /** ........ */
3.运算符
逻辑运算符
and or not
4.变量与赋值
python是动态语言,不需要预先声明变量的类型,变量的类型和值在赋值的那一刻被初始化
python支持增量赋值
n*=10
python不支持++1 与 --1运算
5.数字
python支持5种基本数字类型
int (有符号整数)
long (长整数)
bool (布尔值)
float (浮点值)
complex (复数)
6.字符串
python字符串被定义为引号之间的字符集合,成对的单引号或成对的双引号
得到子字符串
索引运算符 []
类似于java String 的 charAt
(int index)
方法
切片运算符 [:]
类似java String的substring
(int beginIndex, int endIndex)
方法
python字符串的索引规则与java不同
第一个字符串索引是0,最后一个字符串索引是-1
python中加号‘+’用于字符串连接,星号‘*’用于字符串重复
>>> pystr = 'python'
>>> pystr[0]
'p'
>>> pystr[2:5]
'tho'
>>> iscool = 'is cool!'
>>> iscool[:2]
'is'
>>> iscool[:3]
'is '
>>> pystr+iscool
'pythonis cool!'
>>> pystr + ' ' + iscool
'python is cool!'
>>> pystr * 2
'pythonpython'
7.列表和元组
类似于java中的数组
和数组一样,通过从0 开始的数字索引访问元素
列表和元组可以存储不同类型的对象
列表切片运算示例
>>> aList = [1,2,3,4]
>>> aList
[1, 2, 3, 4]
>>> aList[0] #显示索引0 ,也就是第一个元素
1
>>> aList[2:] #显示索引1后面的元素
[3, 4]
>>> aList[:3] #显示索引2前面的元素
[1, 2, 3]
>>> aList[1]=5 #把第二个元素值改为5
>>> aList
[1, 5, 3, 4]
元组也可以进行切片运算,得到的结果也是元组(不能被修改):
>>> aTuple = ('bin',78,99,'test')
>>> aTuple
('bin', 78, 99, 'test')
>>> aTuple[3:]
('test',)
>>> aTuple[:3]
('bin', 78, 99)
>>> aTuple[1] = 5 #元组中的元素不能被修改
Traceback (most recent call last):
File "<pyshell#35>", line 1, in <module>
aTuple[1] = 5 #元组中的元素不能被修改
TypeError: 'tuple' object does not support item assignment
>>>
8.字典
是python中的映射数据类型,类似于java中的HashMap,由键-值(key-value)对构成
>>> aDict = {'host': 'earth'} # create dict
9.if语句
标准if 条件语句的语法如下:
>>> a = 1
>>> if a <2:
print 'a<2'
10.while循环
>>> counter = 0
>>> while counter<3:
print 'loop #%d' % (counter)
counter+=1
11.for 循环和range()内建函数
for 遍历一个列表
>>> for item in ['e-mail','net-surfing','homework','chat']:
print item
e-mail
net-surfing
homework
chat
range()内建函数,接受一个数值范围, 生成一个列表
>>> for eachNum in range(20):
print eachNum
for迭代一个字符串中的每一个字符
>>> foo='bannedSites'
>>> for char in foo:
print char
range()函数和len()函数一起用于字符串索引,显示字符串每一个元素及其索引
下标
>>> foo='abc'
>>> for i in range(len(foo)):
print foo[i],'(%d)' % i
a (0)
b (1)
c (2)
enumerate()函数,同时循环索引,及元素
>>> for i,ch in enumerate(foo):
print ch,'(%d)' % i
a (0)
b (1)
c (2)
12.列表解析
可以在一行中使用一个for 循环将所有值放到一个列表当中:
>>> sqdEvens = [x **2 for x in range(8) if not x % 2]
>>> for i in sqdEvens:
print i
0
4
16
36
13.文件和内建函数open() 、file()
打开文件
handle = open(file_name, access_mode = 'r')
file_name 要打开的文件名字
access_mode
'r' 表示读取
'w' 表示写入
'a' 表示添加
'+' 表示读写
'b' 表示二进制访问
打开一个文件,打印出文件内容
>>> filename = raw_input('输入文件名:')
输入文件名:D:\test.txt
>>> filename
'D:\\test.txt'
>>> fobj = open(filename,'r')
>>> for eachLine in fobj:
print eachLine,
asdasdasd
asdasdfdgvc b
xcvsdf
sdfsdf
cxv
>>> fobj.close
14.函数
如果函数中没有 return 语句, 就会自动返回 None 对象。
接收一个文件名,输出该文件的内容函数
>>> def showFile(filename):
print '文件内容如下:'
fobj = open(filename,'r')
for line in fobj:
print line,
fobj.close
>>> showFile('d:\\test.txt')
文件内容如下:
asdasdasd
asdasdfdgvc b
xcvsdf
sdfsdf
cxv
在原有值基础上加上自己
>>> def addMe2Me(x):
return (x+x)
>>> addMe2Me(2)
4
>>> addMe2Me(4.35)
8.7
>>> addMe2Me('python')
'pythonpython'
>>> addMe2Me([-1,'abc'])
[-1, 'abc', -1, 'abc']
几乎所有的标准数据类型都支持 + 运算符, 不管是数值相加还是序列合并。