Python三天紧急入门笔记(第一天)
工作需要三天学会Python,好吧,试试。
前言
安装和基本常识了解都以最快速了解,开发环境PyCharm赶紧装上,其他常识都等有需要学习的时候再说。为了最省事,只在PyCharm里运行、调试程序,不碰控制台。
输出中文
#!/usr/bin/python
#coding=utf-8
print "你好,世界";
行和缩进
缩进一律用4空格,不多说。
运算如果折行,需要加\
aa = 1
bb = 2
cc = aa + \
bb
print cc // 得3
Python空行
函数之间或类的方法之间用空行分隔,表示一段新的代码的开始。类和函数入口之间也用一行空行分隔,以突出函数入口的开始。空行并不是Python语法的一部分,跟其他语言一样,为了代码分界。记得多空行就行了。
等待用户输入
其实这不算入门功能,但是其实很有用,用于人机交互。这里先只提一句:
raw_input("\n\nPress the enter key to exit.")
"\n\n"在结果输出前会输出两个新的空行。一旦用户按下 enter(回车) 键退出,按其他键就把内容显示出来。
x="a"
y="b"
# 换行输出
print x
print y
print '---------'
# 不换行输出,x和y中间会有空格
print x,
print y,
变量
没任何标记,没有var,没有美元符号标记,只要有赋值符号,前面就是变量名。
连续赋值:
a = b = c = 1 # 三个变量指向相同的内存空间
分别赋值:
a, b, c = 1, 2, "john"
删除变量
del var_a, var_b
数据类型
- Numbers(数字)
- String(字符串)
- List(列表)
- Tuple(元组)
- Dictionary(字典)
数字类型
四种不同的数字类型:
- int(有符号整型)
- long(长整型[也可以代表八进制和十六进制])
- float(浮点型)
- complex(复数)
其中日常主要用整形和浮点型。
random()随机数函数
uniform(x, y)范围随机数
shuffle(lst)随机排序函数
字符串
s = 'ilovepython'
s[1:5] # 得到love
加号 + 是字符串连接运算符,跟js一样。星号 * 是重复操作,就是把字符串变量的值重复输出N次:
s = 'ilovepython'
b = s * 3
print b # 得到ilovepythonilovepythonilovepython
字符串格式化:
print "My name is %s and weight is %d kg!" % ('Zara', 21)
得到:
My name is Zara and weight is 21 kg!
虽然python字符串格式化符号有13种,但其实只有两种常用,就是%s和%d。
三引号:
hi = '''hi
there'''
print hi
得到两行字
hi
here
三引号让程序员从引号和特殊字符串的泥潭里面解脱出来,自始至终保持一小块字符串的格式是所谓的WYSIWYG(所见即所得)格式的。
一个典型的用例是,当你需要一块HTML或者SQL时,这时用字符串组合,特殊字符串转义将会非常的繁琐。
string对象,有一大堆的方法和属性,参见http://www.runoob.com/python/python-strings.html
Python列表
Python 中使用最频繁的数据类型,相当于数组。
用[头下标:尾下标]可以截取相应的列表。
print ['runoob', 786, 2.23, 'john', 70.2, 123, 'john'][2:4]
加号(+)是列表连接运算符,星号(*)是重复操作,就跟操作字符串一样。
列表的内置函数和方法,参见http://www.runoob.com/python/python-lists.html
Python元组
元组是另一个数据类型,类似于List(列表)。
元组用"()"标识。内部元素用逗号隔开。但是元组不能二次赋值,等于只读列表。
元组的内置函数和方法,参见http://www.runoob.com/python/python-tuples.html
Python 字典
字典(dictionary)是除列表以外python之中最灵活的内置数据结构类型。列表是有序的对象结合,字典是无序的对象集合。字典相当于js语言的对象。
两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
字典用"{ }"标识。字典由索引(key)和它对应的值value组成。
tinydict = {'name': 'john', 'code': 6734, 'dept': 'sales'}
print tinydict['code'] # 输出键为'code' 的值
print tinydict.keys() # 输出所有键
print tinydict.values() # 输出所有值
字典的内置函数和方法,参见http://www.runoob.com/python/python-dictionary.html
数据类型转换
数据类型的转换,只需要将数据类型作为函数名即可。
这里有几个内置的函数可以执行数据类型之间的转换。这些函数返回一个新的对象,表示转换的值。http://www.runoob.com/python/python-variable-types.html
type内置函数用于查看变量的数据类型
print type(['runoob', 786, 2.23, 'john', 70.2, 123, 'john'][2:4])
得到<type 'list'>
print type(type(['runoob', 786, 2.23, 'john', 70.2, 123, 'john'][2:4]))
得到``<type 'type'>`,说明type返回的类型是type,而不是字符串。
还可以用 isinstance 来判断数据类型
a = 111
isinstance(a, int)
# 得到True
运算符
没有全等运算符。
减法赋值运算符(-=)等赋值运算符,跟其他语言一致。
逻辑运算符:
- 逻辑与
a and b
- 逻辑或
a or b
- 逻辑非
not(a and b)
,相当于其他语言的叹号(!)
成员运算符:in跟js语言一致,如果在指定的序列中找到值返回 True,否则返回 False。not in跟in相反。
···
list = [1, 2, 3, 4, 5 ];
a = 6
print a in list # 得到False
print a not in list # 得到True
···
条件语句
跟其他语言的写法区别在于,条件语句不用括号包裹,而且后面有一个冒号。else后面也要有冒号。
其他语言的else if在这里是elif,就四个字符。
python 并不支持 switch 语句。
其他语言的“逻辑与”(&&)在py里是and,“逻辑或”(||)在py里是or。
执行语句用四个空格缩进。多个语句写成多行。
if True:
print "True"
print "haha"
else:
print "False"
条件语句可以换行写,但这时候要用括号括起来,py会自动解析成一行。
if (True and
True):
print "True"
else:
print "False"
循环语句
Python有for循环和while循环,用法同其他语言,没有do..while循环。
while循环
count = 0
while count < 9:
print 'The count is:', count
count = count + 1
print "Good bye!"
打印出:
The count is: 0
The count is: 1
The count is: 2
The count is: 3
The count is: 4
The count is: 5
The count is: 6
The count is: 7
The count is: 8
Good bye!
注意这里空行和缩进的必要性,因为没有其他语言的大括号来包裹,只能用空行和回退缩进来表示脱离上述循环。回退缩进是必须的,空行不是必须,只是为了直观。
while 后面接 else 语句
表示跳出循环之后要执行什么。
for ... in ... 循环
for letter in 'Python': # 遍历字符串
print '当前字母 :', letter
fruits = ['banana', 'apple', 'mango']
for fruit in fruits: # 遍历列表,也就是遍历数组
print '当前水果 :', fruit
print "Good bye!"
打印:
当前字母 : P
当前字母 : y
当前字母 : t
当前字母 : h
当前字母 : o
当前字母 : n
当前水果 : banana
当前水果 : apple
当前水果 : mango
Good bye!
循环后接else语句
这是一种比较深的用法,将来遇到了再回来说吧。参考http://www.runoob.com/python/python-for-loop.html
循环控制语句一:break 语句
for letter in 'Python': # 遍历字符串
if letter == 'h':
break # 到h的时候就终止了,也不会打印h
print '当期字母 :', letter
得到
当期字母 : P
当期字母 : y
当期字母 : t
var = 10
while var > 0:
print '当期变量值 :', var
var = var - 1
if var == 5:
break # 当变量 var 等于 5 时退出循环
得到
当期变量值 : 10
当期变量值 : 9
当期变量值 : 8
当期变量值 : 7
当期变量值 : 6
循环控制语句之二:continue 语句
continue 语句跳出本次循环,而break跳出整个循环。
continue 语句用来告诉Python跳过当前循环的剩余语句,然后继续进行下一轮循环。
也就是说,break终止for的剩余循环,continue提前结束本次循环。