一个语言的本质是单词及相应的动词形成的语句,及句子的含义
任何一种“语言”,都是各样“语言特性”的组合。打个比方吧,一个程序语言就像一台电脑。它的牌子可能叫“联想”,或“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")
|