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. 命令行交互模式:

file

2. 集成开发环境(PyCharm):

file

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

The End

posted @ 2021-08-27 21:01  ya_ong  阅读(139)  评论(0编辑  收藏  举报