如何在前端学习 Python?
准备开发环境
python 环境
mac 和 windows,笔者都推荐使用 Anaconda来安装,类似 node、npm的多版本管理 nvm
,使用它来安装不同的python环境,切换也方便。
当然,mac用户也可以选择使用 homebrew
来安装, windows用户用 chocolatey来安装应该也可以。
编辑器选择
推荐使用 Pycharm。
起步
python2 和 python3
当前,有两个不同的Python版本:Python2和较新的Python3。需要注意的是,虽然大多数语言升级都会向下兼容,但Python不是。如果你的系统安装的是Python3,那么有些使用Python2编写的代码可能无法正确地运行。
为什么Python3 和 Python2会有这么大的区别?
Brett Cannon —— Python 的核心开发者 —— 在一次问答活动中终于做了一个合理的解释。在此之前他一直神奇的认为大家都清楚为什么 Python 3 会出现。他说:
回想起来我真是太傻了,竟然认为大部分人 —— 不管是刚接触 Python 或者已经有一段时间 —— 要么应该知道,要么有好奇心去获取一个解释或答案。但是并没有。所以我会解释一下为什么 Python 3 会存在。为什么要破坏兼容性,改变 unicode/str/bytes,使得老代码移植到 Python 3 非常困难。
最根本的原因是,在 Python 2 中文本和二进制数据是一个烂摊子。比如 'abcd' 这个表达式,在 Python 3 中,语义非常明确,就是包含四个字母的字符串,但是在 Python 2 里,可以是四个字母的字符串,也可以代表 97、98、99、100 的数组。你可以使用 print ord('a')
获取到这个字母的 ASCII。总之,在 Python 2 中,对于 str 代表的含义有两种,这改变了语言的唯一性。而在 Python 3 中答案是唯一的。
「Python之禅」里讲过,「找到一种或唯一的一种解决方案去解决问题」。文字既能代表文本数据又能代表二进制数据这很麻烦。一旦对象脱离我们的控制,就会让人变得恐慌。有人说我们可以用 Unicode,但实际中人们并不会那么做,有事还会引发不必要的麻烦。
比如在 Python 2 中,中文显示是这样的:
>>> geektime = “极客时间”
>>> geektime
'\xe6\x9e\x81\xe5\xae\xa2\xe6\x97\xb6\xe9\x9\xb4'
Python 3 就简明很多:
>>> geektime = “极客时间”
>>> geektime
'极客时间'
简化语言,移除 str 的二义性能够减少代码的出错率。避免 bug 是一件很重要的事情,但却经常被人遗忘。Python 之禅中的另一句话「清晰胜于晦涩」也表达了这个意思,歧义和隐性知识使得代码不容易沟通,并容易形成 bug。
变量和简单数据类型
变量
变量声明
python声明变量不像js,需要使用var、let、const等关键词,直接写变量名即可。
message = 'hello world';
print(message);
print
相当于我们常用的 console.log
。print
在 Python2 和 Python3 中是的使用方法不同。
print 在 Python3.x 是一个函数,但在 Python2.x 版本不是一个函数,只是一个关键字。
# python2
print message;
# python3
print(message);
命名规则
python 变量的命名和js差不多,不允许使用关键字和保留字,不允许数字开头。格式上有所区别,js 习惯使用 camelCase
小驼峰命名法,python 推荐使用 snake_case
蛇形命名法,好像 php也是采用这种方式。
局部变量和全局变量
python中声明变量一般都是局部变量,如果要在函数在使用或定义全局变量时,都需要使用 global
关键字。
num = 3;
def plusNum():
global num; // 如果不加这行,会报语法错误
num = num + 1;
字符串
字符串就是一系列字符。在 Python 中,用引号括起来的都是字符串,其中引号可以是单引号,也可以是双引号。
使用方法修改字符串的大小写
message = 'i love you';
print(message.title())
将这个文件保存为 message.py,在运行它。你将看到如下输出:
I Love You
title() 以首字母大写的方式显示每个单词。
还有其他几个很有用的大小写处理方法。如upper()、lower()。
合并拼接字符串
first_name = 'ada';
last_name = 'lovelace';
full_name = first_name + ' ' + last_name;
python 似乎没有js的那种模版字符串, 但是可以使用 %s来占位替换
'hello %s' % ('world')
输出
hello world
注意,python的隐式转换和js不同,在字符串拼接时,必要的时候要用函数str()
避免类型错误,如下面的例子。
age = 23;
message = 'Happy ' + age + 'rd Birthday';
print(message);
如果是js,这段代码是没有问题,age会被转换成string,但在python中这段代码会报类型错误。
在这个示例中,Python发现你使用了一个值为整数int的变量,但它不知道该如何解读这个值。上面这个示例,应该显示地指出你希望Python将age整个用作字符串,因此,我们可以调用函数str():
age = 23;
message = 'Happy ' + str(age) + 'rd Birthday';
print(message);
经过上述处理后,将显示你期望的消息
Happy 23rd Birthday
数字
Python中的算数运算符大体和js差不多,多了个 //
(取整除,返回商的整数部分)。
Python2.x 里,整数除整数,只能得出整数。请注意,计算整数结果时,才去的方式不是四舍五入,而是将小数部分直接删除。如果要得到小数部分,把其中一个数改成浮点数即可。
# python2.7
>>> 3 / 2
1
# python2.7
>>> 3.0 / 2
1.5
Python中没有这个问题。
浮点数
Python的浮点运算和js一样,不准确。
>>> 0.1 + 0.2
0.30000000000000004
注释
使用#
标识
# 哈喽
print('哈喽')
有的时候在 #
后面写中文注释会出现错误,可以在文件顶部添加 # -*- coding: UTF-8 -*-
。
今天就到这里,明天学 Python中的 列表。
上一篇: Golang 语言学习笔记(打卡 ✏️ 第一天)|Go 主题月
下一篇: 打卡学习--焦虑的良药
推荐阅读
-
在Linux中学习如何挂载新硬盘
-
在python机器学习中,classification_report函数用于输出模型评估报告,其中查全率的定义公式被包含
-
AI和Python学习者的福利!300本书籍在AI开发者社区等你来取
-
用Python的datetime和time模块获取实时日期和时间 - 学习如何通过strftime修改时间对象的显示格式
-
在Python里如何获取当前时间?使用time模块的方法
-
在Python中如何实现反三角函数的计算?
-
在传奇版本中如何快速获取装备?学习使用和修改GM命令的技巧!
-
常见问题汇总:在Python 3.5之后如何正确使用async/await (coroutine)
-
HHKB BT 蓝牙键盘:装逼必备利器?" 使用HHKB BT 蓝牙键盘的心得体会 在互联网的世界里,越来越多的人都追求个性化和独特性,无论是穿着打扮,还是使用的电子产品,都能看到人们的创意和想法。最近我在网上看到了一款备受推崇的机械键盘——HHKB BT 蓝牙键盘。 HHKB BT 蓝牙键盘是一款由日本知名键盘制造商 Filco 生产的产品,被誉为程序员的信仰。其最大的特点就是采用了静电容轴,按键更加灵敏且耐用。此外,HHKB BT 蓝牙键盘还具有非常紧凑的设计,仅60个键位,非常适合长时间工作或编程的人士使用。 然而,当我收到 HHKB BT 蓝牙键盘并开始使用时,我发现了一些问题。首先,数字键整体向右移动了一位,这对于习惯使用数字键的人来说是一种困扰。其次,HHKB BT 蓝牙键盘的价格较高,并且只能通过代购购买,售后服务也不完善。 尽管存在这些问题,我还是对 HHKB BT 蓝牙键盘产生了浓厚的兴趣。我尝试将数字键重新排列,使其更适合我的使用习惯,同时我也开始学习如何更有效地使用 HHKB BT 蓝牙键盘进行编程。 总的来说,HHKB BT 蓝牙键盘是一款非常专业且高效的机械键盘,如果你是一位需要长时间使用键盘的开发者或者程序员,那么它绝对值得你考虑。当然,高昂的价格和售后服务的问题也需要你权衡一下是否值得投资。
-
使用 Docker 学习笔记:在 CentOS 7 环境下,Net Core 项目如何在容器中与 MSSQL 容器建立连接