python作为一门解释型的编程语言,和c/c++等其他语言都或多或少有相通的地方,所以有语言基础的话,学起来还是方便一些。所以我的笔记对于相对简单的概念可能会选择放过,但对自己记录的东西我会力求完备。学习所用的系统为Ubuntu的Linux。

数和表达式

  除法运算有两种,单斜杠和双斜杠。

  a/b运算结果是浮点数。

 >>>1/2
 0
 >>>1/1
 1.0

  a//b执行整除运算,舍弃小数部分。

 >>>1//2
 0
 >>>1//1
 1
 >>>5.0//2.4
 2.0

  python与其他语言在除法运算和求模运算中有一个重要的区别,其整除运算无论正负都是向下圆整结果。因此在结果为负数的情况下,圆整后将离0更远。

 >>>10//3
 3
 >>>-10//3
 -4
 >>>10//-3
 -4
 >>>-10//-3
 3

  求模运算与除法运算类似,也是向下圆整的机制。

 >>>10%3
 3
 >>>-10%3
 -2
 >>>10%-3
 2
 >>>-10%-3
 -1

不同于c/c++,Python中是没有自增自减操作符的,例如i++,j--。但Python是有+=和-=的。

变量

  与其他一些语言不同,Python变量是没有默认值的,因此使用变量前必须进行赋值。

  Python中所有变量都是可变的,没有特定的“常量”类型,所以通过约定将变量名的所有字母大写来表示“常量”,但其本质上依然是变量,可改变,所以在实际编程时需要多加注意才是。

cmath和复数

  Python标准库提供了cmath来支持复数计算。

 >>>import cmath
 >>>cmath.sqrt(-1)
 1j

  Python本身默认提供了对复数的支持。在表示复数时,只能用j,且j前必须有数字,即使是1,也需要标出。

 >>>(1+3j)*(9+4j)
 (-3+31j)

单引号、双引号、三引号以及字符串转义

  单引号与双引号 其实是没有差别的。同时支持单引号和双引号一个方便的用处是,包含单引号的字符串可以用双引号括起或是包含双引号的字符串可以用单引号括起。

  更特殊的就是字符串中既有单引号,又有双引号的情况,这是就需要用到三引号(既可以是三个单引号也可以是三个双引号)。三引号支持跨越多行的字符串。三引号也可以用作多行注释

1 >>> print('''This is a long string.It continues here.
2 ... And it's not over yet."hello,world"
3 ... Still here''')
4 This is a long string.It continues here.
5 And it's not over yet."hello,world"
6 Still here
7 >>> 

原始字符串

  原始字符串不以特殊方式处理反斜杠,用前缀r表示。

1 >>>print(r'C:\nowhere')
2 C:\nowhere

  原始字符虽然在某些情况下很有用(如正则表达式)。但这也意味着用于执行转义的反斜杠也将包含在最终的字符串中。

  另外,原始字符串不能以单个反斜杠结尾。但可以通过其他方法解决,如将反斜杠分开打印。

 >>> print(r"This is illegal!\")
   File "<stdin>", line 1
     print(r"This is illegal!\")
                               ^
 SyntaxError: EOL while scanning string literal
 >>> print(r‘C:\Program files\foo\bar''\\')
 C:\Program files\foo\bar\

Python学习之路——基础1的更多相关文章

  1. python学习之路基础篇(第五篇)

    前四天课程回顾 1.python简介 2.python基本数据类型 类: int:整型 | str:字符串 | list:列表 |tuple:元组 |dict:字典 | set:集合 对象: li = ...

  2. python学习之路基础篇(第四篇)

    一.课程内容回顾 1.python基础 2.基本数据类型  (str|list|dict|tuple) 3.将字符串“老男人”转换成utf-8 s = "老男人" ret = by ...

  3. python学习之路基础篇(第八篇)

    一.作业(对象的封装) 要点分析 1.封装,对象中嵌套对象 2.pickle,load,切记,一定要先导入相关的类二.上节内容回顾和补充 面向对象基本知识: 1.类和对象的关系 2.三大特性: 封装 ...

  4. python学习之路基础篇(第七篇)

    一.模块 configparser configparser用于处理特定格式的文件,其本质是利用open来对文件进行操作 [section1] # 节点 k1 = v1 # 值 k2:v2 # 值 [ ...

  5. python学习之路基础篇(三)

    博客参考:http://www.cnblogs.com/wupeiqi/articles/4943406.html http://www.cnblogs.com/luotianshuai/p/4949 ...

  6. Python学习之路基础篇--08Python基础+ 文件的基本操作和 注册小作业

    1 文件的基本操作 #1. 打开文件的模式有(默认为文本模式): r ,只读模式[默认模式,文件必须存在,不存在则抛出异常] w,只写模式[不可读:不存在则创建:存在则清空内容] a, 只追加写模式[ ...

  7. Python学习之路基础篇--02Python基础+小作业

    1 变量 变量就是将一些运算的中间结果暂存到内存中,以便后续代码调用.必须由数字,字母,下划线任意组合,且不能数字开头.不能是python中的关键字,如['and', 'as', 'assert', ...

  8. Python学习之路基础篇--01Python的基本常识

    1 计算机基础 首先认识什么是CPU(Central Processing Unit),即中央处理器,相当于人类的大脑.内存,临时储存数据,断电即消失.硬盘,可以长久的储存数据,有固态硬盘,机械硬盘之 ...

  9. python学习之路——基础篇(3)模块(续)

    re正则表达式.shutil.ConfigParser.xml 一.re 正则元字符和语法: 语法 说明 表达式 完全匹配字符 字符 一般字符 匹配自身 abc abc . 匹配除换行符"\ ...

随机推荐

  1. Linux添加、创建新用户

    给Linux添加新用户,新建用户,新建帐号 添加用户组 sudo groupadd groupname 添加用户 sudo useradd username -m -s /bin/bash -d /h ...

  2. c++ 和 matlab 下的caffe模型输入差异

    在向一个caffe模型传递输入数据的时候,要注意以下两点: 1. opencv中Mat数据在内存中的存放方式是按行存储,matlab中图像在内存中的存放方式是按列存储. 2. opencv中Mat数据 ...

  3. override javascript escape funcation

    var oldescape = window.escape; escape = function (sStr) { return oldescape(sStr).replace(/\+/g, '%2B ...

  4. 控制input输入框中提示信息的显示和隐藏的方法

    在运用html+css+javascrpt进行页面制作时,我们往往会遇到一些影响用户体验,而又容易被我们忽视的小细节.比如,input输入框中的提示信息,怎样才能根据对象获得和失去焦点而实现其显示和隐 ...

  5. React.js 小书 Lesson5 - React.js 基本环境安装

    作者:胡子大哈 原文链接:http://huziketang.com/books/react/lesson5 转载请注明出处,保留原文链接和作者信息. 安装 React.js React.js 单独使 ...

  6. 关于docker remote api未授权访问漏洞的学习与研究

    漏洞介绍: 该未授权访问漏洞是因为docker remote api可以执行docker命令,从官方文档可以看出,该接口是目的是取代docker 命令界面,通过url操作docker. docker ...

  7. Devexpress Xtrareport 创建主从报表

    效果 xtrareport 布局 From 代码 private DataSet Getdata() { DataSet ds = new DataSet(); //config配置字符串 strin ...

  8. JS动态创建SVG元素并绑定事件

    var svg = document.createElementNS("http://www.w3.org/2000/svg", "svg"); svg.set ...

  9. mysql-查询的案例

    查询每个专业的男生人数和女生人数分别是多少 #方式一: select count(*) 个数,sex,majorid from student group by sex,majorid; #方式二: ...

  10. Mybatis通用Mapper(转)

    转自:http://blog.csdn.net/isea533/article/details/41457529 极其方便的使用Mybatis单表的增删改查 项目地址:http://git.oschi ...