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调用
下面给一个产生随机数的小程序:
1 import random
2
3
4 def get_int(msg,min,default):
5 while True:
6 try:
7 line=input(msg)
8 if(not line and default is not None):
9 return default
10 i=int(line)
11 if i<min:
12 print("input must >=min")
13 else:
14 return i
15 except ValueError as err:
16 print(err)
17
18
19
20 rows=get_int("rows",1,None)
21 cols=get_int("cols",1,None)
22 min=get_int("min",-100,0)
23 max=get_int("max",min,100)
24
25
26 row=0
27 while row<rows:
28 col=0
29 line=""
30 while col<cols:
31 i=random.randint(min,max)
32 s=str(i)
33 line=line+s
34 line=line+" "
35 col=col+1
36 print(line)
37 row=row+1;
- golang 使用时间通过md5生成token
- golang中对map操作类
- Nginx在线服务状态下平滑升级或新增模块的详细操作记录
- 【Dev Club分享】微信读书iOS性能优化
- [svn: E155004]svn update报database is locked错误的解决办法
- WordPress高亮插件:Crayon Syntax Highlighter加载优化
- 深入理解 ButterKnife,让你的程序学会写代码
- JS+CSS让网站嗨起来,博客要被玩坏了!
- Linux系统zip压缩命令详细参数,附文件排除选项的正确用法
- 浅谈Android自定义锁屏页的发车姿势
- 移动App入侵与逆向破解技术-iOS篇
- 启用WP Super Cache纯代码版本之后的一些优化措施
- WP Super Cache静态缓存插件纯代码版(兼容多域名网站)
- 【Dev Club分享】React Native项目实战总结。
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 浅析C语言中一些“令人吃惊”的结构
- 贪心算法-分数背包问题(Python实现)
- 为什么GNE 不做全自动提取列表页的功能
- 百度地图开发如何自定义控件(无敌的解决办法)
- 百度地图如何创建一个属于自己的地图,附加到项目中?
- FreeRTOS系列第9篇---FreeRTOS任务概述基础篇
- 图书管理系统(四)图书管理系统实战(2)
- 源码分析之 FactoryBean接口不为人知的秘密
- 图书管理系统(三)图书管理系统实战(1)
- 图书管理系统(二)整合 SSM,你学会了么
- CellChat:细胞间相互作用分析利器
- 我对一类常考算法面试题的详细分析
- Python 面向对象编程(上篇)
- 基于TencentOS-tiny实现PM2.5传感器(攀藤PMSA003)数据解析思路及实现
- Centos7搭建SVN+Apache+iF.SVNAdmin实现web管理SVN