Python学习笔记(0)
Python 是什么类型的语言
Python是脚本语言
Python下载地址:https://www.python.org/downloads/
Python版本:Python 3.4.2 - 64bit
脚本语言(Scripting language)是电脑编程语言,因此也能让开发者藉以编写出让电脑听命行事的程序。以简单的方式快速完成某些复杂的事情通常是创造脚本语言的重要原则,基于这项原则,使得脚本语言通常比 C语言、C++语言 或 Java 之类的系统编程语言要简单容易。
也让脚本语言另有一些属于脚本语言的特性:
- 语法和结构通常比较简单
- 学习和使用通常比较简单
- 通常以容易修改程序的“解释”作为运行方式,而不需要“编译”
- 程序的开发产能优于运行性能
一个脚本可以使得本来要用键盘进行的相互式操作自动化。一个Shell脚本主要由原本需要在命令行输入的命令组成,或在一个文本编辑器中,用户可以使用脚本来把一些常用的操作组合成一组串行。主要用来书写这种脚本的语言叫做脚本语言。很多脚本语言实际上已经超过简单的用户命令串行的指令,还可以编写更复杂的程序。
IDLE 是什么?
IDLE是一个Python Shell,shell的意思就是“外壳”,基本上来说,就是一个通过键入文本与程序交互的途径!像我们Windows那个cmd窗口,像Linux那个黑乎乎的命令窗口,他们都是shell,利用他们,我们就可以给操作系统下达命令。同样的,我们可以利用IDLE这个shell与Python进行互动。安装Python后,在搜索中直接搜索IDLE就会显示了。
打开IDLE,看到”>>>”这个提示符,“它”的含义是告诉我们,Python已经准备好了,在等着键入Python指令呢。
我们可以试着键入指令:
- >>> print("I love Python")
可以看到,Python的IDLE直接打印了字符串I love Python
可以试一下键入错误的指令:
- >>> System.out.println("I love Python");
- Traceback (most recent call last):
- File "<pyshell#1>", line 1, in <module>
- System.out.println("I love Python")
- NameError: name 'System' is not defined
发现IDLE直接给我们报错了,并且很友善的提示我们,NameError: name 'System' is not defined,System这个东西没有定义
试着键入Python2的语法:
- >>> print "I love Python"
- SyntaxError: Missing parentheses in call to 'print'
它会告诉我们,是一个错误的语法。
键入了很多错误的信息,试着键入正确的信息,比如计算:
- >>> print(5 + 8)
- 13
在IDLE中,打印计算,甚至可以不用print()函数来打印,可以直接输入数字计算,如:
- # 相加
- >>> 5 + 8
- 13
- # 相减,并且输出负数
- >>> 5 - 8
- -3
- # 相减, 输出是正数
- >>> 9 - 5
- 4
- # 相乘
- >>> 2 * 3
- 6
- # 相除,输出是个浮点型的小数
- >>> 9 / 3
- 3.0
- # 如果想要输出整数,需要用两个除号“//”
- >>> 9 // 3
- 3
不仅可以当计算器来用,还可以处理非常大的数字计算:
- >>> 1234567890123456789 * 9876543210987654321
- 12193263113702179522374638011112635269
还可以用来字符串相加:
- # 将字符串相加
- >>> 'I' + 'love' + 'Python'
- 'IlovePython'
- # 字符串相加后太丑了,我们在单词后面加上空格
- >>> 'I' + ' ' + 'love' + ' ' + 'Python' + '!'
- 'I love Python!'
- # 中文与英文相加
- >>> "我" + "爱" + "Python"
- '我爱Python'
Python不仅就字符串拼接、相加这么简单,还可以使用字符串相乘:
- >>> 'I love Python! ' * 3
- 'I love Python! I love Python! I love Python! '
当然,并不是所有字符串相乘都可以,比如字符串乘以字符串,就会报错,Python还没有那么只能,字符串的除法,减法都会报错:
- # 字符串与数字相加,报错
- >>> 'I love Python' + 5
- Traceback (most recent call last):
- File "<pyshell#7>", line 1, in <module>
- 'I love Python' + 5
- TypeError: Can't convert 'int' object to str implicitly
- # 字符串与字符串相乘,报错
- >>> 'I love Python!' * 'love'
- Traceback (most recent call last):
- File "<pyshell#40>", line 1, in <module>
- 'I love Python!' * 'love'
- TypeError: can't multiply sequence by non-int of type 'str'
- # 字符串相减,报错
- >>> 'I love Python!' - 'love'
- Traceback (most recent call last):
- File "<pyshell#41>", line 1, in <module>
- 'I love Python!' - 'love'
- TypeError: unsupported operand type(s) for -: 'str' and 'str'
- # 字符串相除,报错
- >>> 'I love Python!' / 3
- Traceback (most recent call last):
- File "<pyshell#42>", line 1, in <module>
- 'I love Python!' / 3
- TypeError: unsupported operand type(s) for /: 'str' and 'int'
为什么>>>print('I love fishc.com ' * 5)可以正常执行,但 >>>print('I love fishc.com ' + 5) 却报错?
在 Python 中不能把两个完全不同的东西加在一起,比如说数字和文本,正是这个原因,>>>print('I love Python ' + 5) 才会报错。这就像是在说“苍井空加上5会是多少?”一样没有多大意义!不过乘以一个整数来翻倍就具有一定的意义了,前边的例子就是将 "I love Python" 这个字符串打印五次。
print()的作用是什么?
说了这么多,都把print()忘记了,那么print()是什么呢?
print() 会在输出窗口中显示一些文本。我们可以在IDLE中输入help(print)来寻求帮助
其中比较有用的是print的内置方法sep和end
sep---在字符串之间插入值,默认是一个空格,如:
- # print中,每个字符串是用“,”逗号隔开的,默认是一个空格
- >>> print('我是第一个字符串', '我是第二个字符串')
- 我是第一个字符串 我是第二个字符串
- # 如果我想让两个字符串中没有空格,就可以使用sep了
- >>> print('我是第一个字符串', '我是第二个字符串', sep='')
- 我是第一个字符串我是第二个字符串
- # 当然,也可以使用其他的文字来隔开字符串。
- >>> print('我是第一个字符串', '我是第二个字符串', sep='---我的存在,就是为了隔开你们---')
- 我是第一个字符串---我的存在,就是为了隔开你们---我是第二个字符串
- # 使用逗号来隔开字符串,为了效果明显,估计多加了很多逗号~
- >>> print('I', 'love', 'Python', sep=',,,,,')
- I,,,,,love,,,,,Python
- # \n是换行符
- >>> print('我是第一个字符串', '我是第二个字符串', sep='\n')
- 我是第一个字符串
- 我是第二个字符串
end---在字符串结尾追加一个值,默认是换行,如:
- # 在IDLE中,输入print点击回车,就直接输出了,如果使用分号,就可以在一行写上两个指令在输出,Python的IDLE是不是很方便~
- >>> print('我在第一行!');print('我在第二行!')
- 我在第一行!
- 我在第二行!
- # 如果不加end的话,最后一个值默认是\n,但是如果加了end=‘’,就把\n给去掉了,变成一个空的字符串,所以两个print就可以在一行显示了~
- >>> print('我在第一行!', end='');print('我在第二行!')
- 我在第一行!我在第二行!
- >>> print('我在第一行!', end='---就是不让换行---');print('我在第二行!')
- 我在第一行!---就是不让换行---我在第二行!
如果我需要在一个字符串中嵌入一个双引号,可以这样做:
- # 我们在"双引号"中,加上"双引号"的字符串,Python会以为这段话已经结束了,以为下个"双引号"开始输入下一段话,所以'它'会很善解人意的提示你“语法错误”
- >>> print("Python我非常喜欢"它",你们喜欢吗?")
- SyntaxError: invalid syntax
- # 我们可以使用反斜杠来把"双引号"给注释掉
- >>> print("Python我非常喜欢\"它\",你们喜欢吗?")
- Python我非常喜欢"它",你们喜欢吗?
- # 我们可以在'单引号'中输入字符串,然后字符串中需要加"双引号"的位置使用双引号
- >>> print('Python我非常喜欢"它",你们喜欢吗?')
- Python我非常喜欢"它",你们喜欢吗?
- # 当然,我们也可以在双引号中,输入单引号
- >>> print("What's your name? \nMy name's Python")
- What's your name?
My name's Python
输入 >>>'Python'与输入 >>>print('Python') 有何不同?
直接输入是将结果及类型打印到屏幕上,而print是将结果打印到屏幕上,自己试试并观察结果!
- # 输出结果是有引号的
- >>> 'Python'
- 'Python'
- # 输出结果没有引号
- >>> print('Python')
- Python
如果在文本编辑器中,上面的问题就明显了。比如在IDLE中,使用“Ctrl + N”来打开文本编辑器
直接打印'Python',点击F5运行,发现IDLE中,什么都没有
加上print()之后,就可以打印出来了
设置环境变量
设置你的操作系统的环境变量,以便可以轻松进入 Python 环境
反键计算机->属性->高级系统设置->环境变量->系统变量选择"Path"->编辑->在变量值最后加上Python的安装目录
设置好了,在运行中键入CMD,输入python,可以测试。执行python后,就像IDLE一样。不过是个黑乎乎的窗口。
为什么我们要使用 Python3?
为什么我们要使用Python?Python2到底有什么问题?看起来很多程序员依然在使用Python2?
确实还有相当多的程序员在使用 Python2,不过 Python3 才是 Python 发展的未来,就像 XP 和 WIN7 一样。其实Python3 中的新特性确实很妙,很值得进行深入学习!感觉如果了解了 Python3,Python2 的代码阅读对于你来说根本不成问题!
Python学习笔记(0)的更多相关文章
- python学习笔记--Django入门0 安装dangjo
经过这几天的折腾,经历了Django的各种报错,翻译的内容虽然不错,但是与实际的版本有差别,会出现各种奇葩的错误.现在终于找到了解决方法:查看英文原版内容:http://djangobook.com/ ...
- python学习笔记整理——字典
python学习笔记整理 数据结构--字典 无序的 {键:值} 对集合 用于查询的方法 len(d) Return the number of items in the dictionary d. 返 ...
- python学习笔记之module && package
个人总结: import module,module就是文件名,导入那个python文件 import package,package就是一个文件夹,导入的文件夹下有一个__init__.py的文件, ...
- OpenCV之Python学习笔记
OpenCV之Python学习笔记 直都在用Python+OpenCV做一些算法的原型.本来想留下发布一些文章的,可是整理一下就有点无奈了,都是写零散不成系统的小片段.现在看 到一本国外的新书< ...
- python学习笔记(五岁以下儿童)深深浅浅的副本复印件,文件和文件夹
python学习笔记(五岁以下儿童) 深拷贝-浅拷贝 浅拷贝就是对引用的拷贝(仅仅拷贝父对象) 深拷贝就是对对象的资源拷贝 普通的复制,仅仅是添加了一个指向同一个地址空间的"标签" ...
- 【Python学习笔记之二】浅谈Python的yield用法
在上篇[Python学习笔记之一]Python关键字及其总结中我提到了yield,本篇文章我将会重点说明yield的用法 在介绍yield前有必要先说明下Python中的迭代器(iterator)和生 ...
- Python学习笔记(十一)
Python学习笔记(十一): 生成器,迭代器回顾 模块 作业-计算器 1. 生成器,迭代器回顾 1. 列表生成式:[x for x in range(10)] 2. 生成器 (generator o ...
- Python学习笔记(十)
Python学习笔记(十): 装饰器的应用 列表生成式 生成器 迭代器 模块:time,random 1. 装饰器的应用-登陆练习 login_status = False # 定义登陆状态 def ...
- Python学习笔记(九)
Python学习笔记(九): 装饰器(函数) 内置函数 1. 装饰器 1. 作用域 2. 高阶函数 3. 闭包 如果在一个内部函数里,对在外部作用域(但不是在全局作用域)的变量进行引用,那么内部函数就 ...
- Python学习笔记(七)
Python学习笔记(七): 深浅拷贝 Set-集合 函数 1. 深浅拷贝 1. 浅拷贝-多层嵌套只拷贝第一层 a = [[1,2],3,4] b = a.copy() print(b) # 结果:[ ...
随机推荐
- C#常用命名空间
MSDN上的C#.NET Framework类库文档目录树,本人觉得有点不得要领,于是参考搜到的结果简单整理如下: 一.基础命名空间 System 处理内建数据.数学计算.随机数的产生.环境变量.垃圾 ...
- ADB工具和手机抓包方法介绍
Android抓包方法 工具包内容如下:(下载地址:http://download.csdn.net/download/yezhaohui2011/8368061) adb ——谷歌提供的安卓远程调试 ...
- Java学习-046-日志抓取合并后排序问题解决方案之 --- log4j 二次定制,实现日志输出添加延时10ms
自3月25至今,已经好久没有写学习日志了,今天在写日志抓取合并的小方法,发现抓取后的日志并米有依据系统执行的日志顺序排序.日志抓取排列逻辑如下: 通过日志标识,从各个日志文件(例如 use.log,e ...
- 关于TCP/IP的三次握手和四次挥手解释
TCP协议三次握手过程分析 TCP(Transmission Control Protocol) 传输控制协议 TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接: ...
- iOS:集成支付宝支付
一.介绍 支付宝的集成还是比较简单的,按照文档来一步步操作,基本上很顺利.不过,仍然有两个地方会是坑.这里我集成成功了,在此整理一下.说先说一下我遇到的坑如下: 第一个坑:下载的SDK文件AliPay ...
- zabbix调用微信报警
1.注册微信企业号,可以选团体号(针对小团队) 2.创建管理组 3.创建部门,记住部门id (使用了部门id,发消息会发送到所有部门成员,所以如果要单独发送给某个用户,""这样设置 ...
- js日期字符串增加天数的函数
//日期加天数的方法 //dataStr日期字符串 //dayCount 要增加的天数 //return 增加n天后的日期字符串 function dateAddDays(dataStr,dayCou ...
- git cherry-pick. 如何把已经提交的commit, 从一个分支放到另一个分支
问题 在本地master提交了一个commit(8d85d4bca680a5dbcc3e5cfb3096d18cd510cc9f),如何提交的test_2分之上? 方法 使用cherry-pick 用 ...
- StringByAppendingPathComponent和stringByAppendingString的区别
cyy:自我理解,不保证正确,但亲自试验确实可行:若用 stringByAppendingString 则需要手动在名称前加 “/”符号,而stringByAppendingPathComponen ...
- js 父窗体
1.关闭 父窗体 window.opener.opener=null;window.opener.close() 2.刷新父窗体 JS刷新父窗口的几种方式 浮层内嵌iframe及frame集合窗 ...