Python 是世界上最最最风行的编程语言之一
Python 曾经间断多年占据各种语言的排行榜第一位,在数据分析畛域和 R 语言,之前始终是不分伯仲,但在最近几年,Python 受欢迎水平越来越高,越来越多的 Python 剖析工具库像雨后春笋般冒了进去,很多开源的数据分析库受到数据分析师们的欢送。
从数据采集、荡涤、解决、剖析、报表、数据挖掘、机器学习,Python 都提供了成熟的解决方案,能够说学会了 Python,能够在数据分析畛域上天入地。事实上,Python 的一些罕用库,比方像数据分析三剑客(Numpy/Pandas/Matpolib)等等,曾经成为各大互联网企业的数据分析师们日常必备工具。
Python 在各个领域都有着广泛应用,包含数据分析、服务器开发、运维开发、人工智能开发,甚至少儿编程也开始引入 Python。
可用版本目前有两个:
1. Python 2
2. Python 3
这两个版本只存在一些细微差别,前者面上技术市场较早,遍及度较高,社区比拟沉闷,但 Python 官网已于 2020 年 1 月 1 日起不再保护,因而当初主推 Python 3,取而代之只是工夫的问题,好在区别不大,还是举荐开发者用 Python 3 吧。
从开发环境来说次要有两种:
1. 命令行交互模式:
2. 集成开发环境(PyCharm):
两种形式各有优缺点,简略说来就是,交互模式简洁,功能强大,然而难操作,要想吃鸡全靠记,多行编码简单;IDE 环境,命令直观,易上手,需额定软件或插件反对,哪里不会 点哪里。
编码方式没有好坏之分,择其 “擅” 者而从之,兴许命令行模式下的几个字符能实现的性能,在 IDE 里要点半天,兴许 IDE 里的快捷命令菜单点一下就能预写出大段难记的命令。比方 Vim、Lua、Scala,亦或 spark-shell、hbase shell、zkCli.sh,再比方 Eclipse、IEDA、Visual Studio、VS Code、XCode,交互模式就是技术的 里子 ,IDE 就是技术的 体面,里外都拿下,那就成大佬了。
总之交互模式下,就是与技术外围的零距离接触,IDE 模式下,就是隔山打牛,利器加身,老手先用 IDE,经验丰富了再钻研交互模式,定会发现奥妙无穷。
接入正题
变量申明篇
x, y = 123,456
print(x, y)
123 456
# 快捷替换
x, y = y, x
print(x, y)
456 123
输入篇
print("Hello World")
Hello World
print("Hello" , "World")
Hello World
print("Hello" + "World")
HelloWorld
print("My age is", 18)
My age is 18
#ERROR
print("My age is" + 18)
Traceback (most recent call last):
File "F:/lagou/TestPython/helloworld.py", line 1, in <module>
print("My age is" + 18)
TypeError: must be str, not int
print(“My age is ” + str(18))
My age is 18
数据类型篇
字符串类型
sentence = "This's a very long long long \
long long sentence............"
print(sentence)
This’s a very long long long long long sentence…………
paragraph = """This is line 1,
this is line 2,
this is line 3.
The End.
print(paragraph)
"""
*
This is line 1,
this is line 2,
this is line 3.
The End.
*
空值类型 None
temp = None
print(temp)
None
布尔类型转换
对于数值类型,所有的非零值转换为 True, 只有零值才转换为 False
# 以下值都为 True
print(bool(1) )
print(bool(-1) )
print(bool(255) )
print(bool(0.0000001) )
print(bool(-99.99) )
# 上面的值为 False
print(bool(0) )
print(bool(0.0) )
对于任何非空的字符串,转换为布尔值都是 True
# 这是一个空字符串,转换后果为 False
print(bool("") )
# 转换后果为 True
print(bool("abc") )
# 这是一个只蕴含一个空格的字符串,转换后果为为 True
print(bool(" ") )
*
False
True
True
*
空值转换为布尔值永远都是 False
print(bool(None) )
False
其余类型 –> 字符串
str(True) # 后果是 'True'
str(False) # 后果是 'False'
str(None) # 后果是 'None'
str(123) # 后果是 '123'
字符串 –> 数字
int("100") # 后果为 100
int(3.14) # 后果为 3
float(100) # 后果为 100.0
四舍五入 round
# 保留小数点后三位,因为第四位是 5,所以后果是 3.142
round(3.1415926, 3)
运算符篇
除和整除
print(4 / 2) # 后果是 2.0
print(5 / 2) # 后果是 2.5
print(5 // 2) # 整除 后果是 2
字符串应用运算符
print("apple" + "apple" + "apple")
apple apple apple
print("apple" * 5)
apple apple apple apple apple
赋值运算符
x = 2
y = 3
x **= 3
print(x)
8
逻辑运算符 and or not
条件判断篇
条件夹在关键字和冒号(:)之间
缩进决定作用域
elif 相当于 java 的 else if
score = 100
if score >= 60:
if score < 70:
print("您的考试成绩为合格")
elif score < 90:
print("您的考试成绩为良好")
else:
print("您的考试成绩为优良")
else:
print("您的考试成绩不及格")
简洁复合条件
age = 22
if 18 < age < 60:
print("你曾经不是个孩子啦,该去工作啦")
pass 是 Python 的关键字,示意什么也不做
result = None
if result:
pass
else:
print("什么播种都没有")
0 值、None 和空字符串转换为布尔值后都是 False
循环篇
wihle 循环
lap = 0
while lap < 10:
lap += 1
print("我跑完了第" + str(lap + 1) + "圈")
*
什么播种都没有
我跑完了第 2 圈
我跑完了第 3 圈
我跑完了第 4 圈
我跑完了第 5 圈
我跑完了第 6 圈
我跑完了第 7 圈
我跑完了第 8 圈
我跑完了第 9 圈
我跑完了第 10 圈
我跑完了第 11 圈
*
for 循环
seq = "hello"
for s in seq:
print(s)
*
h
e
l
l
o
*
for i in range(5):
print(i)
*
0
1
2
3
4
*
循环嵌套
# 指定长方形的宽和高
width, height = 10, 5
# 因为是从上往下开始打印,所以先遍历高度
for i in range(height):
for j in range(width):
print("*", end="")
print()
**********
**********
**********
**********
**********
for i in range(5):
for j in range(i + 1):
print("*", end="")
print()
*
*
**
***
****
*****
for i in range(1, 10):
for j in range(1, i + 1):
print("%s*%s=%s" % (j, i, i * j), end=" ")
print()
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81