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 ...
随机推荐
- PropertyDrawer 自定义属性绘图
public class PlayerAttributeExample : MonoBehaviour { //无滑块的属性 ; //特性限定,有滑块 [Range(, )] ; } Range特性的 ...
- C++中的虚函数(类的向上转换,和向下转换)
1.C++中的封装时为了代码的模块化,继承是为了代码的重用,而多态则是为了接口的重用. 2.C++中的多态是用虚函数来实现的. 3.子类对象向父类指针的转换(向上转换)是安全的,隐式的,而父类对象向子 ...
- C语言基础:两个变量交换值的方法
学习任何语言基础时,两个数值得交换是必须掌握的,下面是3种不同的方式(c语言) 方法一:利用数学的计算技巧 #include <stdio.h> int main() { , b = ; ...
- sql行转列和列转行(转)
行列互转,是一个经常遇到的需求.实现的方法,有case when方式和2005之后的内置pivot和unpivot方法来实现. 在读了技术内幕那一节后,虽说这些解决方案早就用过了,却没有系统性的认识和 ...
- 屌丝IT男
偶尔翻到豆瓣里一篇对中国屌丝的批评,突然想到当年美国那个垮掉的一代,吸毒,淫乱,绝望的生存,而如今我们苦逼的80后自诩为屌丝的时候,也不想想每一个堕落的时代还是有牛逼的人存在,中国的大学,绝大部分在逃 ...
- MVC与WebForm的一些区别
MVC与WebForm的一些区别 它们都是ASP.NET WEB开发的两种方式 .但是他们也是有一些不同.做个小结. 1.MVC是没有服务器端控件这么一说的,也就是没有viewstate,也就不会产生 ...
- 【转,未试】android 9path教程与去黑边
本帖最后由 ArcherFMY 于 2013-4-24 17:39 编辑 <ignore_js_op> draw9patch.zip (124.83 KB) 这是Draw9patch& ...
- Snapchat
"Mesaging service Snapchat reportedly turned down a $3 billion offer from Facebook?!" Ever ...
- 3157: 国王奇遇记 & 3516: 国王奇遇记加强版 - BZOJ
果然我数学不行啊,题解君: http://www.cnblogs.com/zhuohan123/p/3726933.html const h=; var fac,facinv,powm,s:..]of ...
- IntelliJ IDEA 14 利用JRebel实现热部署 二
前言:今天下午和一个qq群里讨论JRebel时,忽然得到“自动部署”的奥秘--真有听君一席话,胜读十年书的感悟. 这是此群友的热部署博客:http://blog.csdn.net/martinkey/ ...