文科生快速入门python(二) | 编程基础知识

文科生快速入门python(二)|编程基础知识

From:复习Python的基础知识,顺便学习某大牛的python付费专栏

For:python入门,理解python在编程语言、数据开发等更大范围内的定位。


Why python?

为什么现在Python这么火?首先看下图:

image-20200131192231967

这是2020年初,编程语言的总体发展趋势图。可见,自2015年开始,python一路爬升,超越C++、C#、PHP等语言。成为第三大编程语言。

What does python do

应用广泛

如今Python 语言使用率越来越高,使用 Python 不仅可以做 GUI 开发、Web 开发,还能进行数据预处理、数据探索性分析(EDA),更是进行数据挖掘、机器学习、深度学习等的首选语言。

上手快

Python有相对较少的关键字,结构简单,和一个明确定义的语法。因此,其开发效率高,学习难度也更低。

扩展性强
  • 基于 Python 的包枝繁叶茂,遍地开花。其丰富的库具有跨平台特性,在UNIX,Windows和Macintosh兼容很好;

  • 开放源代码,可以移植到多个平台;

  • 可以将Python嵌入到C/C++程序,也可以使用C或C++完成封装程序,然后Python调用。

大数据友好
  • Python提供所有主要的商业数据库的接口;

  • 支持互动模式,可以从互动的测试和调试代码片断,适合大数据运算。

总之,python好用、高效且应用广泛,值得学习和研究。

What ’s the python?

The history of python.

Python 是由 Guido van Rossum 在八十年代末和九十年代初,在荷兰国家数学和计算机科学研究所设计出来的。

Python 本身也是由诸多其他语言发展而来的,这包括 ABC、Modula-3、C、C++、Algol-68、SmallTalk、Unix shell 和其他的脚本语言等等。像 Perl 语言一样,Python 源代码同样遵循 GPL(GNU General Public License)协议。

现在 Python 是由一个核心开发团队在维护,Guido van Rossum 仍然占据着至关重要的作用,指导其进展。

Python features

Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。

Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。

  • Python 是一种解释型语言: 这意味着开发过程中没有了编译这个环节。类似于PHP和Perl语言。
  • Python 是交互式语言: 这意味着,您可以在一个Python提示符,直接互动执行写你的程序。
  • Python 是面向对象语言: 这意味着Python支持面向对象的风格或代码封装在对象的编程技术。
  • **Python 是初学者的语言:**Python 对初级程序员而言,是一种伟大的语言,它支持广泛的应用程序开发,从简单的文字处理到 WWW 浏览器再到游戏。

python 四大基本语法

  • 变量命名规则

  • 缩进原则

  • 特殊关键字

  • 特殊运算符

命名规则
一般规则
  • 允许包括英文、数字以及下划线(_),不能以数字开头

  • 名称区分大小写

  • 类变量若以单下划线(_)开头,代表不能直接被访问,类似于 C# 的受保护型变量(protected),表示不能通过 import module_name 而导入。

  • 类变量若以双下划(__)开头,表示为类的私有成员,不能被导入和其他类变量访问。以双下划开头和双下划线结尾的变量是 Python 里的专用标识,有特殊的身份。

命名习惯

一般遵守蛇形命名法(snake case),形如book_store_count 意思为书的库存量,get_url意思为获取链接,这样方便阅读和维护。当然,不遵守的话也可以,因为这只是习惯。

缩进规则

Python 最具特色的地方就是用缩进代替 Java、C++ 中的 {},缩进的层级结构表示代码的逻辑层次。

Python 的缩进方法,一般为 4 个字符。

下面代码,通过创建一个 Book 类,__add__ 方法计算两类书的库存量和。

class Book(object):
    # 定义类的参数
    def __init__(self,book_id, book_name, book_store_count):
        self.book_id = book_id
        self.book_name = book_name
        self.book_store_count = book_store_count
    # 重写加法操作    
    def __add__(self,book):
        return self.book_store_count + book.book_store_count

# 创建两个 Book 类的实例:
python_intro_book = Book(1,'python入门书',100) 
ml_intro_book = Book(2,'机器学习入门书',200)
# 求两本书的总销量
sales_cnt = python_intro_book + ml_intro_book
print(sales_cnt) #结果是300
  • 代码行 class Book(object) 与代码行 # 定义类的参数 的缩进,此处为 4 个字符;
  • 代码行 def __add__(self,book):return 所在行缩进也是 4 个字符。

通过这种层级结构,展现代码的逻辑层次。

关键字规则

Python 有 35 个关键字,关键字又叫保留字,自定义变量名不能与它们重复。

所有 Python 的关键字只包含小写字母。

andexecnot
assertfinallyor
breakforpass
classfromprint
continueglobalraise
defifreturn
delimporttry
elifinwhile
elseiswith
exceptlambdayield
运算规则

Python 的运算符包括:

+       -       *       **      /       //      %      @
<<      >>      &       |       ^       ~       :=
<       >       <=      >=      ==      !=

大部分运算符应该被熟知,重点介绍 3 个比较特殊的://、``、:=。读作取整、幂、海象。

// 用于两个数值相除且向下取整,与 Python 的 math 模块中floor 功能相似:

In [1]: 5//2
Out[1]: 2
In [2]: 5//4.5
Out[2]: 1.0

** 用于幂运算:

In [1]: 2**3
Out[1]: 8

:= 是在 2019 年,Python 3.8 版本里,刚刚才被支持的运算符,被形象地称为“海象运算符”。

n = len(a)
if n > 10:
    print(f"{n}大于10")

如果使用“海象运算符”,写法上更为精简:

if (n := len(a)) > 10:
    print(f"{n}大于10")

Python 比较运算符还支持链式比较,应用起来更加方便,比如:

i = 3
print(1 < i < 3) # False
print(1 < i <= 3) # True

另外,运算符 @ 用于装饰器功能。

今天更新到此,主要是python的简介,明天学习python易错易漏的基础知识。

参考资料:

Python 全栈 60 天精通之路

阿里云大学-python完全自学手册

文字编辑:数据猿Riggle
本文首发于vx公众号:文科数据员

这里是文科数据员
探索新文科的可计算范式
欢迎关注公众号,一起加入文科码农群
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值