一天一语言:快速入门python

2017-05-31  本文已影响0人  Chenzongshu

Python教程太过繁杂,针对的前提的没怎么接触过编程的人士,最近在学Python,特列出与C程序不同之处,方便C程序员快速入门。

编译执行

python本身是解释性语言,不需要编译,可以直接使用python执行

python xxx.py

如果你嫌麻烦,可以在脚本的第一行指定解释器,即可把开头的python省略

#!/usr/bin/python
# -*- coding: UTF-8 -*-   #这行中文用户一定要写

直接可以xxx.py执行

结构

变量

变量赋值不需要声明类型,同一个变量可以反复赋值,而且可以是不同类型的变量

a =123   # a是整数
print a

a ='ABC'  # a变为字符串
print a

字符可乘

print ‘=’*10   #等于‘==========’

格式化输出

有两种方式,一种是类似于C语言的print函数,一种是2.7版本以后增加的format函数;
print函数和C类似,只是后面使用的是%,如print "ID is %u and %u" % (num1,num2)

另一种就是format函数,format函数使用占位符号" {} "表示第几个输入,":"做格式限定,而且有多种方式

通过位置:

In [1]: '{0},{1}'.format('kzc',18) 
Out[1]: 'kzc,18' 
In [2]: 'first is {}, second is {}'.format('kzc',18) 
Out[2]: 'first is kzc,second is 18' 
In [3]: '{1},{0},{1}'.format('kzc',18) 
Out[3]: '18,kzc,18'

通过关键字:

In [5]: '{name},{age}'.format(age=18,name='kzc') 
Out[5]: 'kzc,18'

通过对象属性:

class Person: 
  def __init__(self,name,age): 
    self.name,self.age = name,age 
  def __str__(self): 
    return 'This guy is {self.name},is {self.age} old'.format(self=self) 

In [2]: str(Person('kzc',18)) 
Out[2]: 'This guy is kzc,is 18 old'

通过数组下标:

In [7]: p=['kzc',18]
In [8]: '{0[0]},{0[1]}'.format(p)
Out[8]: 'kzc,18'

格式限定符:

In [54]: '{:b}'.format(17)  # b表示二进制,x表示十六进制,o表示八进制
Out[54]: '10001'

In [16]: '{:0>8}'.format('189') 
Out[16]: '00000189'   #^、<、>分别是居中、左对齐、右对齐,8为宽度,0表示填充位

字典

字典就是map

d = {'Michael':95,'Bob':75,'Tracy':85}

函数

切片

取一个list或tuple的部分元素,

L = ['Michael','Sarah','Tracy','Bob','Jack']

L[0:3]表示,从索引0开始取,直到索引3为止,但不包括索引3。即索引0,1,2,正好是3个元素。

如果第一个索引是0,还可以省略: L[:3],还支持负数 L[-2:-1]

迭代:

只要是可迭代对象,无论有无下标,都可以迭代,通过collections模块的Iterable类型判断

>>>from collections import Iterable
>>>isinstance('abc', Iterable) # str是否可迭代
True

>>>d = {'a':1,'b':2,'c':3}

>>>for key in d: 

       print key

列表生成式

生成[1x1, 2x2, 3x3, ..., 10x10]

>>> [x * x for x in range(1, 11)]

[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

>>> [x * x for x in range(1, 11) if x % 2 == 0]

[4, 16, 36, 64, 100]

>>> [m + n for m in 'ABC' for n in 'XYZ']

['AX', 'AY', 'AZ', 'BX', 'BY', 'BZ', 'CX', 'CY', 'CZ']

装饰符

闭包
@property

上一篇下一篇

猜你喜欢

热点阅读