前言

我本是java派的,已经有几年了,直接也接触过其他语言,比如从最早的汇编语言到高级语言始祖的C;
但是近来越发觉得python很火,现在以我的视角开始写入门python基础,算是入坑了;
我的计划是这个系列要更契合那些有java基础的同胞们,用你们已有的java基础,用对比的方式,更快的入手python

1.python介绍

python的版本现在主要分为python3.0和python3.0以下,因为相对于Python的早期版本,python3.0是一个较大的升级。为了不带入过多的累赘,Python 3.0在设计的时候没有考虑向下兼容。

后面我们以python3.0为例

2.python的一些简单的常识

1.控制台打印语句,

对于java来说,为:System.out.println();
python为:print()

2.定义一个变量

java是有8种基本类型或者集合或者自定义对象作为引用
python是不用引用的,直接定义就好,python会自动识别类型
举个例子:

java:
	int a = 1;
	String b = "hello!";
python:
	a = 1
	b = "hello!"

3.类型

java中有8大基本类型和list,set,map,数组,String
python中有数字,字符串,列表,元组,字典

字符串:
字符串可以说是java开发中最常用到的了, String str = "hello"
还有字符串的截取,拼接等等,甚至可以说是增删改查样样都是手到擒来

python中的字符串,也是增删改查,但方式稍有不同:

# 字符串截取
a = "hello"
print(a)  # hello
print(a[0])  # h
print(a[0:1])  # h
print(a[0:2])  # he
print(a[0:5])  # hello
print(a[:5])  # hello

# 字符串in  not in
if ("h" in a):
    print("h in", a)
else:
    print("h not in", a)

if ("g" not in a):
    print("g not in", a)
else:
    print("g in", a)

# 字符串的三引号
para_str = """这是一个多行字符串的实例
多行字符串可以使用制表符
TAB ( \t )。
也可以使用换行符 [ \n ]。
"""
print(para_str)

# 字符串的转义
print("abc\ndef")
print(r"abc\ndef")

# 字符串的格式化
print("我叫%s,今年%d岁" % ("张三", 30))
数字

java中有byte,short,int,long,float,double,是按照占用空间和空间存储来严格划分
python中就int和float,代表一切了,这有点像js中的风格,业内称为弱引用

元组

python的元组,像java的list,但元素不可变
作为参数时,前面加*
使用: “aa”,“bb”,"cc"或 *range(10)

# 元组定义用小括号,逗号隔开,元组内元素不可更改,其他功能与列表类似
tup1 = ("aa", "bb", 123, 456)
#
# tup1[0] = "zz"  # 这行会报错
# print(tup1)

# 元组中只有一个元素的时候,元素后面需加上逗号,否则会被认为其他类型
tup2 = (2)
print(type(tup2))  # <class 'int'>
tup3 = (2,)
print(type(tup3))  # <class 'tuple'>
列表

python的列表,就像java的List集合

# 列表定义用大括号,逗号隔开,获取某个元素,遍历
list1 = ["aa", "bb", 123, 456]
print(list1[0])  # aa
print(list1)  # ['aa', 'bb', 123, 456]
for x in list1:
    print(x)

# 列表尾部增加元素
list1.append("cc")
print(list1)  # ['aa', 'bb', 123, 456, 'cc']

# 删除某个固定index的元素
del list1[4]
print(list1)  # ['aa', 'bb', 123, 456]

# 修改
list1[0] = "zz"
print(list1)  # ['zz', 'bb', 123, 456]
字典

python的字典,就像java的Map集合

作为参数时,前面加**
使用: name=aa 或 **{“name”:“aa”}

# 字典就是{}定义包住,里面是键值对,键值对直接逗号隔开,键与值冒号隔开
# 值可以是任意对象
# 键可用数字,字符串,或者元组,不能用列表
# 键不可重复,若定义重复,后面的会覆盖前面的值
dic1 = {"aa": 11, "bb": 22, "aa": 33}
print(dic1)  # {'aa': 33, 'bb': 22}
# 字典遍历
for x in dic1:
    print(x)
    print(dic1[x])
集合

python的集合,感觉就像java的Set集合

# 集合(set)是一个无序的不重复元素序列
# 可以使用大括号 { } 或者 set() 函数创建集合
# 注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典
# set()中只能创建一个,但可以放一个元组
s1 = {"aa", "bb", "cc"}
s2 = set(("aa", "bb", "cc"))
print(s1)  # {'cc', 'bb', 'aa'}
print(s2)  # {'cc', 'bb', 'aa'}

# 增
s1.add("dd")
print(s1)  # {'cc', 'dd', 'bb', 'aa'}
# 删,若元素不存在会报错
s1.remove("dd")
print(s1)  # {'cc', 'bb', 'aa'}
# 删,若元素不存在不会报错
s1.discard("dd")
print(s1)  # {'cc', 'bb', 'aa'}
# 随机删一个元素
s1.pop()
print(s1)
# 清空
s1.clear()
print(s1)  # set()

定义一个函数

def hello():
	print("hello")
#参数可以默认值,但必须放在最后面
def hello(name,age=18):
	print("hello")
#调用可以不指定默认参数
hello(zhangsan")
#这种参数的调用比较特殊:
def hello(*,name,age):
	print("hello")
#调用必须指定形参名字
hello(name="zhangsan",age=18)
#入参必须是字典类型
def hello(**name):
	print("hello")
#调用
hello(name="zhangsan")
hello(**{"name":"zhangsan"})
#入参必须是元组类型
def hello(*name):
	print("hello")
#调用
hello("zhangsan","lisi","wangwu")
hello(*range(10))
#匿名函数
a = lambda x,y:x+y
#等同与下面这个普通函数
def a(x,y):
	return x+y

其他的方法调用,和java基本一样

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐