每日一课 | Python的四大基本语法

02.

Python的四大基本语法

大家好,我是小C,上期给大家分享带来——详解Python的两大特性

本期分享内容:Python的四大基本语法

本专栏小C邀请的是zglg (某大厂算法工程师)和Alicia (美国顶尖学府 AI 博士后)两位为我们分享Python全栈精通之路。

作者有话说

很多人问为什么要写这个专栏?


因为我也有过那段“自学” Python 的迷茫时期,所以深知一个好的系统学习规划和老师讲解,是能够达到事半功倍省下我们程序员更多青春的关键。


别的老师在介绍知识点时都会说“这东西是什么”,但我不想这样做。


我觉得“为什么这东西是这样”或者“在什么场景适应什么需求有什么好处才会用这东西”,反而更能让你们对知识本身会有更深刻的理解。

PYTHON

Python的四大基本语法

四大基本语法主要从变量命名基本规则,等方面总结 Python 的基本语法规则。

命名规则

Python 的变量命名规则主要包括两条:

  • 允许包括英文、数字以及下划线(_),不能以数字开头。

  • 名称区分大小写。

特别说明以下划线开头的变量是有特殊意义的:

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

  • 类变量若以双下划(__)开头,表示为类的私有成员,不能被导入和其他类变量访问。

  • 以双下划开头和双下划线结尾的变量是 Python 里的专用标识,有特殊的身份。如 Python 自定义类中都包括__init__和__add__方法,如果不重写__add__去执行两个类加法操作,程序会抛TypeError异常。只有重写后,才能正常执行加法操作。

Python 变量命名习惯一般遵守蛇形命名法(snake case):

  • 一般变量命名,book_id,book_store_count;

  • 类名首字符为大写,如Python内置模块collections.abc中的Iterable类,我们自定义的Book类等;

  • 类方法名:get_store_count();

  • 其他特殊变量,全部大写M_PI,MAX_VEHICLE_SPEED

注:这与Java命名方法不同,Java最典型的命名方法是驼峰命名法(camelcase)。

缩进原则

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

比如,自定义一个Book类,重写__add__方法计算两类书的库存量和。Python 的缩进方法,一般为4个字符。

代码行class Book(object) 与代码行# 定义类的参数的缩进,此处为 4 个字符;代码行def __add__(self,book):与return所在行缩进也是 4 个字符;通过这种层级结构展现出代码的逻辑层次。

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
store_count = Book(1,'python入门书',100) + Book(2,'机器学习入门书',200)print(store_count) # 300

缩进格式,行间空行数,变量和等号空格等 Python编码规范参考PEP8. autopep8包遵循PEP8的所有规范,安装此包后可自动实现遵循编码规范,推荐使用。

特殊关键字

Python 有 35 个关键字:

False      await      else       import     passNone       break      except     in         raiseTrue       class      finally    is         returnand        continue   for        lambda     tryas         def        from       nonlocal   whileassert     del        global     not        withasync      elif       if         or         yield

自定义变量名不能与它们重复。

常用且不同于其他常用语言 c++和 Java 的关键字,如:

  • True和False 用于表示值的真假,在Java中true和flase;

  • 逻辑反操作 Python 使用not而 Java 是!;

  • None表示空值,如数据库的字段取值为空,Java中null;

  • Python 两个条件同时满足使用 and而 Java 是&&;

  • 两者满足其一,Python 使用or而Java使用||;

  • Python 使用elif而 Java 是else if;

其他比较特殊的关键字,如:

  • del用于删除可迭代对象中某个元素;

  • def用于定义函数;

  • 带yield用于定义生成器(generator)函数;

  • global和nonlocal一种应用是 Python 函数式编程的闭包场景;

  • pass一种应用是 Python 中接口定义,也是 Python 语言特有的一个关键字。

这些关键字的用法会在后续文章中更为详细的介绍,在此先只要对它们形成一个整体上的认识就行。

特殊运算符

Python 的运算符包括:

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

大部分运算符应该被熟知,重点介绍 3 个比较特殊的://, **, :=

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

In [1]: 5//2Out[1]: 2In [2]: 5//4.5Out[2]: 1.0
  • **用于幂运算:

In [1]: 2**3Out[1]: 8
  • :=是 2019 年 Python3.8 版本里刚刚才支持的运算符,形象的称为海象运算符.

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

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

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

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

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

另外,运算符 @ 用于装饰器功能,下面会介绍一种使用场景。

小结

对于Python的 学习,首先认识 Python 两大特征,动态语言、强类型,动态指代码运行时才被编译器一行一行翻译执行,强类型指被绑定一个类型后便不能修改,不能与其他类型混用。

四大基本语法,总结了 Python 的命名规则,缩进原则,特殊关键字,特殊运算符,为后面的学习打下基础。

今日内容有get吗,欢迎各位留言讨论!

下期预告:Python四大数据类型总结

以上专栏均来自CSDN GitChat专栏《Python全栈60天精通之路》,作者zglg、Alicia,专栏详情可识别下方二维码查看哦!

了解更多详情

可识别下方二维码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值