分享

什么是Python之7语言的构成单词函数(在Python中如何表明这是一堆语句块呢基本上是靠缩进)

 山峰云绕 2023-04-23 发布于贵州

https://www.toutiao.com/article/7225081987504259588/?log_from=7be88d3e32d77_1682232454088

     (在Python中如何表明这是一堆语句块呢基本上是靠缩进)

一个语言的本质是单词及相应的动词构成的语句,及句子的含义

任何一种“语言”,都是各种“语言特性”的组合。打个比方吧,一个程序语言就像一台电脑。它的牌子可能叫“联想”,或者“IBM”,或者“Dell”,或者“苹果”。那么,你可以说苹果一定比 IBM 好吗?你不能。你得看看它里面装的是什么型号的处理器,有多少个核,主频多少,有多少 L1 cache,L2 cache……,有多少内存和硬盘,显示器分辨率有多大,显卡是什么 GPU,网卡速度,等等各种“配置”。有时候你还得看各个组件之间的兼容性。

这些配置对应到程序语言里面,就是所谓“语言特性”。举一些语言特性的例子:

  • 变量定义

num  = 1  
name = "jack"
 # 定义了一个变量 名为num它的值是 数字 1
 # 定义了一个变量 名为name它的值是 字符串  "jack"

如果我想定义一个变量,什么都值都不想给呢?

noneValue =None
>>> num = 1
>>> name = "jack"
>>> noneName = None
>>> type(num)
<class 'int'>
>>> type(name)
<class 'str'>
>>> type(noneName)
<class 'NoneType'>
>>>

思考:

如何要定义一个变量小数,或者无限小数应该怎么办

如果要定义一堆数据的集合要怎么办?

  • 算术运算

 #  比如j 加减乘除
 >>> one =1
>>> two =2
>>> one + two
3
>>> 1 + 2
3
>>> 
  >>> 1/2
0.5
>>> one /two
0.5
>>>
  • for 循环语句,while 循环语句

>>> while i < 10:
            print(i)
            i = i + 1


1
2
3
4
5
6
7
8
9
  • 函数定义,函数调用

>>> def max(one,two):
              if one > two :
                return one
              else:
                return two

#  计算两个数字的大小
>>> max(1, 2)
2
>>>
  • 递归

  • 静态类型系统

  • 类型推导

  • lambda 函数

  • 面向对象

class Person:
    def __init__(self):
          pass

    def say(self,words):
         print("hello" ,words)

p = Person()
p.say(" world ")
  • 垃圾回收

  • 指针算术

  • goto 语句

程序语言也是一样的道理。对于初学者来说,其实没必要纠结到底要先学哪一种语言,再学哪一种。

每一种语言里面必然有一套“通用”的特性。比如变量,函数,整数和浮点数运算,等等。这些是每个通用程序语言里面都必须有的,一个都不能少

在这个过程中,随着需求的出现,他可能会问这样的问题:

  • 这个语言的“变量定义”是什么语法,需要“声明类型”吗,还是可以用“类型推导”?

  • 它的“类型”是什么语法?是否支持“泛型”?泛型的 “variance” 如何表达?

  • 这个语言的“函数”是什么语法,“函数调用”是什么语法,可否使用“缺省参数”?

掌握关键语言特性,忽略次要特性

printf 的作业。学生写出几百行的 printf,却不理解变量和函数是什么,甚至连算术语句和循环语句都不知道怎么用!这就是为什么很多初学者感觉编程很难,我连 %d,%f,%.2f 的含义都记不住,还怎么学编程!

这里举一些次要语言特性的例子:

  • C 语言的语句块,如果里面只有一条语句,可以不打花括号。

  • Go 语言的函数参数类型如果一样可以合并在一起写,比如 func foo(s string, x, y, z int, c bool) { ... }

  • Perl 把正则表达式作为语言的一种特殊语法

  • JavaScript 语句可以在某些时候省略句尾的分号

  • Haskell 和 ML 等语言

在Python中如何表明这是一堆语句块呢,基本上是靠缩进

大家看到这两行语句了么,print前面的空格不一样,会导致程序出错,

因为你的程序这两句,无法决定它们是不是一个语句块

def say():
	   	print("11111")
	 print("11222")
def say():
    print("11111")
    print("11222")

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多