一直听说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的更多相关文章

  1. Python学习笔记1_初识Python

    一.Python的发展 1.CNRI时期:CNRI是自助Python发展初期的重要单位,Python1.5版之前的成果大部分都在此时期内完成 2.BeOpen时期:Guido van Rossum与B ...

  2. python学习笔记1之-python简介及其环境安装

    python学习笔记之-python简介及其环境安装 最近几年python之火不用多说,最近开始利用时间自学python,在学习的过程中,按照自己的思路和理解记录下学习的过程,并分享出来,如果正好你也 ...

  3. Python学习笔记之二——Python的运行机制,一般人肯定不会

    前言本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理.作者:XX   Python解释器简介   解释器是一种让其他程序运行起来的程 ...

  4. Python学习笔记1-搭建Python环境 和 Python Hello World!

    一.搭建Python开发环境 1.选择开发工具 首先要寻找一个Python的开发工具,Python的开发工具有很多,有pyCharm .Eclipse.Visual studio等等 ,使用最多的还是 ...

  5. python学习笔记六 初识面向对象上(基础篇)

    python面向对象   面向对象编程(Object-Oriented Programming )介绍   对于编程语言的初学者来讲,OOP不是一个很容易理解的编程方式,虽然大家都知道OOP的三大特性 ...

  6. python学习笔记七 初识socket(进阶篇)

    socket socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求. sock ...

  7. Python学习笔记 (1) :python简介、工具、编码及基础运算

    学习背景: 精通一门编程语言并编写出自己喜欢的程序是我多年的梦想,一定要找时间实现.此时想起了高中时的我对编程的兴趣十分浓厚,父母给自己购买了学习机插卡式的,只能敲basic代码,同时学校有386计算 ...

  8. python学习笔记:2.python基础

    4.27 01,pycharm 安装使用. 011,昨日内容回顾.     编译型:         将代码一次性全部编译成二进制,然后运行.         优点:执行效率高.         缺点 ...

  9. python学习笔记1:python入门

    关于版本的选择 按照网上的说法,如果python是为了在工作中使用,选择2.7版本的.这里我选择2.7.9版本的来进行学习: Python是什么? 是一种高级的计算机程序设计语言.应用范围比较广,go ...

随机推荐

  1. PropertyDrawer 自定义属性绘图

    public class PlayerAttributeExample : MonoBehaviour { //无滑块的属性 ; //特性限定,有滑块 [Range(, )] ; } Range特性的 ...

  2. C++中的虚函数(类的向上转换,和向下转换)

    1.C++中的封装时为了代码的模块化,继承是为了代码的重用,而多态则是为了接口的重用. 2.C++中的多态是用虚函数来实现的. 3.子类对象向父类指针的转换(向上转换)是安全的,隐式的,而父类对象向子 ...

  3. C语言基础:两个变量交换值的方法

    学习任何语言基础时,两个数值得交换是必须掌握的,下面是3种不同的方式(c语言) 方法一:利用数学的计算技巧 #include <stdio.h> int main() { , b = ; ...

  4. sql行转列和列转行(转)

    行列互转,是一个经常遇到的需求.实现的方法,有case when方式和2005之后的内置pivot和unpivot方法来实现. 在读了技术内幕那一节后,虽说这些解决方案早就用过了,却没有系统性的认识和 ...

  5. 屌丝IT男

    偶尔翻到豆瓣里一篇对中国屌丝的批评,突然想到当年美国那个垮掉的一代,吸毒,淫乱,绝望的生存,而如今我们苦逼的80后自诩为屌丝的时候,也不想想每一个堕落的时代还是有牛逼的人存在,中国的大学,绝大部分在逃 ...

  6. MVC与WebForm的一些区别

    MVC与WebForm的一些区别 它们都是ASP.NET WEB开发的两种方式 .但是他们也是有一些不同.做个小结. 1.MVC是没有服务器端控件这么一说的,也就是没有viewstate,也就不会产生 ...

  7. 【转,未试】android 9path教程与去黑边

      本帖最后由 ArcherFMY 于 2013-4-24 17:39 编辑 <ignore_js_op> draw9patch.zip (124.83 KB) 这是Draw9patch& ...

  8. Snapchat

    "Mesaging service Snapchat reportedly turned down a $3 billion offer from Facebook?!" Ever ...

  9. 3157: 国王奇遇记 & 3516: 国王奇遇记加强版 - BZOJ

    果然我数学不行啊,题解君: http://www.cnblogs.com/zhuohan123/p/3726933.html const h=; var fac,facinv,powm,s:..]of ...

  10. IntelliJ IDEA 14 利用JRebel实现热部署 二

    前言:今天下午和一个qq群里讨论JRebel时,忽然得到“自动部署”的奥秘--真有听君一席话,胜读十年书的感悟. 这是此群友的热部署博客:http://blog.csdn.net/martinkey/ ...