python学习笔记二

  1. for循环
    python的for循环和我们传统的for循环不一样,python中的for循环迭代的是一个序列
# for循环可以表示数组的每一个元素
# for eachnum in [1,2,3]
#     print eachnum,
# for 循环还可以表示迭代一个序列
# for each in range(1,11):
--->注意如果迭代是一个函数需要加冒号
#     print each,
打印结果:
1 2 3 4 5 6 7 8 9 10
# for循环还可以用于迭代一个字符串,打出字符串的每一个字母
# for char in 'hello':
#     print char,
打印结果:
h e l l o

# 利用for循环打印出字符串的每一个字母以及相对应的下标
# str_1='hello'
# # print len(str_1)

# for i in range(len(str_1)):
#     print str_1[i],'-->%d' %i
打印结果:
h -->0
e -->1
l -->2
l -->3
o -->4

如果我们需要取出每个字符串的每一个字符以及对应的下标,又不需要range()函数和len()来进行遍历
那么我们可以采用枚举函数enumerate()同时进行下标和元素的遍历

for i,ch in enumerate('hello'):
    print ch,'%d'%i

结果:

h 0
e 1
l 2
l 3
o 4
  1. 列表解析
#------------------------列表解析-----------------------#
# squared = [x ** 2 for x in range(4)]
# # squared表示0-3的平方,这里利用列表解析可以直接再x**2后面添加
# # x的范围,这就列表解析的强大之处
# for i in squared:
#     print i,
#列表解析里面不仅可以确定变量的范围而且还可以添加if语句对变量
# 进行条件的约束
# sqdEvens = [x**2 for x in range(8) if  x%2==0]
# for i in sqdEvens:
#     print i

(注意python里面是不添加分号的)
(python里面的变量不需要事先声明,可以直接赋值)
(但是python里面的函数需要实现定义,并且需要有return函数,如果没有就返回none)

  1. 函数
#--------------------------函数------------------------------------#
def addMe2Me(x):
    'apply + operation to argument'
    return (x+x)
print addMe2Me(2)
print addMe2Me('hello')
print addMe2Me(10)

python中的+非常强大,不仅可以用于字符串的连接,还可以进行计算

  1. range()函数用来生成指定范围的数组,start值可以不用指定,默认为1开始,但是结束值必须要指定,生成的数组范围为end-1,step默认为1
  2. python中的赋值是通过引用传递的,python中的赋值语句没有返回值,不能当作表达式
  3. python中的平方是**
  4. pythonx++,x- - 的自增自减运算符
  5. python中的赋值方式
#-----------------------------多重赋值--------------------------#
x=y=z=1
print x,y,z
#打印:1 1 1
#-----------------------------多元赋值---------------------------#
# (x,y,z)=(1,2,'hello')--->元组的方式进行赋值
# print x,y,z
# 打印:1 2 hello
#-----------------------------变量的互换------------------------#
x,y=1,2
x,y=y,x--------->这里直接交换,而不需要一个temp变量
print x,y
打印:2 1

(python对大小写敏感)

  1. _xxx:表示类中私有的变量,在类外不可以使用
  2. xxx:表示系统变量
    3.缩进的时候尽量不要用制表符,因为不同的文本编辑器对制表符的编译是不一样的,所以尽量使用四个空格来代替。

  3. 尽量使用局部变量代替全局变量,容易维护

  4. 在python中无需声明变量类型,不用关心内存管理,解释器会根据语法和右侧的操作数决定变量的类型,内存的管理也由解释器进行动态的分配和回收
  5. python中的赋值和清除只是引用计数的增加和减少
#----------------------------引用计数---------------------------#
x=123
y=x
print x,y
#表示123被引用了两次
x=234
#x被重新赋值,123的引用次数减一
#234的引用次数加1
print x,y
del y
# 删除变量Y表示x
# print x的引用次数减一
# 从名称空间删除y
# 打印:
# 123 123
# 234 123
# 234
  1. python是面向对象的语言,所以他的返回值是一个对象
print type(23)
print type(type(23))
# <type 'int'>
# <type 'type'>
欢迎关注我的公众号:小秋的博客 CSDN博客:https://blog.csdn.net/xiaoqiu_cr github:https://github.com/crr121 联系邮箱:rongchen633@gmail.com 有什么问题可以给我留言噢~
原文地址:https://www.cnblogs.com/flyingcr/p/10428326.html