Python系列-------基本语法

Python中数据类型:

  一.整数

    python可以处理任意大小的整数,当然包括负整数,在python程序中,整数的表示方法和数学的写法一模一样。、

    

  二.浮点数

    浮点数也是小数,之所以称浮点数是因为按照科学计数法表示时,一个浮点数的小数点位置是可变的,例如1.23x10^9和12.3x10^8是相等的。

    整数和浮点数在计算机内部存储的方式不同的,整数运算永远精确的,浮点数运算则可能会被四舍五入。

  三.字符串

    字符串是以‘  ’或 “  ”括起来的任意文本。

  

  四.布尔值

    布尔值和布尔代数的表示完全一致,一个布尔值只有True,False两种值(注意大写)。

    布尔值可以用and,or,not运算

  五.空值

    空值是python里一个特殊的值,用None表示,None不能理解为0,因为0是有意义的,而None是一个特殊的空值。

  

   python输出语句:print

   python的注释语:以#开头,直到行尾结束。

Python中的变量:

  在Python中,变量使用一个变量名表示,变量名必须是大小写英文,数字和下划线的组合,且不能用数字开头。

  在Python中 等号=是赋值语句,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量。这种不固定类型的赋值称之为动态语句,反之,静态语句中定义变量必须指定变量类型,如果赋值类型不匹配,就会报错。

      如何理解变量在计算机中的表示:

a = 'ABC'
b = a
a = 'XYZ'
print b

  Python解释器

    第一步在内存创建了一个‘ABC’的字符串,然后在内存中创建了一个名为a的变量,并把它指向'ABC'。

    第二步是把变量b指向变量a所指向的数据。

    第三步是给变量a重新赋值为'XYZ'。

    第四步输出b为'ABC',b的指向并没有发生改变。

Python中定义字符串

  在上文提到,字符串可以用‘ ’和“ ”表示

  如果在字符串中包含‘ ’和“ ” 该如何表示呢

    这时候,我们需要对字符串的某些特殊字符进行转义,Python字符串用  \   进行转义 。

     \n 表示换行

     \t 表示一个制表符

     \\表示 \ 字符本身

Python中raw字符串和多行字符串

  如果一个字符串包含很多需要转义的字符,对每一个字符串都进行转义会很麻烦。为了避免这种情况,我们可以在字符串前面加一个前缀 r ,表示这是一个 raw 字符串,里面的字符就不需要转义了。

  如果需要表示多行字符串,可以用'''...'''表示:

第一种:
      'Line 1\nLine 2\nLine 3'
第二种:
      '''Line 1    
        Line 2
        Line 3'''   
     两种表示方法是一样的

  

 Python中整数与浮点数

   python支持对整数和浮点数直接进行四则混合运算,运算规则和数学上的四则运算规则完全一致。

     与数学运算不同的是:Python的整数运算结果仍然是整数,浮点数运算仍然是浮点数,整数和浮点数混合运算的结果就变成了浮点数。

   注意:在Python的整数除法时,除不尽的数仍然是整数,余数会被直接扔掉。不过,python提供了一个求余的运算% 可以计算余数。

  Python按照索引访问list

   list是一个有序集合,可以通过索引的方式来获取list中的指定元素。(索引从0开始)

   list的倒序访问和正序访问相反。

L = [95.5, 85, 59]
print L[-1]  //59
print L[-2]  //85        
print L[-3]  //95.5

print L[0]   //95.5
print L[1]   //85
print L[2]   //59

  

  Python之添加新元素

  第一种方式:用list的append()方法追加到list的末尾。

  第二种方式: 用list的insert()方法,它接受两个参数,第一个参数是索引号,第二个参数是待添加的新元素。

      L=['A','B','C']
      L.append('D')
      print  L    //['A','B','C','D']
      L.insert(0,'D‘)
      print L     //['D','A','B','C']
注意:print前在python语法中不能有空格

  

  Python从list删除元素

  第一种方式:用list的pop()方法删除,pop()方法总是删掉list的最后一个元素,并且它返回这个元素。

  第二种方式:使用pop(索引值)方法删除。

      L=['A','B','C']
      L.pop()     //'D'
      print  L    //['A','B']
      L.pop(2)    //'C'
      print L     //['A','B']

  

  Python中替换元素

  第一种方式:先将替换元素删除,再添加新元素。

  第二种方式:直接根据索引替换对应的元素。

  

  Python之创建tuple

  tuple是另一种有序的列表,中文翻译为“元祖”。tuple和list非常类似,但是tuple一旦创建完毕,就不能修改了。

  创建tuple和创建list唯一不同之处是用( )替代了[ ]

  Python之创建单元素tuple

  tuple和list一样,可以包含0个,1个和人任意多个元素。包含0个元素的tuple,也就是空tuple。直接用()表示。

>>> t = (1)
>>> print t
     1    

    由于()既可以表示tuple,又可以作为括号表示运算时的优先级,结果(1)被Python解释器计算结果1,导致我们得到的不是tuple,而是数字1.
    
    正因为用()定义的tuple有歧义,所以在python规定,单元素tuple要多加一个逗号“ ,”来避免歧义。
    
>>> t = (1,)
>>> print t
(1,)

   Python之“可变”的tuple

>>> t = ('a', 'b', ['A', 'B'])
>>> L = t[2]
>>> L[0] = 'X'
>>> L[1] = 'Y'
>>> print t
('a', 'b', ['X', 'Y'])

  表面上看,tuple的元素确实变了,但其实变得不是tuple的元素,而是list的元素。tuple一开始指向的list并没有改成别的list,所以,tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。即指向“a”,就不能改成指向“b”,指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的。

  

    Python之if语句

  Python代码的缩进规则。具有相同缩进的代码被视为代码块,缩进按照严格的Python的习惯写法:4个空格,不要使用Tab,更不要混合Tab和空格,否则很容易造成因为缩进引起的语法错误。

  

  Python之if-else语句

  利用if....else...语句,可以根据条件表达式打的值为True或者False,分别执行if代码或者else代码块。else有个“:”

  Python之if-elif-else语句

  在处理逻辑关系时,会出现多层嵌套的结构,而在python已经给出了很好地处理语法,引入了if.....多个elif...else....的结构,一次可以写完所有规则。

  Python之for循环

  list或tuple可以表示一个有序集合,对访问每一个元素可以使用 for  循环依次吧list或tuple的每一个元素迭代出来。

  例如:

L = ['Adam', 'Lisa', 'Bart']
for name in L:
    print name

  Python之while循环

  和for不同的是while循环,while循环不会迭代list或tuple的元素,而是根据表达式判断循环是否结束。

  while循环每次首先判断x<N:,如果为True,则执行循环体的代码块,否则退出循环。(避免死循环的出现)

  Python之break退出循环

  用 for 循环或者 while 循环时,如果要在循环体内直接退出循环,可以使用 break 语句。

  

  Python之continue继续循环

  在循环过程中,可以用break退出当前循环,还可以用continue跳过后续循环代码,继续下一次循环。

  例如:

当 x 是偶数时,就通过continue语句提前进入下一次循环。

continue判断的位置非常重要。

sum = 0
x = 0
while True:
    x = x + 1
    if x > 100:
        break
    if x % 2 == 0:
        continue
    sum= sum + x 
print sum

  Python之多重循环:

对100以内的两位数,请使用一个两重循环打印出所有十位数数字比个位数数字小的数,例如,23(2 < 3)。

for x in [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]:
    for y in [ 1, 2, 3, 4, 5, 6, 7, 8, 9]:
        if x < y:
            print x*10 + y

  Python之dict

  在Python中,dict中存在形如key-value可以快速查找所需要的的信息。使用{}符号表示

  dict的第一个特点是查找速度快,无论dict有10个元素还是10万个元素,查找速度都一样。而list的查找速度随着元素增加而逐渐下降。不过dict的查找速度快不是没有代价的,dict的缺点是占用内存大,还会浪费很多内容,list正好相反,占用内存小,但是查找速度慢。

  由于dict是按 key 查找,所以,在一个dict中,key不能重复。

  dict的第二个特点就是存储的key-value序对是没有顺序的!这和list不一样。所以打印的顺序不一定是我们创建的,而且,不同机器打印的顺序可能会不同,不能用dict存储有序的集合。

  dict的第三个特点是作为 key 的元素必须不可变,Python的基本类型如字符串、整数、浮点数都是不可变的,都可以作为 key。但是list是可变的,就不能作为 key。

  Python更新dict

  dict是可变的,我们可以随时往dict中添加新的key-value。

  如果key值不存在,可以赋值语句添加。

  如果key值存在,则会更新value值。

  

  Python之遍历dict

  由于dict也是一个集合,所以,遍历dict和遍历list类似,都可以通过 for 循环实现。

  

  Python中的set

  dict的作用是建立一组 key 和一组 value 的映射关系,dict的key是不能重复的。有的时候,我们只想要 dict 的 key,不关心 key 对应的 value,目的就是保证这个集合的元素不会重复,这时,set就派上用场了。

  set 持有一系列元素,这一点和 list 很像,但是set的元素没有重复,而且是无序的,这点和 dict 的 key很像。

  创建 set 的方式是调用 set() 并传入一个 list,list的元素将作为set的元素:(set不能包含重复的元素,会自动去掉重复元素)

>>> s = set(['A', 'B', 'C'])
>>> print s
set(['A', 'C', 'B'])

请注意,上述打印的形式类似 list, 但它不是 list,仔细看还可以发现,打印的顺序和原始 list 的顺序有可能是不同的,
因为set内部存储的元素是无序的。

  由于set存储是无序集合,所以没有办法通过索引来访问。然而访问set中的某一个元素就是判断一个元素是否存在set中。使用in操作符判断。

  set的特点:  

    set的内部结构和dict很像,唯一区别是不存储value,因此,判断一个元素是否在set中速度很快。

    set存储的元素和dict的key类似,必须是不变对象,因此,任何可变对象是不能放入set中的。

    最后,set存储的元素也是没有顺序的。

  set的实例:

months = set(['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'])
x1 = 'Feb'
x2 = 'Sun'

if x1 in months:
    print 'x1: ok'
else:
    print 'x1: error'

if x2 in months:
    print 'x2: ok'
else:
    print 'x2: error'
输出:
x1: ok
x2: error

  更新set 

  由于set存储的是一组不重复的无序元素,因此,更新set主要做两件事:

    一是把新的元素添加到set中,

    二是把已有元素从set中删除。

  添加元素时,用set的add()方法: 

>>> s = set([1, 2, 3])
>>> s.add(4)
>>> print s
set([1, 2, 3, 4])
如果添加的元素已经存在,add()不会报错,但也不会加进去。

  删除set中的元素时,用set的remove()方法:

>>> s = set([1, 2, 3, 4])
>>> s.remove(4)
>>> print s
set([1, 2, 3])
如果删除的元素不存在,remove()会报错。

  Python之函数

  内置函数:https://docs.python.org/2/library/functions.html#

   

  编写函数:

  在Python中,定义一个函数要使用 def 语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用 return 语句返回。

   例子:

def my_abs(x):
    if x >= 0:
        return x
    else:
        return -x

  请注意,函数体内部的语句在执行时,一旦执行到return时,函数就执行完毕,并将结果返回。因此,函数内部通过条件判断和循环可以实现非常复杂的逻辑。如果没有return语句,函数执行完毕后也会返回结果,只是结果为 None。

  

猜你喜欢

转载自www.cnblogs.com/hudunyu/p/11910573.html