Python入门基础+小套路

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. 命令行交互模式:
Python入门基础+小套路
文章图片

2. 集成开发环境(PyCharm):
Python入门基础+小套路
文章图片

两种方式各有优缺点,简单说来就是,交互模式简洁,功能强大,但是难操作,要想吃鸡全靠记,多行编码复杂;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")

【Python入门基础+小套路】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 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

The End

    推荐阅读