代码较长,建议使用电脑阅读本文。
10 分钟入门 Python 本文中使用的是Python3
如果你曾经学过 C 语言,阅读此文,相信你能迅速发现这两种语言的异同,达到快速入门的目的。下面将开始介绍它们的异同。
Python 与 C 语言基本语法对比 Python 使用空格来限制代码的作用域,相当于 C 语言的{ }
。
第一个程序 Hello,World! C 语言 1 2 3 4 5 6 7 8 #include <stdio.h> int main () { printf ("Hello,World!" ); return 0 ; }
Python
怎么样,是不是已经感受到 Python 的精巧了呢。
输入输出 C 语言 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 #include <stdio.h> int main () { int number; float decimal; char string [20 ]; scanf ("%d" , &number); scanf ("%f" , &decimal); scanf ("%s" , string ); printf ("%d\n" , number); printf ("%f\n" , decimal); printf ("%s\n" , string ); return 0 ; }
Python 1 2 3 4 5 6 7 number = int(input()) decimal = float(input()) string = input() print(number) print(decimal) print(string)
如果你尝试自己写一个 Python 循环输出语句,你肯定会发现 Python 的输出默认的换行的,如果不想让它换行,可给end
参数复制""
,例如
连续输出不换行 1 2 for i in range(0 , 10 ): print(i, end="" )
代码注释 C 语言 1 2 3 4 5 6 7 8 9 10 11 12 13 14 #include <stdio.h> int main () { }
Python 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ''' print("单引号注释多行") print("单引号注释多行") print("单引号注释多行") print("单引号注释多行") ''' """ print("双引号注释多行") print("双引号注释多行") print("双引号注释多行") print("双引号注释多行") """
基本运算 C 语言 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 #include <stdio.h> int main () { int Result; int a = 10 , b = 20 ; Result = a + b; printf ("%d\n" , Result); Result++; ++Result ; printf ("%d\n" , Result); Result = b - a; printf ("%d\n" , Result); Result--; --Result; printf ("%d\n" , Result); Result = a * b; printf ("%d\n" , Result); Result *= a; printf ("%d\n" , Result); Result = b / a; printf ("%d\n" , Result); Result /= a; printf ("%d\n" , Result); }
Python 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 a = 10 b = 20 result = a + b print(result) result = a - b print(result) result = a * b print(result) result *= a result = b / a print(result) result /= a print(result)
注意:Python 没有自加,自减运算符,即i++
、++i
、i--
、--i
,其他运算符基本与 C 语言相同。
判断语句 C 语言 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 #include <stdio.h> int main () { int a = 1 , b = 2 , c = 1 ; if (a == b) { printf ("a == b" ); } else if (a == c) { printf ("a == c" ); } else { printf ("error" ); } }
Python 1 2 3 4 5 6 7 8 9 10 a = 1 b = 2 c = 1 if a == b: print("a == b" ) elif a == c: print("a == c" ) else : print("error" )
elif
相当于else if
,其他用法与 C 语言相同。
循环语句 while 循环 C 语言 1 2 3 4 5 6 7 8 9 10 #include <stdio.h> int main () { int a = 0 , b = 10 ; while (a < b) { a++; } printf ("%d" , a); }
Python 1 2 3 4 5 6 a = 0 b = 10 while a < b: a+=1 else : print(a)
for 循环 C 语言 1 2 3 4 5 6 7 8 #include <stdio.h> int main () { for (int i = 0 ; i < 10 ; i++){ printf ("%d\n" , i); } }
Python 1 2 for i in range(0 , 10 ): print(i)
range(0, 10)
表示创建一个在[0, 10)区间的整数列表,相当于 C 语言 for 循环中的i < 10
条件
函数 C 语言 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 #include <stdio.h> int function (char name[], int age, float weight) { printf ("Name:%s\n" , name); printf ("Age:%d\n" , age); printf ("Weight:%f\n" , weight); return 1 ; } int main () { char name[20 ]; int age; float weight; printf ("请输入名字:" ); scanf ("%s" , name); printf ("请输入年龄:" ); scanf ("%d" , &age); printf ("请输入体重:" ); scanf ("%f" , &weight); if (function(name, age, weight) == 1 ) { printf ("执行完毕" ); } }
Python 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 def function (name, age, weight) : print("Name:" + name) print("Age:" , age) print("Weight" , weight) return 1 if __name__ == "__main__" : name = input("请输入名字:" )s age = input("请输入年龄:" ) weight = input("请输入体重:" ) if (function(name=name, age=age, weight=weight) == 1 ): print("执行完毕" )
注意代码的作用域,缩减相同表达的意思与 C 语言的{ }
相同。
导入头文件 C 语言 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 #include <stdio.h> #include <math.h> float make_sqrt (float numA, float numB, float numC) { float sum = sqrt (numA + numB + numC); return sum; } int main () { float a, b, c, result; scanf ("%f %f %f" , &a, &b, &c); result = make_sqrt(a, b, c); printf ("%f" , result); return 0 ; }
Python 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 import cmathimport cmath as mtfrom cmath import sqrtdef make_sqrt_sum (numA, numB, numC) : sum1 = cmath.sqrt(numA + numB + numC) sum2 = mt.sqrt(numA + numB + numC) sum3 = sqrt(numA + numB + numC) return sum1, sum2, sum3; if __name__ == "__main__" : a, b, c = map(float, input().split()) result1, result2, result3 = make_sqrt_sum(a, b, c) print(result1, result2, result3)
导入模块import cmath
> import cmath as mt
> from cmath import sqrt
第一种方法是直接导入cmath
库(sqrt 模块包含在该库中), 第二种方法是导入后给它起个别名(后面使用的使用不用敲那么长的名字了), 第三种方法是直接导入cmath
库中的sqrt
模块(我们只用到了这个模块)。
数组 Python 的数组相当灵活,这里直接介绍 Python 类似数组的组件,及其常用操作。
列表 列表中每个存储的每个元素可以是不同的类型,例如整数、小数、字符串等。列表中可以实现元素的添加、修改、删除操作,元素的值可以被修改。
1 2 3 4 5 6 7 8 9 peopleList = ["eye" , "mouth" , "nose" , "brow" , "ear" , 1.80 , 120 ] print(peopleList) print(peopleList[0 ]) peopleList[1 ] = "head" peopleList.append("arm" ) peopleList.insert(1 , "foot" ) del peopleList[0 ] result = peopleList.pop(0 ) peopleList.remove("nose" )
元组 元组与列表类似,不同的是,它的元素初始化后不能再修改。但可以通过重新给变量赋值操作,达到修改元素的目的。
1 2 3 4 peopleTuple = ("eye" , "mouth" , "nose" , "brow" , "ear" , 1.80 , 120 ) print(peopleTuple) peopleTuple = ("eye" , "mouth" , "nose" , "brow" , "head" , 6.6 , 999 )
字典 字典是由键-值对
组成的集合,可通过键名对值进行操作。
1 2 3 4 5 6 peopleDict = {"e" : "eye" , "m" : "mouth" , "n" : "nose" , "b" : "brow" , "h" : 1.80 , "w" : 120 } print(peopleDict) print(peopleDict["e" ]) peopleDict["a" ] = "arm" peopleDict["w" ] = 190 del peopleDict["a" ]
最后 Python 博大精深,要想学好建议还是认真研读一本书。
本文已在公众号:MachineEpoch 发布,转载请注明出处。