由于本人已经java开发,所以这是一个快速学习python的系列文章,只会突显一些java与python不同的地方
---------------------
Python允许你同时为多个变量赋值。例如:
a = b = c = 1
a, b, c = 1, 2, "john"
标准数据类型
Python3 中有六个标准的数据类型:
- Number(数字)
- String(字符串)
- List(列表)
- Tuple(元组)
- Set(集合)
- Dictionary(字典)
Python3 的六个标准数据类型中:
- 不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
- 可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。
1.Numbers(数字)
int long float . 这三个与java类似
complex 复数,就是数学的复数 complex(a,b) 或者 a + bj a是虚部,b是实部
2.String(字符串)
a ="12321" a[2]='1' print(a)
这种代码就会报错
python三引号允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符。实例如下
para_str = """这是一个多行字符串的实例
多行字符串可以使用制表符
TAB ( \t )。
也可以使用换行符 [ \n ]。
"""
print (para_str)
输出的结果是:
这是一个多行字符串的实例
多行字符串可以使用制表符
TAB ( \t )。
也可以使用换行符 [ \n ]。
str自带函数,这里之列举java中没有的
maketrans()
intab = "aeiou"
outtab = "12345"
trantab = str.maketrans(intab, outtab)
str = "this is string example....wow!!!"
print (str.translate(trantab))
结果是把str中的aeiou替换成12345,注意intab和outtab要一样长
3.List (列表) java中的List
[1,3,3]
列表可以当栈用,也可以当队列用,列表中有一个比较牛B的方法,叫做推导式
vector= [1,2,3,4]
vector2 =[(4*x,3*x) for x in range(len(vector))]
等价于下面
list =[]
for x in vector:
list.append((4*x,3*x))
print(list)
vec =[1,2,3,4,5]
vec2=[3*x for x in vec if x > 3]
等价于
list=[]
for x in vec:
if x>3:
list.append(3*x)
4.tuple元组 java中的flink中的Tuple
(1,2,3,)
元组的内置函数只有count 长度和index 类似java中的String的index
5.set集合 就是java中的Set
{1,2,3}
空集合不能用{}表示,要用set()
s.update( x )也可以更新,比add功能更强
s.discard( x )可以用来删除元素,代替s.remove( x )
6.字典 java中的Map
dict= {"1":"2","2":"3"}
put/update 操作 dict['123'] =123
delete操作 del dict['Name']
字典的遍历:
//返回key和索引
knights = {'gallahad': 'the pure', 'robin': 'the brave'}
for k,v in enumerate(knights):
print(k,v)
//返回kv键值对
knights = {'gallahad': 'the pure', 'robin': 'the brave'}
for k,v in knights.items():
print(k,v)
//组合两个列表
names = ['zhangsan','wangwu', 'zhaoliu']
ages = [12, 23, 54]
list=[]
for q,a in zip(names,ages):
list.append({'name':q,'age':a})
print(list)
----------------------------------
isinstance 和 type 用于判断类型
- type()不会认为子类是一种父类类型。
- isinstance()会认为子类是一种父类类型。
-
class A: pass class B(A): pass print(isinstance(B(),A)) ------true print(type(B())==A) ------false
------------------------
运算符
1.Python逻辑运算符
||运算符 ||逻辑表达式||java中含义||
||and ||x and y || && ||
|| or ||x or y || || ||
|| not ||not x || ! ||
2.Python成员运算符
||运算符 ||逻辑表达式||
||in ||是否在集合中
||not in|| 不在集合中||
3.Python身份运算符
||运算符 ||含义 ||java中含义||
||is ||is 是判断两个标识符是不是引用自一个对象 || == ||
||not is||s not 是判断两个标识符是不是引用自不同对象 || !== ||
is 和= 区别相当于java中 == 和equals区别
-----------------------------------