python学习笔记之初识Python
一直听说python语音的简单易用而又强大,今天终于忍不住借本书,开始接触接触一下它,下面结合书本和自己的一些体会,写一下刚刚接触python的东西,重点写一些和C++有区别的地方。
(1)输入input()、输出print()
注意输入input()括号中是提示符,返回值才是输入的数
如a=input("请输入一个数")
(2)数据类型
1)python中使用变量不需要提前对变量进行声明,可以直接使用,这点倒有点想MATLAB,而不是C。
2)python中所表示的整数大小只受限制于内存的大小,并不是固定的字节数。这个简直爽爆了,大整数运算再也不需要转换成字符串去处理了。
3)可以使用[]来访问字符串等序列中的某一项,但是str类型与基本的数值类型都是固定的,值一旦设定就不能改变
如:
(3)python中存在一些组合数据类型
如元组、列表,其中元组是固定大小的,而列表是可变的,创建列表可以使用[]
(4)python中传递变量全部都是按照引用传递(不像C++中可以选择 值、指针和引用)
这样全都按照引用传递,对应固定类型(如字符串、整数、元组)的参数传递其实与C中按值传递类似,而可变类型(如列表)的参数传递与C中按引用传递类似。
如:
(5)逻辑操作符
1)身份操作符 is
这个是由于前面说到的python变量都是按照引用进行传递的,所以使用is来验证两个变量是否指向的是同一个对象。
这里需要注意的是字符串变量和普通变量的区别,所谓引用其实就是一个“标签”,对内存中的某一个或一段数据添加一个“标签”作为别名而已,如果将一个变量赋值成已经存在内存中的一个字符串,那么内存中将不再重新存储一遍,而整数等其他类型是需要存储两份的(这个在C++中也是这样的)。
2)比较操作符
python中可以进行链式比较(这个在C++中是不行的)
如可以写成这样 0<a<=10
3)成员运算符 in、not in
这里说明下python中字符串的表示并不区别单引号和双引号
4)逻辑运算符 and or not
注意这里python虽然使用的仍是短路逻辑,但是返回值并不是bool型,而是返回结果(结果指的是退出逻辑判断前最后一个操作数)
(6)语句块
python中并不像C++那样使用{}来区分语句块,而是直接使用缩进的方法,一般每级缩进都使用4个空格。
(7)控制流语句
1)if
if 条件1:
语句1
elif 条件2:
语句2
elif 条件3:
语句3
。。。
else:
语句n
2)while与C++几乎一样
3)for...in
4)异常处理
try:
try_suite
execpt exception1 as val1:
处理语句1
execpt exception2 as val2:
处理语句2
...
(8)算数运算
大部分与C++相似,只是要特别注意"/"在python中是不会取整的,而是得到小数
(9)函数的创建与调用
函数格式:
def functionname(arg1,arg2,...)
函数语句
不需要定义函数的返回值,如果有返回值,直接return,没有的话就认为是没有返回值
(10)模块的调用
模块的调用使用:import 模块名
现有的模块可以直接使用import调用,自己写的可以先保存成.py的文件,然后使用import调用
下面给一个产生随机数的小程序:
import random def get_int(msg,min,default):
while True:
try:
line=input(msg)
if(not line and default is not None):
return default
i=int(line)
if i<min:
print("input must >=min")
else:
return i
except ValueError as err:
print(err) rows=get_int("rows",1,None)
cols=get_int("cols",1,None)
min=get_int("min",-100,0)
max=get_int("max",min,100) row=0
while row<rows:
col=0
line=""
while col<cols:
i=random.randint(min,max)
s=str(i)
line=line+s
line=line+" "
col=col+1
print(line)
row=row+1;
python学习笔记之初识Python的更多相关文章
- Python学习笔记1_初识Python
一.Python的发展 1.CNRI时期:CNRI是自助Python发展初期的重要单位,Python1.5版之前的成果大部分都在此时期内完成 2.BeOpen时期:Guido van Rossum与B ...
- python学习笔记1之-python简介及其环境安装
python学习笔记之-python简介及其环境安装 最近几年python之火不用多说,最近开始利用时间自学python,在学习的过程中,按照自己的思路和理解记录下学习的过程,并分享出来,如果正好你也 ...
- Python学习笔记之二——Python的运行机制,一般人肯定不会
前言本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理.作者:XX Python解释器简介 解释器是一种让其他程序运行起来的程 ...
- Python学习笔记1-搭建Python环境 和 Python Hello World!
一.搭建Python开发环境 1.选择开发工具 首先要寻找一个Python的开发工具,Python的开发工具有很多,有pyCharm .Eclipse.Visual studio等等 ,使用最多的还是 ...
- python学习笔记六 初识面向对象上(基础篇)
python面向对象 面向对象编程(Object-Oriented Programming )介绍 对于编程语言的初学者来讲,OOP不是一个很容易理解的编程方式,虽然大家都知道OOP的三大特性 ...
- python学习笔记七 初识socket(进阶篇)
socket socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求. sock ...
- Python学习笔记 (1) :python简介、工具、编码及基础运算
学习背景: 精通一门编程语言并编写出自己喜欢的程序是我多年的梦想,一定要找时间实现.此时想起了高中时的我对编程的兴趣十分浓厚,父母给自己购买了学习机插卡式的,只能敲basic代码,同时学校有386计算 ...
- python学习笔记:2.python基础
4.27 01,pycharm 安装使用. 011,昨日内容回顾. 编译型: 将代码一次性全部编译成二进制,然后运行. 优点:执行效率高. 缺点 ...
- python学习笔记1:python入门
关于版本的选择 按照网上的说法,如果python是为了在工作中使用,选择2.7版本的.这里我选择2.7.9版本的来进行学习: Python是什么? 是一种高级的计算机程序设计语言.应用范围比较广,go ...
随机推荐
- 二、有限状态机(FSM)
1.状态机的作用?是什么? 状态机,顾名思义就是用来描述状态的.完善一点就是在同一的时钟下.更准确说是一种verilogHDL编程思想. 例如我们每一个系统都可以分为好几种状态,如:开始,初始化,运行 ...
- Java 8 VM GC Tunning Guild Charter 9-b
第九章 G1 GC The Garbage-First (G1) garbage collector is a server-style garbage collector, targeted for ...
- android 开发 实现自动安装
场景:实现自动安装apk程序 注意:不能使用 intent.setDataAndType(Uri.parse(apkPath), "application/vnd.android.pack ...
- C# ASP.NET系统缓存全解析
原文:http://blog.csdn.net/wyxhd2008/article/details/8076105 目录(?)[-] 系统缓存的概述 页面输出缓存 页面局部缓存 文件缓存依赖 数据库缓 ...
- 从地址栏输入url到显示页面都发生了什么?
作为一个软件开发者,你一定会对网络应用如何工作有一个完整的层次化的认知,同样这里也包括这些应用所用到的技术:像浏览器,HTTP,HTML,网络服务器,需求处理等等. 本文将更深入的研究当你输入一个网址 ...
- c#中获取服务器IP,客户端IP以及其它
客户端ip:Request.ServerVariables.Get("Remote_Addr").ToString();客户端主机名:Request.ServerVariables ...
- 【树形DP/搜索】BZOJ 1827: [Usaco2010 Mar]gather 奶牛大集会
1827: [Usaco2010 Mar]gather 奶牛大集会 Time Limit: 1 Sec Memory Limit: 64 MBSubmit: 793 Solved: 354[Sub ...
- 【POJ】【2125】Destroying the Graph
网络流/二分图最小点权覆盖 果然还是应该先看下胡伯涛的论文…… orz proverbs 题意: N个点M条边的有向图,给出如下两种操作.删除点i的所有出边,代价是Ai.删除点j的所有入边,代价是Bj ...
- OpenLDAP配置信息记录
随着各种研发工具使用越来越多,单独为每个工具维护一个账号系统的开销越来越大,而且作为用户多个账号密码使用也越来越不方便.所以需要做一个统一账号登陆. 查询了多个方法,又因为之前用过LDAP,所以选择了 ...
- Volatile 说明
Java™ 语言包含两种内在的同步机制:同步块(或方法)和 volatile 变量.这两种机制的提出都是为了实现代码线程的安全性.其中 Volatile 变量的同步性较差(但有时它更简单并且开销更低) ...