Python学习(一)基本语法
(一)Python的缩进和换行
之前一直都是用C开发,闲暇之余,想学下python,一开始感觉很不习惯,跟C的语言风格还是有相当大的区别。
Python没有花括号{},使用缩进来作为程序层次区分的标志,此外Python没有分号;,以换行来实现程序语句的结束。据说这样的设计是为了强制形成开发者开发的时候注意缩进和单个程序语句独立成行的习惯,便于程序阅读。
如下,if语句的使用,while语句并没有使用花括号,而是利用缩进,print语句和while语句的缩进是一样的,所以print语句已经不属于while循环的内容了。
事实上,我不是很习惯这种方式,而且也担心多重循环或者判断会不会使代码难以阅读,网上的建议是程序本身来讲,就不应该存在太多重的循环和判断,应该避免这种情况出现,考虑去简化逻辑,拆分或者优化你的程序。
sum =
n =
while (n <= and n > ):#python 没有&& 和||,等价的是 and 和 or
sum = sum + n
n = n -
print sum
(二)Python的变量
1.变量的定义
Python的变量定义的时候,无需显式的表明该变量是何种类型,根据你赋值的内容来决定。
C变量的定义和赋值
int a = ;
float b = ;
Python则是直接写出变量名称,
a =
b =
2.变量长度
Python中list、dict的总长度都是无需在定义的时候就声明清楚,你可以任意的增删。区别于C语言定义数组的时候,必须规定数组长度(C++里可以用new的方式,C则要调用malloc函数来解决动态内存分配的问题)。
#list add and delelte
fruit = ['apple','pear','banana']
print fruit
fruit.append('strawberry')
print 'add %s' %fruit[-] #通过下标来查找
print fruit
fruit.insert(,'tomato')
print 'add %s' %fruit[]
print fruit
print 'delete %s'%fruit[]
fruit.pop()
print fruit
#也可以先定义一个空的list,后面根据给list赋值
fruit = []
3.Python的list/tuple和dict
list:我的理解是,它就是一个动态分配的数组一样,你可以通过序号来查找。list的标志是使用[]。如fruit = [‘apple’,’pear’,’banana’]
tuple:跟list很像,但是其元素是不可修改的。tuple的标志是使用()。classmates = (‘mike’,’Bob’,’Tracy’) #元组元素不能变
dict:它每一个元素包含key、value两个部分,通过key来查找value。
d = {‘mike’:30,’sky’:70,’Abner’:80}
dict和list的区别:list占用的内存小,只有值占用了内存,而dict则需要同时存入键值(key)和值(value);但是dict的优势在于查找的速度快,可以利用key快速的定位到值,而list则要通过下标,相对来说较慢。
(三).基本语句 if、for、while
1.if :跟普通的if语句没什么区别,如下:
age =
if (age > ) :
print 'your age is %d' %age
print 'adult'
else :
print 'your age is %d' %age
print 'teenager'
2.while:跟普通的while语句没什么区别
例子,见(一)
3.for:python的for,个人理解是专门设计成为迭代、遍历服务的,如下:
#dict的迭代
d = {'a':,'b':,'c':}
for key in d:
print key
for value in d.itervalues():
print value
for key,value in d.iteritems():
print key,value