Python与C语言基础对比(Python快速入门)
代码较长,建议使用电脑阅读本文。
10分钟入门Python
本文中使用的是Python3
如果你曾经学过C语言,阅读此文,相信你能迅速发现这两种语言的异同,达到快速入门的目的。下面将开始介绍它们的异同。
Python与C语言基本语法对比
Python使用空格来限制代码的作用域,相当于C语言的{ }。
第一个程序 Hello,World!
C语言
#include<stdio.h>
int main(){
printf("Hello,World!");
return 0;
}
Python
print("Hello,World!")
怎么样,是不是已经感受到Python的精巧了呢。
输入输出
C语言
#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
number = int(input())
decimal = float(input())
string = input()
print(number)
print(decimal)
print(string)
如果你尝试自己写一个Python循环输出语句,你肯定会发现Python的输出默认的换行的,如果不想让它换行,可给end参数复制"",例如
连续输出不换行
for i in range(0, 10):
print(i, end="")
代码注释
C语言
#include<stdio.h>
int main()
{
// printf("注释一行");
/**
printf("注释多行");
printf("注释多行");
printf("注释多行");
printf("注释多行");
**/
}
Python
# print("注释一行")
# 三个单引号
'''
print("单引号注释多行")
print("单引号注释多行")
print("单引号注释多行")
print("单引号注释多行")
'''
# 三个双引号
"""
print("双引号注释多行")
print("双引号注释多行")
print("双引号注释多行")
print("双引号注释多行")
"""
基本运算
C语言
#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
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语言
#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
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语言
#include<stdio.h>
int main()
{
int a = 0, b = 10;
while(a < b)
{
a++;
}
printf("%d", a);
}
Python
a = 0
b = 10
while a < b:
a+=1
else:
print(a)
for循环
C语言
#include<stdio.h>
int main()
{
for(int i = 0; i < 10; i++){
printf("%d\n", i);
}
}
Python
for i in range(0, 10):
print(i)
range(0, 10)表示创建一个在[0, 10)区间的整数列表,相当于C语言for循环中的i < 10条件
函数
C语言
#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
#!/usr/bin/env python
# _*_coding:utf-8_*_
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语言
#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
#!/usr/bin/env python
# _*_coding:utf-8_*_
import cmath
import cmath as mt
from cmath import sqrt
def 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类似数组的组件,及其常用操作。
列表
列表中每个存储的每个元素可以是不同的类型,例如整数、小数、字符串等。列表中可以实现元素的添加、修改、删除操作,元素的值可以被修改。
peopleList = ["eye", "mouth", "nose", "brow", "ear", 1.80, 120]
print(peopleList) # 输出整个列表
print(peopleList[0]) # 访问索引为0的元素
peopleList[1] = "head" # 修改索引为1的元素
peopleList.append("arm") # 在列表末尾添加元素
peopleList.insert(1, "foot") # 在列表中插入元素
del peopleList[0] # 删除索引位置的元素
result = peopleList.pop(0) # 删除并引用索引位置的元素,先复制给result再从列表中删除
peopleList.remove("nose") # 根据值来删除元素
元组
元组与列表类似,不同的是,它的元素初始化后不能再修改。但可以通过重新给变量赋值操作,达到修改元素的目的。
# 元组
peopleTuple = ("eye", "mouth", "nose", "brow", "ear", 1.80, 120)
print(peopleTuple)
peopleTuple = ("eye", "mouth", "nose", "brow", "head", 6.6, 999) # 重新给变量赋值来达到修改元素的目的
字典
字典是由键-值对组成的集合,可通过键名对值进行操作。
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发布,转载请注明出处。

Python与C语言基础对比(Python快速入门)的更多相关文章
- D17——C语言基础学PYTHON
C语言基础学习PYTHON——基础学习D17 20181014内容纲要: 1.jQuery介绍 2.jQuery功能介绍 (1)jQuery的引入方式 (2)选择器 (3)筛选 (4)文本操作 (5) ...
- D13——C语言基础学PYTHON
C语言基础学习PYTHON——基础学习D13 20180918内容纲要: 堡垒机运维开发 1.堡垒机的介绍 2.堡垒机的架构 3.小结 4.堡垒机的功能实现需求 1 堡垒机的介绍 百度百科 随着信息安 ...
- D12——C语言基础学PYTHON
C语言基础学习PYTHON——基础学习D12 20180912内容纲要: 1.数据库介绍 2.RDMS术语 3.MySQL数据库介绍和基本使用 4.MySQL数据类型 5.MySQL常用命令 6.外键 ...
- D08——C语言基础学PYTHON
C语言基础学习PYTHON——基础学习D08 20180829内容纲要: socket网络编程 1 socket基础概念 2 socketserver 3 socket实现简单的SSH服务器端和 ...
- D05——C语言基础学PYTHON
C语言基础学习PYTHON——基础学习D05 20180815内容纲要: 1 模块 2 包 3 import的本质 4 内置模块详解 (1)time&datetime (2)datetime ...
- D04——C语言基础学PYTHON
C语言基础学习PYTHON——基础学习D04 20180810内容纲要: 1 内置函数 2 装饰器 3 生成器 4 迭代器 5 软件目录结构规范 6 小结 1 内置函数 内置函数方法详 ...
- D03——C语言基础学习PYTHON
C语言基础学习PYTHON——基础学习D03 20180804内容纲要: 1 函数的基本概念 2 函数的参数 3 函数的全局变量与局部变量 4 函数的返回值 5 递归函数 6 高阶函数 7 匿名函数 ...
- D16——C语言基础学PYTHON
C语言基础学习PYTHON——基础学习D16 20180927内容纲要: 1.JavaScript介绍 2.JavaScript功能介绍 3.JavaScript变量 4.Dom操作 a.获取标签 b ...
- D15——C语言基础学PYTHON
C语言基础学习PYTHON——基础学习D15 20180926内容纲要: 1.CSS介绍 2.CSS的四种引入方式 3.CSS选择器 4.CSS常用属性 5.小结 6.练习 1 CSS介绍 层叠样式表 ...
随机推荐
- Redis的各个数据的类型基本命令
什么是Redis: 概念: Redis (REmote DIctionary Server) 是用 C 语言开发的一个开源的高性能键值对(key-value)数据库. 特征:1. 数据间没有必然的关联 ...
- Docker容器Centos不能使用systemctl命令问题
注:本文出自博主 Chloneda:个人博客 | 博客园 | Github | Gitee | 知乎 本文源链接:https://www.cnblogs.com/chloneda/p/bug-dock ...
- Swagger2 @ApiIgnore注解忽略接口在swagger-ui.html中显示
果项目中定义了一个controller,但是我们又不想把这个接口在swagger-ui.html中体现出来怎么办?不要着急,Swagger2已经替我们想到了这个问题,只要把@ApiIgnore放到你想 ...
- 复习node中加载静态资源--用express+esj
不做解释,代码一看就懂 app.js import express from 'express' import config from './config' const app = express() ...
- 剑指offer-面试题9-用两个栈实现队列-栈和队列
/* 题目: 用两个栈实现一个队列.队列声明如下. */ /* 思路: 将值压入stack1,再从stack1弹出到stack2,则为先进先出. appendTail时直接压入stack1即可,当st ...
- ElementUI的Table表格添加自定义头CheckBox多选框
在ElmentUI的Table表格组件中,也许你会使用type为selection值的多选框功能,但是此时设置的label属性不生效,不能设置标题名称:有时候我们的需求就是要添加标题名称,那该如何处理 ...
- waiting list
Problem: how to cluster non-stationary multivariate time series. What are stationary time series How ...
- 中软国际首届嘉年华晚会 创新网络年会PK“春晚”
随着新年脚步的来临,各大公司的年会陆续出炉,但是中软国际的首届嘉年华晚会,以创新网络年会和全国八地同步进行的模式,演绎不一样的互联网年会,简直可以PK“春晚”.IT届中最漂亮的美女热舞,程序员中最会唱 ...
- gulp-css-spriter 雪碧图合并
相信做前端的同学都做过这样的事情,为优化图片,减少请求会把拿到切好的图标图片,通过ps(或者其他工具)把图片合并到一张图里面,再通过css定位把对于的样式写出来引用的html里面.gulp-css-s ...
- python接口自动化-requests-toolbelt处理multipart/form-data
1.requests-toolbelt官方文档:https://pypi.org/project/requests-toolbelt/ 2.环境安装 pip install requests-tool ...