#!/usr/bin/env python
# -- coding: utf-8 --
第一行注释是为了告诉Linux/OS X系统,这是一个Python可执行程序,Windows系统会忽略这个注释;
第二行注释是为了告诉Python解释器,按照UTF-8编码读取源代码,否则,你在源代码中写的中文输出可能会有乱码。
注释用符号#
当语句结尾为“:”时,缩进语句视为代码块,约定使用4个空格的缩进。
数据类型
1、整数和布尔值
整型和长整型并不严格区分,整型值后加L即为长整型;
大小任意,正负皆可。
>>> type(3L)
<type 'long'>
>>> type(3)
<type 'int'>
十六进制前缀用 0x
>>> print 0xa
10
>>> type(0xa)
<type 'int'>
布尔值:
一个布尔值有True、False两种值(区分大小写);
本质上是用1/0分别存储的.
布尔运算有and、or、not;
2、浮点数
普通小数:12.3,0.123,-1.23;
科学计数法:1.23e-5即1.23x10^-5
>>> type(3.0)
<type 'float'>
>>> print 1.23e-5
1.23e-05
>>> print 1.2e3
1200.0
注意:整数之间相除与整数与浮点数之间相除的区分.
>>> 9/2
4
>>> 9/2.0
4.5
>>> 9//2.0
4.0
或者把计算模块导入,实现和数学中的计算一致:
>>> from __future__ import division
>>> 5/2
2.5
>>> 9/4
2.25
(在某些集成开发环境中已经自动将计算模块导入,故计算结果会与数学中的一致)
3、复数
复数可以分离实部real和虚部imag,可利用conjugate获得其共轭;
>>> 1.2+3.4j
(1.2+3.4j)
>>> 1.2j+3.4
(3.4+1.2j)
>>> f=1.2+3.4j
>>> f.real
1.2
>>> f.imag
3.4
>>> f.conjugate()
(1.2-3.4j)
4、字符串
①以单引号双引号或三引号括起来的任意文本,’python’,”abc”
三引号可以注释多行字符串,内部也可以使用单引号和双引号.
②若字符串内部含有’或”时,用转义字符\,
“python\”abc”
表示的字符串为
python”abc
③Unicode字符串操作符u,转换成Unicode字符串;
r表示raw,即内部的字符串默认不转义;
>>> print "\t\t\tabc"
abc
>>> print r"\t\t\tabc"
\t\t\tabc
>>> print '\n\n\\abc'
\abc
>>> print r'\n\n\\abc'
\n\n\\abc
r常用于处理路径:
如:f=open(r’E:\python\abc\test.py’, ‘r’)
若不用r,则应改为f=open(‘E:\python\abc\test.py’, ‘r’)
另:
\t 水平制表符
\v 竖直制表符
\n 换行符
\r 回车符
\ 反斜杠\
\’ 单引号
\” 双引号
\0 Null(空值)
\ooo 八进制值
\xhh 十六进制值
\uxxxx Unicode字符(\u0000~\uffff)
④用”’多行”’或”“”多行”“”的格式可以表示多行内容:
>>> print '''L00
L01
L02'''
L00
L01
L02
print"""L00
L01
L02"""
L00
L01
L02
⑤格式化
格式化字符串与C语言一样用%
%s替换字符串
%d替换整数
%f替换浮点数
%x替换十六进制整数
>>> print "my name is %s" % 'Tom'
my name is Tom
>>> print 'Age: %d' % 7
Age: 7
>>> print 'Name: %s,Age: %d' % ('Tom',7)
Name: Tom,Age: 7
另:使用format
format通过{}代替%方法
print "She is {} ,class{}".format("Marry",3)
输出:
She is Marry ,class3
可以使用参数索引,索引从0开始:
print "She is {0} ,class:{1}, age:{2}".format("Marry",3,16)
输出:
She is Marry ,class:3, age:16
且参数位置不受约束:
print "She is {2} ,class:{1}, age:{0}".format(16,3,"Marry")
输出:
She is Marry ,class:3, age:16
也可以使用列表list或字典dict传入位置参数:
list:
l = ["Marry",3,16]
print "She is {} ,class:{}, age:{}".format(*l)
输出:
She is Marry ,class:3, age:16
dict(关键字参数值要对上):
d = {'name':'Marry','age':16,'class':3}
print "She is {name} ,class:{class}, age:{age}".format(**d)
输出:
She is Marry ,class:3, age:16
5、空值
None是一个特殊值,不能理解为0;
变量:变量名大小写英文、数字和_的组合,且不能用数字开头。同一个变量可以反复赋不同类型的值。
输入输出
输出:
print
①print打印整数或计算结果:
>>> print 12345679
12345679
>>> print 12345679*9
111111111
②print打印字符串:
>>> print 'you know nothing'
you know nothing
print打印多个字符串时,字符串间用逗号依次隔开,输出时每遇到一个逗号用空格隔开:
>>> print 'you','know','nothing'
you know nothing
输入:
raw_input():
输入
>>> string=raw_input()
回车,然后输入字符串’abcdef’回车;这样就把字符串’abcdef’存放到了变量string里。
查看string内容,输入
>>> string
回车,可得到'ajdkljkl'
或输入
>>> print string
也可添加输入提示:
>>> string=raw_input('inpu string: ')
inpu string: abcdef
>>> print string
abcdef
另:raw_input()返回形式为字符串,当需要输入作为数字时应进行相应转化:
n=int(raw_input('n='))
if n>10:
print n,'>10'
else:
print n,'<10'