posir 发表于 2018-8-11 12:28:28

Python -- 语法和变量

  小Q:风一更,雪一更,聒碎乡心梦不成,故园无此声。         ----纳兰容若《长相思》
  ---------------------------------------------------------------------------------------------------
  以下个人归纳总结,献给大家和自己,嘿嘿。。。
  Python支持两种编程方式,交互式编程和脚本式编程。
  前者即在python环境界面,命令行输入,通过python解释器交互编程;
  后者通过脚本参数调用解释器执行脚本,直到脚本执行完后,解释器不再有效。
  ------------------------------------------基础语法--------------------------------------
  Python 标 识 符
  在python里,标识符有字母、数字、下划线组成;
  并且严格区分大小写;      并且不能以数字开头;      以下划线开头是有意义的,如下:
  以单下划线开头(_foo)是不能直接访问的类属性,需通过类提供的接口进行访问,不能用"from xxx import *"而导入;
  以双下划线开头的(__foo)代表类的私有成员;以双下划线开头和结尾的(__foo__)代表python里特殊方法专用的标识,如__init__()代表类的构造函数。
  Python 保 留 字
  这些保留字不能用作常数或变数,或任何其他标识符名称。
  所有Python的关键字只包含小写字母。
andexecnotassertfinallyorbreakforpassclassfromprintcontinueglobalraisedefifreturndelimporttryelifinwhileelseiswithexceptlambdayield  Pthon 的 行 和 缩 进
  Python与其他语言最大的区别就是,Python的代码块不是用大括号({})来控制类,函数以及其他逻辑判断;而python最具特色的就是用缩进来写模块。
  缩进的空白数量是可变的,但是所有代码块语句必须包含相同的缩进空白数量,这个必须严格执行。如下所示:
if True:  
    print "True"
  
else:
  
print "False"
  以下代码将会执行错误:
#!/usr/bin/python  
# -*- coding: UTF-8 -*-# 文件名:test.py
  

  
if True:
  
    print "Answer"
  
    print "True"
  
   else:
  
    print "Answer"
  
    # 没有严格缩进,在执行时保持
  
print "False"
  错误一:IndentationError: unexpected indent
  编译器是在告诉你"Hi,老兄,你的文件里格式不对了,可能是tab和空格没对齐的问题";
  错误二: IndentationError: unindent does not match any outer indentation level
  你使用的缩进方式不一致,有的是 tab 键缩进,有的是空格缩进,改为一致即可。
  Python 的 多 行 语 句
  Python语句中一般以新行作为为语句的结束符。
  但是我们可以用( \)将一行的语句分为多行显示,如下所示:
total = item_one + \  
      item_two + \
  
      item_three
  语句中包含[], {} 或 () 括号就不需要使用多行连接符。如下:
days = ['Monday', 'Tuesday', 'Wednesday',  
      'Thursday', 'Friday']
  Python 的 引 号
  Python包含单引号、双引号、三引号(三个单引号和三个双引号)。
  单双引号作用相同,不过却应对了句子或段落中包含单引号,或双引号的情况,不用输转义附了;
  三引号可用于写文本,不用多的输换行符 (\),即可换行的功能;另外在特定的地,有注释的功能。
  ----------------------------------------变量类型---------------------------------------
  变量是存储在内存中的值。意味着创建变量时会在内存中有一个空间;变量可以是整数,小数或字符
  基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中。
  Python 变 量 赋 值
  Python中的变量不需要声明,变量的赋值操作既是变量声明和定义的过程。
  每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。
  等号(=)用来给变量赋值。运算符左边是变量名,右边是存储在变量中的值。例如:
#!/usr/bin/python  
# -*- coding: UTF-8 -*-
  
counter = 100   # 赋值整型变量
  
miles = 1000.0# 浮点型
  
name = "John"   # 字符串
  
print counter
  
print miles
  
print name
  输出:
100  
1000.0
  
John
  多个变量赋值,例如:
  a = b = c = 1                #将1同时赋给了 a b c
  多个对象指定多个变量,例如:
  a, b, c = 1, 2, "john"            #将1赋给里a;2赋给了b,jokn赋给了c
  Python 数 据 类 型
  数 值 类 型 :
int整型long长整型float浮点complex复数1051924361L0.03.14j100-0x19323L15.2045.j-7860122L-21.99.322e-36j0800xDEFABCECBDAECBFBAEl32.3+e18.876j-0490535633629843L-90.-.6545+0J-0x260-052318172735L-32.54e1003e+26J0x69-4721885298529L70.2-E124.53e-7j  长整型也可以使用小写"L",但是还是建议您使用大写"L",避免与数字"1"混淆;
  Python还支持复数,a + bj 或者 complex(a,b)表示,
复数的实部a和虚部b都是浮点型。
  数 据 类 型 及 转 换 :
  Numbers(数字)                String(字符串)
  List(列表)       Tuple(元组)               Dictionary(字典)
函数描述  int(x [,base])
  将x转换为一个整数
  long(x [,base] )
  将x转换为一个长整数
  float(x)
  将x转换到一个浮点数
  complex(real [,imag])
  创建一个复数
  str(x)
  将对象 x 转换为字符串
  repr(x)
  将对象 x 转换为表达式字符串
  eval(str)
  用来计算在字符串中的有效Python表达式,并返回一个对象
  tuple(s)
  将序列 s 转换为一个元组
  list(s)
  将序列 s 转换为一个列表
  set(s)
  转换为可变集合
  dict(d)
  创建一个字典。d 必须是一个序列 (key,value)元组。
  frozenset(s)
  转换为不可变集合
  chr(x)
  将一个整数转换为一个字符
  unichr(x)
  将一个整数转换为Unicode字符
  ord(x)
  将一个字符转换为它的整数值
  hex(x)
  将一个整数转换为一个十六进制字符串
  oct(x)
  将一个整数转换为一个八进制字符串
  Python 字 符 串
  字符串或串(String)是由数字、字母、下划线组成的一串字符。
  一般记为 : s="a1a2···an"(n>=0)
  python的字串列表有2种取值顺序:
  从左到右索引默认0开始的,最大范围是字符串长度少1
  从右到左索引默认-1开始的,最大范围是字符串开头
  举   例 :
  str = 'Hello World!'
  print str                  # 输出完整字符串
  print str               # 输出字符串中的第一个字符
  print str            # 输出字符串中第三个至第五个之间的字符串
  print str            # 输出从第三个字符开始的字符串
  print str * 2             # 输出字符串两次
  print str + "TEST"   # 输出连接的字符串
  输出结果:
  Hello World!
  H
  llo
  llo World!
  Hello World!Hello World!
  Hello World!TEST
  -------------------------------------------运算符------------------------------------------
  算数运算符:a为10,变量b为20
运算符实例+a + b 输出结果 30-a - b 输出结果 -10*a * b 输出结果 200/b / a 输出结果 2%b % a 输出结果 0**a**b 为10的20次方, 输出结果 100000000000000000000//9//2 输出结果 4 , 9.0//2.0 输出结果 4.0  比较运算符:a为10,变量b为20
运算符实例==(a == b) 返回 False。!=(a != b) 返回 true.<>(a <> b) 返回 true。这个运算符类似 != 。>(a > b) 返回 False。<(a < b) 返回 true。>=(a >= b) 返回 False。<=(a <= b) 返回 true。  赋值运算符:a为10,变量b为20
运算符实例=c = a + b 将 a + b 的运算结果赋值为 c+=c += a 等效于 c = c + a-=c -= a 等效于 c = c - a*=c *= a 等效于 c = c * a/=c /= a 等效于 c = c / a%=c %= a 等效于 c = c % a**=c **= a 等效于 c = c ** a//=c //= a 等效于 c = c // a  位运算符:a 为 60,b 为 13
运算符实例&(a & b) 输出结果 12 ,二进制解释: 0000 1100|(a | b) 输出结果 61 ,二进制解释: 0011 1101^(a ^ b) 输出结果 49 ,二进制解释: 0011 0001~(~a ) 输出结果 -61 ,二进制解释: 1100 0011, 在一个有符号二进制数的补码形式。<<a << 2 输出结果 240 ,二进制解释: 1111 0000>>a >> 2 输出结果 15 ,二进制解释: 0000 1111  逻辑运算符:变量a是10,变量b是20.
运算符逻辑表达式实例andx and y(a and b) 返回 20。orx or y(a or b) 返回 10。notnot xnot(a and b) 返回 False  成员运算符:
运算符实例inx 在 y 序列中 , 如果 x 在 y 序列中返回 True。not inx 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。  身份运算符:
运算符实例isx is y, 如果>is 返回结果 1is notx is not y, 如果>is not 返回结果 1  -----------------------------------------------运算符优先级-----------------------------------------
运算符描述**指数 (最高优先级)~ + -按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)* / % //乘,除,取模和取整除+ -加法减法>> <<右移,左移运算符&位 'AND'^ |位运算符<= < > >=比较运算符<> == !=等于运算符= %= /= //= -= += *= **=赋值运算符is is not身份运算符in not in成员运算符not or and逻辑运算符  ---------------------------------------------扩展---------------------------------------------
  内置函数:id(a)      #查看变量a的内存存储地址
  type(b)   #查看变量b的数值类型
  内建函数:input( )    raw_input( )
  查看帮助:help(input)
  举      例 :
  #!/usr/bin/python
  #coding=uft-8
  num1 = input("please inputanumber:")
  num2 = input("please inputanumber:")
  printnum1 + num2
  printnum1 / num2
  print"%s - %s = %s"%(num1,num2,num1-num2)
  print"%s * %s = %s"%(num1,num2,num1 * num2)
  区别:raw_input( ) 将所有输入看做是字符串,input( )输入的需要时数字,当输入字符串时要用引号,否则会报错。
页: [1]
查看完整版本: Python -- 语法和变量