很简单基础的东西,自己看书顺便记录下,方便以后回顾
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字符串被定义为引号之间的字符集合,成对的单引号或成对的双引号
得到子字符串
索引运算符 []
(int index)
方法
切片运算符 [:]
类似java String的(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
- 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']
几乎所有的标准数据类型都支持 + 运算符, 不管是数值相加还是序列合并。