上节课已经教大家安装了Python的解释器,那么这节课我们就可以正式来写代码了

说明:在下面的代码演示中,我将大部分使用python交互器演示代码的输入输出,注意“>>>”后面代表的是输入的代码,没有其他的标志代表的是输出

按照以往的惯例,首先我们还是写一个Hello world 程序

# -*- coding :utf-8 -*-
#Author = susmote
print("hello world")

按照以上的程序,我们简单做一个解释

字符编码

首先第一个要解释的是python的编码格式,python的解释器在加载python的代码时,默认会按照ASCII进行编码

在我们的python程序中,我们免不了要对中文进行处理,但是我们知道ASCII是不支持中文的,所以我们就需要在python文件的首行加上编码格式的申明。

对于中文的编码,我们肯定要提到1980年的gb2312,当时最早的计算机中文编码,只是当时gb2312支持的汉字只收录了7445个字符,其中包括6763个汉字和682个其他符号

gb2312支持的汉字过少,所以在1995又出了新的汉字扩展规范GBK1.0,gbk1.0总共收录了21886个符号,分为汉字区和图形符号区,汉字区包括21003个字符。在后面中文的字符编码在不断的更新换代,同时也支持了我国很多少数民族的文字,如维吾尔文、藏文,虽然现在的PC支持的中文编码格式已经很全了,但对于嵌入式设备,如手机、MP3、MP4一般只支持GB2312。

显然ASCII码无法将世界上的各种文字和符号全部表示,所以,就需要新出一种可以代表所有字符和符号的编码,即:Unicode

Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,规定虽有的字符和符号最少由 16 位来表示(2个字节),即:2 **16 = 65536,
注:此处说的的是最少2个字节,可能更多

UTF-8,是对Unicode编码的压缩和优化,他不再使用最少使用2个字节,而是将所有的字符和符号进行分类:ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存..

如想了解更多关于字符编码的请自行上网查阅

需要注意的是,python3默认支持的是utf-8,所以一般是不需要当心编码的错误,但是为了兼容更多平台,还是建议在一些项目中加入申明编码

注释

然后再下面一行是一个注释,说明代码作者的名字,这个你们也可以养成这样的习惯,申明自己的个人代码

在python中有两种注释格式,分为单行注释和多行注释

单行注释:# 注释的内容

# 这是当行注释  

多行注释:''' 注释的内容 '''

'''
这是多行注释
特克斯官网www.susmote.com
'''

  

输出与输入

在输出hello world我们使用 print 函数

在python2中使用 print 函数时和在python3中有很大不同

python2中在输出时可以不加括号

>>> print "hello"
hello
>>> i = 2
>>> print i
2

但在python3中,强制要求加括号,不加括号解释器就会报错

除了输出,python当然也有输入的函数

在输入方面,python2和python3也有一点不同

input函数里面可以加入参数作为一个提示符

python2中输入数据,有raw_input() 和 input() 两个函数

  • raw_input()将所有输入作为字符串看待,返回字符串类型
  • input()只能接收数字的输入,也能输入一个表达式,他返回所输入的数字的类型(int ,float)
>>> name = raw_input("请输入你的名字:  ")
请输入你的名字: susmote
>>> type(name)
<type 'str'>

输入字符串返回字符串

>>> age = raw_input("请输入你的年龄:  ")
请输入你的年龄: 18
>>> type(age)
<type 'str'>

输入数值返回字符串

>>> result = raw_input("请输入一个算数表达式:  ")
请输入一个算数表达式: 2*50
>>> print result
2*50

输入表达式后返回的是字符串

>>> age = input("请输入你的年龄:  ")
请输入你的年龄: 18
>>> type(age)
<type 'int'>

input只支持输入数字

>>> result = input("请输入一个算数表达式:  ")
请输入一个算数表达式: 2*50
>>> print result
100

input能计算表达式

提示:type()函数可以返回数据的类型

 

python3中input()函数接收一个标准输入数据,返回的是string类型,在python3中只有一个input,去除了raw_input.

>>> name = input("input your name")
input your namesusmote
>>> name = input("请输入你的名字: ")
请输入你的名字: susmote
>>> type(name)
<class 'str'>

  

>>> age = input("请输入你的年龄: ")
请输入你的年龄: 18
>>> type(age)
<class 'str'>

  

>>> result = input("请输入一个表达式: ")
请输入一个表达式: 2*50
>>> print(result)
2*50

  

当然python也提供了一个方法,可以方便隐藏输入的密码

我们只需要在使用前导入这个模块

import getpass

  

然后使用getpass.getpass()方法

>>> passwd = getpass.getpass("请输入你的密码:  ")
请输入你的密码:
>>> print(passwd)
123456

默认在输入时没有显示,这个有点像Linux的用户密码输入

这一节我们通过一个hello world程序学习了python的编码格式、如何在python代码中注释、以及python的输入和输出

03-第一个脚本程序以及输入输出_Python编程之路的更多相关文章

  1. 01-Python的介绍_Python编程之路

    首先用一句业内非常出名的话来介绍Python "人生哭短,我用Python" 这也是Python宣传时经常说的一句话 从这句话中,可以非常清楚Python他到底优点在哪里,为什么要 ...

  2. 04_Python的数据类型1数值和字符串_Python编程之路

    上一节我们通过一个helloworld程序学习python的一些简单操作,还有输入与输出 这节我们来讲Python的数据类型与变量的操作 Python的交互器 在讲这个之前,我要先讲一下python的 ...

  3. 07_Python的控制判断循环语句1(if判断,for循环...)_Python编程之路

    Python的数据类型在前几节我们都简单的一一介绍了,接下来我们就要讲到Python的控制判断循环语句 在现实编程中,我们往往要利用计算机帮我们做大量重复计算的工作,在这样的情况下,需要机器能对某个条 ...

  4. 10_Python函数方法加深_Python编程之路

    上节课已经简单的跟大家讲了如何定义一个方法,但是并没有深入去讲,这一节我们继续来学习定义方法中需要注意的几点 默认参数 前面我们讲到定义一个方法时是可以传递参数的,除了这个功能,实际上python在定 ...

  5. 11_Python的列表推导式_Python编程之路

    上一节我们结束了有关python的方法相关内容 这一节我们先来学习python的列表推导式 之前跟大家说过range方法的使用,在这里我就不做过多的解释了,如忘记了,请翻阅之前的介绍 列表推导式,是P ...

  6. 15_Python模块化编程_Python编程之路

    之前跟大家讲的是一些python的数据基础,从这篇文章开始,我们开始正式学习python的模块化编程 下面我们解释一下什么叫做模块 之前已经讲过怎么去定义一个方法,如果你是用python交互器(自带交 ...

  7. 02-Python的下载和安装_Python编程之路

    原文发布在特克斯博客www.susmote.com 之前给大家讲了关于python的背景知识,还有Python的优点和缺点,相信通过之前的介绍很多人已经清楚自己到底要不要选择学习Python,如果已经 ...

  8. 06_Python的数据类型3元组,集合和字典_Python编程之路

    上一节跟大家讲了Python的列表,当然不是完整的讲完,后续我们还会提到,这一节我们还是来讲Python的数据类型 首先要讲到的就是元组 元组其实拥有列表的一些特性,可以存储不同类型的值,但在某些方面 ...

  9. 09_Python定义方法_Python编程之路

    有关Python判断与循环的内容我们上几节已经跟大家一起学习了,这一节我们主要针对def 做一个讲解 def 定义一个方法 在项目编程中,我们往往要做很多重复的事,比如一个排序的功能(当然Python ...

随机推荐

  1. 芝麻HTTP:设置Selenium+Chrome代理

    微博登录限制了错误次数···加上Cookie大批账号被封需要从Cookie池中 剔除被封的账号··· 需要使用代理··· 无赖百度了大半天都是特么的啥玩意儿???结果换成了 Google手到擒来 分分 ...

  2. 基于 angular 规范的 commit

    基于 angular 规范的 commit commit格式如下: <type>: <subject> <BLANK LINE> <body> type ...

  3. 前台序列化传过来的值,后台获取之后封装到map当中,让后在转化成json格式,最后在把json里面的参数里面的某一个值进行分割,最后在存到json格式的数据中去。

    一,html脚本 <script type="text/javascript"> $(function() { $(".btn-submit").c ...

  4. 从输入URL到页面加载的过程?如何由一道题完善自己的前端知识体系!

    前言 见解有限,如有描述不当之处,请帮忙指出,如有错误,会及时修正. 为什么要梳理这篇文章? 最近恰好被问到这方面的问题,尝试整理后发现,这道题的覆盖面可以非常广,很适合作为一道承载知识体系的题目. ...

  5. 【LightOJ1370】Bi-shoe and Phi-shoe(欧拉函数)

    [LightOJ1370]Bi-shoe and Phi-shoe(欧拉函数) 题面 Vjudge 给出一些数字,对于每个数字找到一个欧拉函数值大于等于这个数的数,求找到的所有数的最小和. 题解 首先 ...

  6. 【BZOJ1012】【JSOI2008】最大数(线段树)

    [JSOI2008]最大数 题目描述 现在请求你维护一个数列,要求提供以下两种操作: 1. 查询操作. 语法:Q L 功能:查询当前数列中末尾L个数中的最大的数,并输出这个数的值. 限制:L不超过当前 ...

  7. 【NOIP2015】斗地主(搜索,贪心)

    题面戳我 题解 我原来也觉得是一道不可做的难题.. 其实,,,很简单的啦... 对于当前状态 我们出牌的方式大致分为两类 一类是不用考虑点数的,包括单张,对子,三带一等 另一类就是需要考虑点数的,包括 ...

  8. 对java的Thread的理解

    最好不适用线程的子线程,直接调用线程,然后用rannable接口 然后如果要公用一个参数,就是公用资源的时候,一定要在run方法的前面加上synchronized 例子 猫和狗喝同一杯水(共用资源的问 ...

  9. java 实现登录验证码 (kaptcha 验证码组件)

    验证码的作用: 1.防止广告机注册和发帖.评论.2.防止暴力破解密码,特别是有管理员权限的密码. 在这里介绍一种非常实用的验证码生成工具:kaptcha 这个工具,可以生成各种样式的验证码,因为它是可 ...

  10. 常见的if语句shell脚本

    常见的if语句shell脚本 author :headsen  chen  2017-10-17  15:00:07 1,cat if.sh 2, cat  if2.sh