Python基础

第一个程序

Python不需要引入什么库之后才能写输入输出,比如C语言就需要在头部引入#include<stdio.h>,才能进行输入输出,而Python比较简单,它不需要任何的"准备",直接写程序就好了。

按照惯例,写的第一个程序都是打印出Hello World!,来看第一个程序

print('Hello World')

没错,就是这么简单,所以大家都说Python极其的容易入门。

对于学过其他高级语言的人来说,这实在是太简单了,不过我还是要讲一下这个程序有什么不同。

第一个就是引号的问题,学过Java语言的都知道,单引号括起来的代表的是字符,双引号括起来的是字符串,但是这里的Hello World!我用单引号括起来了,这里就是Python不同于其他语言的地方,因为对于Python来说,单引号与双引号是没有区别的

第二个就是分号的问题,在C或者Java中,我们都已分号结尾表示语句的结束,而在Python中当然也可以,不过当一行只写一个语句时,分号是可以省略的。所以在这里建议大家,一行最好只写一个语句,当然不仅仅针对Python

输入

Python用以输入的函数是input(),里面可以接一个字符串的参数,作为提示语句提示用户。

input('请输入一个数字:')

虽然用户输入了一个数字,但是用户输入之后什么都没有发生,我们也没有得到这个数字,所以也没有办法进行处理,所以我们需要一个变量去存储这个数字,这样我们才可以进行处理。

Pyhton的变量不用声明,可以直接使用,比如:

a = input('请输入一个数字:')

我们以变量a去接收这个数字,变量a在之前并没有声明它是何种数据类型。
但是这里还有一个问题,就是a接收到的并不是数字,而是数字的ASCII码,从键盘输入字符或者数字,在Python接收到的都是其ASCII码,所以a并不能看做数字类型,而是字符串类型,所以a不能与数字进行计算,否则会报出错误:

a = input('请输入一个数字:')
a = a + 2


这里将提示的错误贴上:

    a = a + 2
TypeError: must be str, not int

这里说的是a不能与数字进行操作,因为astr(字符串)类型,不是int(整数)类型,所以a只能与字符串进行操作。

所以如果我们想要将进行数字处理的话,就必须将a还原为整数类型,其实操作也很简单,如下:

a = input('请输入一个数字:')
a = int(a)  #将a转化为int类型
a = a + 2
print(a)

我们来看结果

注释

不知道注意到前面程序有一行程序多了一行文字

#将a转化为int类型

这个叫做注释,注释编译器是会自动忽略,不会执行的,注释的作用是为了方便他们阅读代码,读懂你的代码的,因为在工作中,大家一起工作的话,少不了要阅读别人的代码,所以如果不写注释的话,基本就等同于天书,因为别人不知道你的思路,你的一个简单操作,别人可能就要思考半天,所以写注释是非常重要的。有的时候也方便自己看懂自己写的代码,因为可能一段时间之后,你就不知道自己当时的想法了。

注释还有一个作用,就是调代码,说实话程序员大部分的时间都在写bug,然后debug,在debug的时候,我们有时会将一段代码注释掉,观察程序是否正常运行或者结果发生了怎样的变化,以判断此部分代码逻辑有无问题
写注释的方法如上,# + 你想注释的内容,这一种注释叫做单行注释,在#后的所有内容都是注释内容,编译器是不会执行的。

还有一种注释是多行注释,多行注释是用成对的两个三引号括起来'''注释的内容'''(当然你也可以用三个双引号),三引号里面包括的内容就是注释的内容,该注释的方法可以注释多行。三引号还有一种功能是文档注释。

编码

接下来看一个关于编码的问题。

ASCII码大家都要很熟悉了,一开始计算机的默认编码是ASCII码,ASCII码表总共有256个,其中前128个是字母,数字等能够在键盘上找到的,后128个是在键盘上找不到的特殊字符。

可见ASCII码是不支持中文的,毕竟电脑的发明的那些年中国还不能够用上电脑,根本没有考虑中文编码的问题,后来计算机引入了中国,这个不能编码中文就很伤了,所以咱们自己人就搞了一张表,因为在ASCII码中有一些是没有用的,所以可以将那个没用的位映射到这张表。

第一个支持中文的编码叫做gb2312,是在1980年提出的,这张表包含了6000+简体中文,但是中文远远不止这么多,所以在1995年又弄出了一张表,这个叫GBK1.0Windows系统是默认支持gbk的,gbk包含20000+的中文汉字,不仅有简体,还有繁体。然后在2000年有提出了gb18030,这个包含的就更多了。大约包含27000+汉字。
因为ASCII码对于西方的国家差不多够用了,但是设计的时候没有考虑到东亚的国家,所以我们中国搞了gb18030,其他国家如日本,韩国也要搞他们的编码,这样各搞各的,就会乱掉,所以ISO(国际化标准组织)就决定搞一个万国码,这就是Unicode,它支持所有的语言。而且Unicode是向下兼容gb18030gbkgb2312的。

ASCII的编码是一个字节,但是Unicode的编码是两个个字节的,翻了一倍,这个对于美国等用不到这样编码的国家存储就翻了一倍,因为他们只需要用ASCII码表里的就可以了,但是只用ASCII码的话就会与别的国家不兼容,所以就出现了utf-8,这个是Unicode的扩展集,理解为可变长的编码,对于美国这些国家编码只要一个字节,对于西欧的国家,编码要两个字节,对于东亚的国家,编码需要三个字节。utf-8是完全兼容ASCII码的。

python2.x默认是支持ASCII编码的,python3.x是默认支持Unicode的。所以在python3中可以识别中文,如果想在python2.x中使用中文,要提前声明:#!-*- codeing:unicode -*-#codeing:unicode

转载于:https://www.cnblogs.com/LastKnight/p/9846416.html

01 Python基础相关推荐

  1. 01 Python基础学习

    注:本次的环境使用 python-3.5.2 1 python 基础介绍 1.1 python 简介 1.1.1 python的对比 编码: 2.x = 默认编码 = ASSIC = 不支持中文 3. ...

  2. 01.Python基础_菜单_快捷键_基本语法_变量_输入输出

    文章目录 1.编程软件-jupyter notebook 2.基本说明 2.1 标题 2.2 排序 2.3Jupyter notebook使用/快捷键 2.4Markdown的基本语法 3.pytho ...

  3. python图形编程基础知识_AI-图像基础知识-01|python基础教程|python入门|python教程

    目前人工智能Artificial Intelligence主要分为两大分支: 计算机视常见:Computer Vision,简称CV CV主要是研究如何让机器看懂世界的一种技术,通过各种光学传感器来代 ...

  4. python学习—01:python基础

    python介绍 深入理解python编程 一. 高效的开发环境与基础 python开发环境 Windows下Sublime Text3和python语言环境 Linux下Sublime Text3和 ...

  5. 01.Python基础-3.集合容器

    1 列表list 1.1 列表介绍 Python内置的一种数据类型是列表:list. 有序的集合,可随时添加和删除其中的元素. 每个元素都分配一个数字 --它的位置,或索引.0,1,2,3-- 可存放 ...

  6. Matlab 基础应用01 - Python 基础应用 n阶幻方【MagicSquare】和构造

    前言: 本章介绍幻方的基本知识,同时利用Matlab 和 Python 构造简单的幻方方阵. 最后用幻方结合图像,展示了一个渐进的魔幻效果. 幻方定义: 简单介绍 幻方(Magic Square)是一 ...

  7. 超全面Python基础入门教程【十天课程】博客笔记汇总表

    目录 1.学习地址 2.下载地址[视频.源码.课件.软件] 3.详细博客笔记 Day 01 Day 02 Day 03 Day 04 Day 05 Day 06 Day 07 Day 08 Day 0 ...

  8. python基础(一)完结

    Day 01 python基础 一.计算机基础 1.快捷键: 快速复制:Ctrl+D 垂直拆分 水平 拆分 快速修改 查看 2.计算机的组成 硬件:运算器 控制器 存储器 输入设备 输出设备 软件: ...

  9. Python 基础学习笔记 03

    Python基础系列 Python 基础学习笔记 01 Python 基础学习笔记 02 Python 基础学习笔记 03 Python 基础学习笔记 04 Python 基础学习笔记 05 文章目录 ...

  10. 【马士兵】Python基础--01

    Python基础–01 文章目录 Python基础--01 输出函数print 转义字符与原字符 标识符和保留字 输出函数print print(520) print('helloworld') pr ...

最新文章

  1. 全局样式_CAD新手福利:不懂标注样式修改的请进来一看
  2. Linux操作系统下三种配置环境变量的方法(linux下几种profile执行顺序)
  3. AMD收购Xilinx、Zoom为全体用户提供端到端加密、Facebook云游戏、苹果搜索引擎等|Decode the Week...
  4. 磁盘分区原理:从MBR到GPT
  5. 各hadoop安装的收集
  6. SignalR的性能监测与服务器的负载测试
  7. CSS 字体(font)实例
  8. Linux服务器,服务管理--systemctl命令详解,设置开机自启动
  9. 清华孵化、张钹加盟、天使估值5个亿,创业半年的RealAI什么来头?
  10. Express + TypeScript开发微信应用
  11. 收到计算机系统公司退款会计分录,​收到客人的退款的会计分录怎么写
  12. LNMP建站分离部署
  13. 关于CSDN登录没有微信二维码的问题
  14. 附全文 |《数字中国指数报告2019》重磅发布,下一个数字经济增长点将由产业驱动...
  15. DTC Sprint总结——管理经验篇
  16. rxjava背压_关于RxJava背压
  17. LaTeX零基础入门教程及模板使用技巧
  18. Win10运行程序提示不受信任的解决方法【系统天地】
  19. vue项目中创建子路由组件
  20. Ps微信表情开放平台微信表情包制作

热门文章

  1. springboot整合mybatis-pluss、sharding-JDBC 水平分表demo
  2. JUC学习之CountDownLatch入门
  3. 设计模式 ( 十三 ) JDK动态代理模式
  4. ES6 将数组根据某个属性进行分组的方法
  5. Spring Cloud Bus消息总线(学习总结)
  6. redis重做从库时报Connection with master lost错误
  7. .NET微信扫码支付模式二API接口开发测试
  8. redis 任务队列
  9. 【学习笔记9】Linux常用命令6 - 压缩解压命令
  10. 只有一个公网IP也可以使用LVS的DR模式!(外带php session粘滞问题解决)