《python基础教程》笔记之 基础知识
- 数字相关
在Python程序前加上 from __future__ import division 或者在解释器里面直接执行它,或者通过命令行运行Python时使用命令开关-Qnew,会使单斜线不再整除,如
>>> 1/2
0.5
而双斜线实现整除,如
>>> 1//2
0
- 输入
>>> x = input('x:')
- 模块
用import导入模块,然后按照“模块.函数”的格式使用这个模块的函数,如
>>> import math
>>> math.floor(23.96)
23.0
在使用了“form模块import函数”这种形式的import命令之后,就可以直接使用函数,而不需要模块名作为前缀了,如
>>> from math import sqrt
>>> sqrt(9)
3.0
CMath模块可以实现处理复数,如
>>> cmath.sqrt(-9)
3j
- 程序
在IDLE中,file->new file会弹出一个编辑窗口,在里面编辑如下
name = raw_input("what is your name")
print 'hello,' + name + '!'
然后file-save 保存为hell.py,然后F5运行,则在解释器中出现结果,如
>>> ================================ RESTART ================================
>>>
what is your name55
hello,55!
或者双击hell.py,则命令行窗口一闪而逝。
在代码中,#右边的一切都会被忽略,那部分即为注释。
- 字符串
反引号、str和repr是将值转换为字符串的三种方式,其中str会把值转换为合理形式的字符串,以便用户理解,而repr会创建一个字符串,以合法的平Python表达式的形式来表示值,如
tmp = 1000
print 'hello ' + `tmp`
print 'hello ' + str(tmp)
print 'hello ' + repr(tmp)
结果如下
hello 1000
hello 1000
hello 1000
input会假设用户输入的是合法的Python表达式(或多或少有些与repr函数相反的意思),raw_input会把所有的输入当做原始数据,然后将其放到字符串中,如
print 'hello ' + raw_input('your name:')
print 'hello ' + input('your name:')
结果如下
your name:55
hello 55
your name:55
Traceback (most recent call last):
File "E:/work/Code/python/hell.py", line 2, in <module>
print 'hello ' + input('your name:')
TypeError: cannot concatenate 'str' and 'int' objects
如果要书写一个跨多行的长字符串,可以使用三个引号代替普通引号,如
print '''This is a long string.
it continues here.
and it's not over yet.
"hello world!".
still here.'''
结果如下
This is a long string.
it continues here.
and it's not over yet.
"hello world!".
普通字符串也可以跨行,如果一行之中最后一个字符是反斜线,那么,换行本身就“转义”了,也就是被忽略了(同时适用于表达式),如
print 'This is a long string.\
it stop here.'
结果
This is a long string.it stop here.
原始字符串不会吧反斜线当做特殊字符,在元是字符串中输入的每个字符都会与书写的方式保持一致,如
print r'E:\work\Code\python' '\\'
结果如下
E:\work\Code\python\
《python基础教程》笔记之 基础知识的更多相关文章
- jQuery官方基础教程笔记(转载)
本文转载于阮一峰的博文,内容基础,结构清晰,是jquery入门不可多得的资料,非常好,赞一个. 阮一峰:jQuery官方基础教程笔记 jQuery是目前使用最广泛的javascript函数库. 据统计 ...
- Java基础教程:泛型基础
Java基础教程:泛型基础 引入泛型 传统编写的限制: 在Java中一般的类和方法,只能使用具体的类型,要么是基本数据类型,要么是自定义类型.如果要编写可以应用于多种类型的代码,这种刻板的限制就会束缚 ...
- Java基础教程:多线程基础(1)——基础操作
Java:多线程基础(1) 实现多线程的两种方式 1.继承Thread类 public class myThread extends Thread { /** * 继承Thread类,重写RUN方法. ...
- Java基础教程:反射基础
Java基础教程:反射基础 引入反射 反射是什么 能够动态分析类能力的程序称为反射. 反射是一种很强大且复杂的机制. Class类 在程序运行期间,Java运行时系统始终为所有对象维护一个被称为运行时 ...
- Java基础教程:多线程基础(4)——Lock的使用
Java基础教程:多线程基础(4)——Lock的使用 快速开始 Java 5中Lock对象的也能实现同步的效果,而且在使用上更加方便. 本节重点的2个知识点是:ReentrantLock类的使用和Re ...
- Java基础教程:多线程基础(2)——线程间的通信
Java基础教程:多线程基础(2)——线程间的通信 使线程间进行通信后,系统之间的交互性会更强大,在大大提高CPU利用率的同时还会使程序员对各线程任务在处理的过程中进行有效的把控与监督. 线程间的通信 ...
- Java基础教程:多线程基础——线程池
Java基础教程:多线程基础——线程池 线程池 在正常负载的情况瞎,通过为每一个请求创建一个新的线程来提供服务,从而实现更高的响应性. new Thread(runnable).start() 在生产 ...
- Java基础教程:多线程基础(6)——信号量(Semaphore)
Java基础教程:多线程基础(6)——信号量(Semaphore) 信号量 信号量(Semaphore)由一个值和一个指针组成,指针指向等待该信号量的进程.信号量的值表示相应资源的使用情况.信号量S≥ ...
- Java基础教程:多线程基础(5)——倒计时器(CountDownLatch)
Java基础教程:多线程基础(5)——倒计时器(CountDownLatch) 引入倒计时器 在多线程协作完成业务功能时,有时候需要等待其他多个线程完成任务之后,主线程才能继续往下执行业务功能,在这种 ...
- python基础教程笔记—即时标记(详解)
最近一直在学习python,语法部分差不多看完了,想写一写python基础教程后面的第一个项目.因为我在网上看到的别人的博客讲解都并不是特别详细,仅仅是贴一下代码,书上内容照搬一下,对于当时刚学习py ...
随机推荐
- -_-#【Canvas】
context.lineWidth = 0.5 incorrect display lineWidth=1 at html5 canvas canvas.save() canvas.restore() ...
- 矢量做图组件OTGisX的使用(类似Mapbase)
一:组件添加到工具栏 要在应用程序中应用OTGisX控件,首先要把所下载的OTGisX组件添加到.Net工程中.并将其添加到工具箱托盘中.添加方式为:在工具箱上单击右键,选择“选择项”,会出现“选择工 ...
- app开发历程——android手机显示服务器端图片思路
以前自己都不知道怎么去显示服务器端的图片,还好在apkbus论坛上找到一个特别简单的例子.虽然一天天忙忙碌碌,但是自己内心其实有一种想逃的心里,说不定哪天就会冒出来. 1.首先服务器端图片 这里的Im ...
- Selenium索引
Common Selenium各种工具比较 Selenium firefox 版本问题 Selenium IDE Selenium IDE整理 WebDriver Java 版本 Selenium开始 ...
- windows下的类似grep命令findstr
windows下的类似grep命令findstr findstr后面跟的字符串不能加引号 C:\Users\Administrator>netstat -an|findstr 10.1.151 ...
- C primer plus 读书笔记第三章
本章的标题是数据和C,主要内容是介绍数据类型中的整数类型和浮点数类型. 本章的第一段代码 #include <stdio.h> int main(void) { float weight; ...
- web服务交互中HTTP数据内容GZIP,ZLIB格式压缩与解压缩封装(共享)
点击下载独立的dll //dll内部封装API格式 //gzip BOOL fnZlibDecompressPacket (__IN_PARAM unsigned char* gZlibDataBuf ...
- [Angular 2] Rendering an Observable Date with the Async and Date Pipes
Instead of simply pushing numbers on a timer into the template, now we'll move on to pushing actual ...
- android api 中文 (73)—— AdapterView
前言 本章内容是android.widget.AdapterView,版本为Android 2.3 r1,翻译来自"cnmahj",欢迎大家访问他的博客:http://androi ...
- Zend框架2入门(一) (转)
By Rob Allen, www.akrabat.com 修订0.1.2文件版权所有? 2011本教程的目的是给创建一个简单的数据库的介绍使用Zend Framework 2驱动的应用程序使用模型 ...