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. Zookeeper如何正确设置和获取watcher

    Watcher 设置是开发中最常见的,需要搞清楚watcher的一些基本特征,对于exists.getdata.getchild对于节点的不同操作会收到不同的 watcher信息   state=-1 ...

  2. Murano Weekly Meeting 2016.07.05

    Meeting time: 2016.July.05 1:00~2:00 Chairperson:  Kirill Zaitsev, from Mirantis Meeting summary: 1. ...

  3. Java学生管理系统(连接数据库查询)超详细

    这几天逼着交Java,借鉴各位师傅的做出来这么个简陋的东西,各位大师傅不要笑我.(学都没有学过Java的我,QAQ~) 下面针对的都是SQL Server系列的连接,如果你使用MySQL那么不必看关于 ...

  4. 百度网页分享js代码

    1.小图标 <div class="bdsharebuttonbox"> <a href="#" class="bds_qzone& ...

  5. List 去重操作

    list集合的去重操作 List<string> listCatalogID = list.Select(a=>a.CatalogID).Distinct().ToList(); 代 ...

  6. 网站架构:消息队列 Java后端架构

    2017-01-13  一.消息队列概述 消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题.实现高性能,高可用,可伸缩和最终一致性架构.是大型分布式系统不可缺少的中间 ...

  7. python处理字符串:将字符串中的数字相加求和

    计算字符串中所有数字的和,字符串中有数字和字母组合而成如果出现连续数字,按照一个数操作具体解释在代码行里: def sum_str(str1): len1=len(str1) #首先将字符串str1的 ...

  8. 零基础逆向工程35_Win32_09_临界区_CRITICAL_SECTION结构

    1 引入 为什么会存在临界区这中机制呢?是为多线程同时访问全局变量而引入的.也就是上一篇帖子的末尾流出的问题程序的解决办法. 看懂了上面的,那么我们再罗嗦总结一下: 1.多线程访问全局变量时,存在线程 ...

  9. 秒懂JSON.parse()与JSON.stringify()的区别

    在网站开发中,Json是最为常见的一种数据交互手段.在使用过程中,常会遇到Json字段串和对象之间进行转换.很多朋友对于JSON.parse() 和JSON.stringify() 的区别,下面为大家 ...

  10. 二叉查找树(c++)

    二叉查找数的操作: #include <iostream> using namespace std; typedef struct BitNode { int data; struct B ...