《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 ...
随机推荐
- BZOJ 1022 [SHOI2008]小约翰的游戏John
1022: [SHOI2008]小约翰的游戏John Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 1635 Solved: 1036[Submit] ...
- BZOJ1660: [Usaco2006 Nov]Bad Hair Day 乱发节
1660: [Usaco2006 Nov]Bad Hair Day 乱发节 Time Limit: 2 Sec Memory Limit: 64 MBSubmit: 606 Solved: 289 ...
- -_-#【乱码】URL中文参数
JavaScript利用URL向后台传入中文参数乱码问题解决之道! encodeURIComponent(encodeURIComponent('ya呀')) http://wap.baomihua. ...
- SherlockActivity也可以用依赖注入的方法:
场景: 一个Activity必须继承RoboActivity才可以使用依赖注入. 若一个Activity已经继承了别的Activity了.比如SherlockActivity 如何才能使用依赖 ...
- shell中条件判断if中的-z到-d的意思【转载】
本文转载自[http://blog.csdn.net/utstarm/article/details/6536916] [ -a FILE ] 如果 FILE 存在则为真. [ -b FILE ] ...
- LeetCode (10): Regular Expression Matching [HARD]
https://leetcode.com/problems/regular-expression-matching/ [描述] Implement regular expression matchin ...
- Linux操作系统以及各大发行版介绍——Linux operating system and major distribution is introduced
什么是Linux? 也许很多人会不屑的说,Linux不就是个操作系统么.错!Linux不是一个操作系统,严格来讲,Linux只是一个操作系统中的内核.内核是什么?内核建立了计算机软件与硬件之间通讯的平 ...
- JQuery Mobile页面的载入方式
1.JQM页面结构 jQuery Mobile是通过data-role属性来区分渲染界面样式的,JQM里面提供的data-role如下表: 参数 说明 page 页面容器,其内部的mobile元素将会 ...
- python:unittest(测试框架)
一,基本概念 TestCase:所有测试用例的基类 TestLoad:加载测试用例,返回TestSuite(测试套件) TestSuite:创建测试套件 TextTestRunner:运行测试用例 T ...
- nagios 实现Mysql 主从同步状态的监控
一.系统环境 主机名 IP nagios 192.168.15.111 mysql_s 192.168.15.21 二.操作步骤 2.1 mysql_s端的配置 2.1.1 编写check_mysql ...