Python【第一章】:简介和入门
ython简介
Python的创始人为Guido van Rossum。1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做为ABC 语言的一种继承。之所以选中Python(大蟒蛇的意思)作为程序的名字,是因为他是一个叫Monty Python的喜剧团体的爱好者。
ABC是由Guido参加设计的一种教学语言。就Guido本人看来,ABC 这种语言非常优美和强大,是专门为非专业程序员设计的。但是ABC语言并没有成功,究其原因,Guido 认为是非开放造成的。Guido 决心在Python 中避免这一错误。同时,他还想实现在ABC 中闪现过但未曾实现的东西。
就这样,Python在Guido手中诞生了。可以说,Python是从ABC发展起来,主要受到了Modula-3(另一种相当优美且强大的语言,为小型团体所设计的)的影响。并且结合了Unix shell和C的习惯。
Python 已经成为最受欢迎的程序设计语言之一。2011年1月,它被TIOBE编程语言排行榜评为2010年度语言。自从2004年以后,python的使用率是呈线性增长 。
Python入门
一、python安装
windows系统:
1
2
3
4
5
6
7
|
1、下载安装包 https: //www.python.org/downloads/ 2、安装 默认安装路径:C:\python35 3、配置环境变量 【右键计算机】--》【属性】--》【高级系统设置】--》【高级】--》【环境变量】--》【在第二个内容框中找到 变量名为Path 的一行,双击】 --> 【Python安装目录追加到变值值中,用 ; 分割】 如:原来的值;C:\python35,切记前面有分号 |
linux系统:
1
2
3
|
<span style = "font-size: 12px;" >无需安装,原装Python环境< / span><br><span style = "font-size: 12px;" > ps:如果自带 2.6 ,请更新至 2.7 < / span> |
二、python初试
在 /home/python/ 目录下创建 hello.py 文件,内容如下:
1
2
3
4
5
|
#!/usr/bin/env python # -*- coding:utf-8 -*- #-Author-Lian print ( "Hello World!" ) |
执行: ./hello.py 注:执行前需给予 hello.py 执行权限,chmod 755 hello.py
三、变量赋值及命名规则
① 声明一个变量name,变量name的值为:“lzl”
1
2
3
4
|
#!/usr/bin/env python # -*- coding: utf-8 -*- name = "lzl" |
② 变量命名的规则
1
2
3
4
5
6
7
|
<span style = "font-size: 12px;" >变量定义的规则: 变量名只能是 字母、数字或下划线的任意组合 变量名的第一个字符不能是数字 以下关键字不能声明为变量名< / span> [ 'and' , 'as' , 'assert' , 'break' , 'class' , 'continue' , 'def' , 'del' , 'elif' , 'else' , 'except' , 'exec' , 'finally' , 'for' , 'from' , 'global' , 'if' , 'import' , 'in' , 'is' , 'lambda' , 'not' , 'or' , 'pass' , 'print' , 'raise' , 'return' , 'try' , 'while' , 'with' , 'yield' ] |
③ 扩展 (给变量name1赋值Alex li,变量name2赋值为变量name1,name1重赋值Jack Chen,此时name2的值为多少?)
1
2
3
4
5
6
7
8
9
10
11
|
#!/usr/bin/env python # -*- coding:utf-8 -*- #-Author-Lian name1 = "Alex Li" name2 = name print (name1, name2) name1 = "Jack Chen" print ( "What is the value of name2 now?" ) |
四、字符编码
python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill)
ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 = 256,所以,ASCII码最多只能表示 256 个符号。
显然ASCII码无法将世界上的各种文字和符号全部表示,所以,就需要新出一种可以代表所有字符和符号的编码,即:Unicode
Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,规定虽有的字符和符号最少由 16 位来表示(2个字节),即:2 **16 = 65536,
注:此处说的的是最少2个字节,可能更多
UTF-8,是对Unicode编码的压缩和优化,他不再使用最少使用2个字节,而是将所有的字符和符号进行分类:ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存...
所以,python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill),如果是如下代码的话:
报错:ascii码无法表示中文
1
2
3
|
#!/usr/bin/env python print "你好,世界" |
改正:应该显示的告诉python解释器,用什么编码来执行源代码,即:
1
2
3
4
|
#!/usr/bin/env python # -*- coding: utf-8 -*- print "你好,世界" |
五、用户交互及字符串拼接
跟用户进行交互,并把输入的信息打印出来
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
39
40
41
|
#!/usr/bin/env python # -*- coding:utf-8 -*- #-Author-Lian ###########用户交互及字符串拼接################ # python2.X与python3.X区别: python2.X raw_input = python3.X input # 提示用户输入姓名、年龄、工作、工资并以信息列表的形式打印出 name = input ( "Please input your name:" ) age = int ( input ( "Please input your age:" )) #str强制转换为int job = input ( "Please input your job:" ) salary = input ( "Please input your salary:" ) info1 = ''' ------------ Info of %s --------- Name:%s Age:%d Job:%s Salary:%s ''' % (name,name,age,job,salary) #%s检测数据类型为字符串,%d检测数据类型为整数,%f检测数据类型为浮点数 强制 print (info1) info2 = ''' ------------ Info of {_Name} --------- Name:{_Name} Age:{_Age} Job:{_Job} Salary:{_Salary} ''' . format (_Name = name, _Age = age, _Job = job, _Salary = salary) print (info2) info3 = ''' ------------ Info of {0} --------- Name:{0} Age:{1} Job:{2} Salary:{3} ''' . format (name,age,job,salary) print (info3) |
六、if判断语句
① 实例:用if语句验证用户登录,密文密码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
#!/usr/bin/env python # -*- coding:utf-8 -*- #-Author-Lian #############验证用户登录-密文密码############## # 提示输入用户名密码 # 验证用户名密码 # 如果错误,则输出用户名密码错误 # 如果成功,则输出欢迎,xxx! import getpass #标准模块,import调用 name = input ( "Please input your name:" ) password = getpass.getpass( "Please input your password:" ) if name = = "lzl" and pwd = = "lzl@123" : print ( "Welcome to,lzl!" ) else : print ( "The user name and password mistake" ) |
七、while循环语句
① 实例:猜数字游戏升级版(循环猜数字,直到猜到为止)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
#!/usr/bin/env python # -*- coding:utf-8 -*- #-Author-Lian ##############猜幸运数字################ lucky_num = 66 # 设置幸运数字 while True : # while循环: # 输入猜的的幸运数字范围1-100 guess_num = int ( input ( "Please enter your guess lucky number(1-100):" )) if guess_num = = lucky_num: # 如果猜对,输出恭喜你猜对了,并退出 print ( "Congratulations you guessed it!" ) break #break 结束循环 continue 跳出本次循环,继续下次循环 exit 结束程序 elif guess_num > lucky_num : # 如果猜的数字大了,输出数字往小点猜 print ( "Think it smaller..." ) else : # 否则,输出数字往大点猜 print ( "Think it bigger..." ) |
八、for循环语句
实例:用for循环实现猜数字游戏,限制三次机会
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
#!/usr/bin/env python # -*- coding:utf-8 -*- #-Author-Lian ##############猜幸运数字+次数限制################ lucky_num = 66 # 设置幸运数字 for i in range ( 3 ): # while判断count是否小于3,如果小于3则: # 输入猜的的幸运数字范围1-100 guess_num = int ( input ( "Please enter your guess lucky number(1-100):" )) if guess_num = = lucky_num: # 如果猜对,输出恭喜你猜对了,并退出 print ( "Congratulations you guessed it!" ) break #break 结束循环 continue 跳出本次循环,继续下次循环 exit 结束程序 elif guess_num > lucky_num : # 如果猜的数字大了,输出数字往小点猜 print ( "Think it smaller..." ) else : # 否则,输出数字往大点猜 print ( "Think it bigger..." ) else : print ( "You tried so many times!" ) #while循环超过三次,则输出试过太多次了 |
Python【第一章】:简介和入门的更多相关文章
- Python第一篇-简介和入门
简介: Python[1] (英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/), 是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,第 ...
- ROS机器人程序设计(原书第2版)补充资料 (壹) 第一章 ROS系统入门
ROS机器人程序设计(原书第2版)补充资料 (壹) 第一章 ROS系统入门 书中,大部分出现hydro的地方,直接替换为indigo或jade或kinetic,即可在对应版本中使用. 第一章主要包括R ...
- 简学Python第一章__进入PY的世界
#cnblogs_post_body h2 { background: linear-gradient(to bottom, #18c0ff 0%,#0c7eff 100%); color: #fff ...
- 第一章 corejava的入门
第一章 corejava的入门一:什么是语言语言=os+数据结构+算法+思想os:操作系统数据结构:队,栈,二叉树,链表算法:做游戏开发时非常重要面试题:int a>0,b>0只使用一条输 ...
- 读书笔记 - javascript 高级程序设计 - 第一章 简介
第一章 简介 诞生时间 1995 最初用途 客服端验证 第一版标准 注意是标准 1997年 Ecma-262 一个完整的js实现由三部分组成 ECMAScript DOM 文档对象模型 BO ...
- python第一章:简介与安装--小白博客
Python简介 Python是一种计算机程序设计语言.是一种动态的.面向对象的脚本语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的.大型项 ...
- python第一章计算机基础
第一章 计算机基础 1.1 硬件 计算机基本的硬件由:CPU / 内存 / 主板 / 硬盘 / 网卡 / 显卡 / 显示器 等组成,只有硬件但硬件之间无法进行交流和通信. 1.2 操作系统 操作系统用 ...
- Python第一章-基础知识
第一章:基础知识 1.1 安装python. 直接官网下载最新的python然后默认安装就可以了,然后开始菜单里找到pyhton *.*.* Shell.exe运行python的交互shell ...
- 学习python 第一章
目录 第一章... 1 1:新建项目... 1 2:修改默认模板... 3 3:什么是变量... 3 4:重指向... 3 5:常量的表示... 4 6:格式化输出(三种方法)... 4 7:打印一个 ...
- python第一章练习题
本章总节 练习题 1.简述编译型与解释型语言的区别,且分别列出你知道的哪些语言属于编译型,哪些属于解释 编译型:把源代码编译成机器语言的可执行文件,程序执行的时候执行可执行文件即可. 优点:程序执行不 ...
随机推荐
- iOS 数字滚动 类似于老 - 虎- 机的效果
效果图 具体实现代码如下 ZCWScrollNumView.h文件 #import <UIKit/UIKit.h> typedef enum { ZCWScrollNumAnimation ...
- 通知、block
=================================== 通知 =================================== 一.通知(NSNotification) // N ...
- 【代码笔记】iOS-获得设备型号
一,代码. - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. ...
- 比Ansible更吊的自动化运维工具,自动化统一安装部署自动化部署udeploy 1.0 版本发布
新增功能: 逻辑与业务分离,完美实现逻辑与业务分离,业务实现统一shell脚本开发,由框架统一调用. 并发多线程部署,不管多少台服务器,多少个服务,同时发起线程进行更新.部署.启动. 提高list规则 ...
- C#委托的介绍(delegate、Action、Func、predicate) --转载
来源:http://www.cnblogs.com/akwwl/p/3232679.html 委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递.事件是一种特殊的委托. 1 ...
- WinForm:DataGridView新增加行
1.不显示最下面的新行 通常 DataGridView 的最下面一行是用户新追加的行(行头显示 * ).如果不想让用户新追加行即不想显示该新行,可以将 DataGridView 对象的 AllowUs ...
- LLVM 笔记(五)—— LLVM IR
ilocker:关注 Android 安全(新手) QQ: 2597294287 LLVM 的 IR (Intermediate Representation) 是其设计中的最重要的部分.优化器在进行 ...
- CH Round #72 奇数码问题[逆序对 观察]
描述 你一定玩过八数码游戏,它实际上是在一个3*3的网格中进行的,1个空格和1~8这8个数字恰好不重不漏地分布在这3*3的网格中. 例如:5 2 81 3 _4 6 7 在游戏过程中,可以把空格与其上 ...
- bash 脚本编程 利用 “=” 赋值时,左右不能留空格
对脚本变量用“=”赋值时, "=" 左右不能留有空格,否则会提示错误. 比如以下例子: #!/bin/bash BEGIN_TIME = `date +%H:%M:%S` ./a. ...
- 为什么Java不支持多继承?
没想过面试的时候,会遇到语言设计上的问题.现场答得并不好因为一直没思考过,经过了点搜索,渐渐有点思路. 1. 避免“钻石型”多继承问题:有两个类B和C继承自A.假设B和C都继承了A的方法并且进行了覆盖 ...