前提条件:本人从事java工作3年左右,由于大数据形势的驱动下,准备从事大数据行业,以python作为起点向大数据进军。
本系列文章将把我从java转战python的学习过程做一个记录。
从java和python语法学起。结合java语法和python语法对比着学习。
没有大括号,没有类型限制(缩进)
/和// /表示除,不取整 //整除,取整,省略小数
__future__模块 一些新特新会先放到此模块中
** 求幂
十六进制 0xAF13D 以0x开头
八进制 07601 以0开头
input 输入函数,输入的是一个表达式
row_input 输入的是一个字符串,3.0取消了?
类型转换:str(1234),long()....
math和cmath模块 math简单的数学,cmath复杂的数学(包含复数)
#注释
字符串表示 "abc" 'abc'单引号和双引号都是可以的
repr和str区别 repr('表达式') str('字符串强转') 都能返回字符串,形式不同
'''跨行的字符串,可以用三引号表示'''
\ 反斜线的作用,可以代码换行
Unicode字符串 u'以字符u开头的Unicode字符串'
列表和元组
序列 sequence一连串数字或者符号可以认为是java中的collection接口
6个内建序列:列表,元组,字符串,Unicode字符串,buffer对象,xrange对象
元组和列表 元组里面的内容不能修改 (a,)[1,2,3]
通用序列操作:索引,分片,加,乘,检查,len(),max(),min(),迭代器
负索引 -1最后一个seq[-1:]
乘 [a]*3 等于[ a,a,a]
seq[3:9] 取序列seq第4位到第9位,前开后闭,包含索引3的元素,不包含索引9的元素
seq[ 起始索引 : 结束索引 : (步长默认1,可以为负数 )]
相加,类似于拼接
[None]*10 初始化空列表10个长度
'a' in seq 检查'a'在seq中
list,tuple 列表和元组的英文
删除元素 del list[2] 试验下
分片赋值 list[2:]=[1,2,3,4,5,8]将seq索引2开始的值进行替换;list[2:2]=[1,2,3]插入;list[2:3]=[]删除
list[0,0]=[123]首部插入 list[-1,-1]=[234]尾部插入 试验下
[1,2]+[3,4]和[1,2].append([3,4]) 效率的区别 [1,2]+[3,4]返回的新的序列,[1,2].append([3,4])在[1,2]基础上进行扩充
list.count(x)
list.index(元素) 如果元素未找到,抛出异常
list.insert(3,[a,b])
list.pop() 尾部删除并返回对应的值 seq.pop(0)首部删除返回 试验下
list.remove(元素) 删除第一个匹配的元素 若元素不存在seq中抛异常
list.reverse()
list.reversed() 返回一个逆向迭代器
list.sort()和 list.sorted()sorted返回一个新的列表,sort修改原列表
list.sort(cmp,reverse=True) cmp函数引用,cmp是自定义的函数,以什么来排序
单元素元组 1, (1,) 元组不可以修改