第二章:python2.0的基本语法

基础语法

代码结构=基础结构
代码=关键字(语句)+符号+表达式
表达式=变量类型+运算符

编程方式:
1、交互式编程
2、脚本式编程

一、基础结构

1、关键字、符号、空格/空行、基本概念

导包语法————from、import

from __future__ import print_function
# 导入 __future__ 包

等待用户输入————raw_input

raw_input("按下 enter 键退出,其他任意键显示...\n")

print 输出————print 、 ,

x="a"
y="b"
# 换行输出
print x
print y

print '---------'
# 不换行输出
print x,
print y,

# 不换行输出
print x,y

同一行显示多条语句————;

import sys; x = 'runoob'; sys.stdout.write(x + '\n')

引号————'、“、”“”

word = 'word'
sentence = "这是一个句子。"
paragraph = """这是一个段落。 
包含了多个语句""" # 三引号可以由多行组成

Python注释———— #、‘’’ 、“”"

# 单行注释
# 注释

# 多行注释
'''
这是多行注释,使用单引号。
这是多行注释,使用单引号。
这是多行注释,使用单引号。
'''

"""
这是多行注释,使用双引号。
这是多行注释,使用双引号。
这是多行注释,使用双引号。
"""

*多行语句———— *

# 使用斜杠( \)将一行的语句分为多行显示
total = item_one + \
        item_two + \
        item_three
# 包含 [], {} 或 () 括号就不需要使用多行连接符
days = ['Monday', 'Tuesday', 'Wednesday',
        'Thursday', 'Friday']

2、行与空格

行和缩进

# 2/4个空格,不可混用
if True:
    print ("True")
else:
    print ("False")

空行
函数之间或类的方法之间用空行分隔。

3、代码组

多个语句构成代码组
缩进相同的一组语句构成一个代码块,我们称之代码组。
例如:像if、while、def和class这样的复合语句,首行以关键字开始,以冒号( : )结束,该行之后的一行或多行代码构成代码组。
我们将首行及后面的代码组称为一个子句(clause)

if expression : 
   suite 
elif expression :  
   suite  
else :  
   suite 

4、标识符

Python标识符————方法,类名,变量名命名规则
1、组成部分:标识符由字母、数字、下划线组成。
2、开头:所有标识符可以包括英文、数字以及下划线(_),但不能以数字开头。
3、单下划线开头:代表不能直接访问的类属性(_foo)。
4、双下划线开头的:代表类的私有成员(__foo)。
5、以双下划线开头和结尾的:代表 Python 里特殊方法专用的标识(init)。

Python保留字符
保留字不能用作常数或变数,或任何其他标识符名称。
只包含小写字母。
nd exec not assert finally or break for pass class from print continue global raise def if return del import try elif in while else is with except lambda yield

二、变量类型

变量=标识+名称+数据

1、变量赋值———— =

变量赋值不需要类型声明。
每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。

# 单个变量赋值
a = b = c = 1
# 多个变量赋值
a, b, c = 1, 2, "john"

2、标准数据类型

有五个标准的数据类型:Numbers(数字)、String(字符串)、List(列表)、Tuple(元组)、Dictionary(字典)。

Numbers(数字)

用于存储数值。
不可改变的数据类型,这意味着改变数字数据类型会分配一个新的对象。

# 创建
var1 = 1
var2 = 10

# 删除
del var
del var_a, var_b

#Python支持四种不同的数字类型:

#    int(有符号整型)                        10
#    long(长整型,也可以代表八进制和十六进制)  51924361L
#    float(浮点型)                         0.0
 #   complex(复数)                        3.14j

# 2.2 以后的版本中:int 类型数据溢出后会自动转为long
# 在 Python3.X 版本:long 类型被移除,使用 int 替代。
字符串
# 创建
s = "a1a2···an"
# 字串列表有2种取值顺序[下标]
 从左到右索引默认0开始的,最大范围是字符串长度少1
 从右到左索引默认-1开始的,最大范围是字符串开头
 
# 截取字符串[头下标:尾下标]
[1:][-1:]

# +、*
print str * 2       # 输出字符串两次
print str + "TEST"  # 输出连接的字符串

# 三个参数[头下标:尾下表:步长]
例如:letters=['h','e','l','l','o','w','o','r','l','d']
letters[1:4:2]
输出:['e','l']

# in、not in
是否包含

# r+转移字符串
>>>print r'\n'
\n

# % 格式字符串
print "My name is %s and weight is %d kg!" % ('Zara', 21) 
My name is Zara and weight is 21 kg!

# 三引号
 errHTML = '''
<HTML><HEAD><TITLE>
Friends CGI Demo</TITLE></HEAD>
<BODY><H3>ERROR</H3>
<B>%s</B><P>
<FORM><INPUT TYPE=button VALUE=Back
ONCLICK="window.history.back()"></FORM>
</BODY></HTML>
'''
# Unicode 字符串
>>> u'Hello\u0020World !'
u'Hello World !'

转移字符

转义字符

转义字符描述
|(在行尾时) 续行符
|反斜杠符号
单引号
"双引号
\a响铃
\b退格(Backspace)
\e转义
\000
\n换行
\v纵向制表符
\t横向制表符
\r回车
\f换页
\oyy八进制数,y 代表 0~7 的字符,例如:\012 代表换行。
\xyy十六进制数,以 \x 开头,yy代表的字符,例如:\x0a代表换行
\other其它的字符以普通格式输出
格式化符号
格式化符号描述
:–:–
%c格式化字符及其ASCII码
%s格式化字符串
%d格式化整数
%u格式化无符号整型
%o格式化无符号八进制数
%x格式化无符号十六进制数
%X格式化无符号十六进制数(大写)
%f格式化浮点数字,可指定小数点后的精度
%e用科学计数法格式化浮点数
%E作用同%e,用科学计数法格式化浮点数
%g%f和%e的简写
%G%F 和 %E 的简写
%p用十六进制数格式化变量的地址
格式化操作符辅助指令
符号功能
:–:–
*定义宽度或者小数点精度
-用做左对齐
+在正数前面显示加号( + )
在正数前面显示空格
#在八进制数前面显示零(‘0’),在十六进制前面显示’0x’或者’0X’(取决于用的是’x’还是’X’)
0显示的数字前面填充’0’而不是默认的空格
%‘%%‘输出一个单一的’%’
(var)映射变量(字典参数)
m.n.m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话)
列表[ ]

它支持字符,数字,字符串甚至可以包含列表(即嵌套)。

letters=['h','e','l','l','o','w','o','r','l','d']
使用和字符串一样。
# 获得值
print "list2[1:5]
print "list1[0]

# 截取列表
L[2]
L[-2]
L[1:]

# 添加
list.append('Runoob')

# 删除
del list1[2]

# 表达式
1len(列表)
2、列表+列表=列表
3、列表*4
43 in 列表
5for x in 列表:
元组( )

元组=只读列表(元组不能二次赋值)

# 创建
tup1 = () #空元组
tup1 = (50,) # 一个值时的元组

# 获取元组值
tup1[0]
tup2[1:5]

# 修改元组
# 不能直接修改值

# 合并元组
tup3=tup1+tup2

# 删除元组
del tup

# 元组运算符  =列表的
# 元组索引、截取 = 列表

字典{ }

列表是有序的对象集合
字典是无序的对象集合

字典当中的元素是通过键来存取的
而不是通过偏移存取
字典用"{ }"标识。

# 创建
dict = {}
# 获取值
dict['one'] = "This is one"
dict[2] = "This is two"
print tinydict             # 输出完整的字典
print tinydict.keys()      # 输出所有键
print tinydict.values()    # 输出所有值

tinydict = {'name': 'runoob','code':6734, 'dept': 'sales'}
# 修改 与 添加
dict['Age'] = 8 # 更新
dict['School'] = "RUNOOB" # 添加

# 删除 
del dict['Name']  # 删除键是'Name'的条目
dict.clear()      # 清空字典所有条目
del dict          # 删除字典

# 特性
1)不允许同一个键出现两次。
2)键必须不可变,所以可以用数字,字符串或元组充当,所以用列表就不行

3、数据类型转换

函数描述
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)将一个整数转换为一个八进制字符串

三、运算符

算术运算符

运算符描述
+加 - 两个对象相加
-减 - 得到负数或是一个数减去另一个数
*乘 - 两个数相乘或是返回一个被重复若干次的字符串
/除 - x除以y
%取模 - 返回除法的余数
**幂 - 返回x的y次幂
//取整除 - 返回商的整数部分(向下取整)

注意:
1、除法需要获得小数,需要把其中一个数改成浮点数。

比较(关系)运算符

运算符描述
==等于 - 比较对象值是否相等
!=不等于 - 比较两个对象是否不相等
<>不等于 - 比较两个对象是否不相等。python3 已废弃。

|大于 - 返回x是否大于y
<|小于 - 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。
=|大于等于 - 返回x是否大于等于y。
<=|小于等于 - 返回x是否小于等于y。

赋值运算符

运算符描述
=简单的赋值运算符
+=加法赋值运算符
-=减法赋值运算符
*=乘法赋值运算符
/=除法赋值运算符
%=取模赋值运算符
**=幂赋值运算符
//=取整除赋值运算符

位运算符

运算符描述
&按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0
按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。
^按位异或运算符:当两对应的二进位相异时,结果为1
~按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1 。~x 类似于 -x-1
<<左移动运算符:运算数的各二进位全部左移若干位,由 << 右边的数字指定了移动的位数,高位丢弃,低位补0。

|右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,>> 右边的数字指定了移动的位数

逻辑运算符

运算符描述
and
or
not

成员运算符

运算符描述
in在序列中
not in不在序列中

身份运算符

运算符描述
is是判断两个标识符是不是引用自一个对象
is not是判断两个标识符是不是引用自不同对象

运算符优先级

运算符描述
**指数 (最高优先级)
~ + -按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)
  • / % // |乘,除,取模和取整除
    • |加法减法

<< |右移,左移运算符
& |位 ‘AND’
^ | |位运算符
<= < > >= |比较运算符
<> == !=|等于运算符
= %= /= //= -= += *= **= |赋值运算符
is is not |身份运算符
in not in |成员运算符
not and or |逻辑运算符

四、语句

1、条件语句

#基本形式
if 判断条件:
    执行语句……
else:
    执行语句……

# 多个判断条件
if 判断条件1:
    执行语句1……
elif 判断条件2:
    执行语句2……
elif 判断条件3:
    执行语句3……
else:
    执行语句4……
    

2、循环语句

while

# 结构一
while (count < 9):
   print 'The count is:', count
   count = count + 1
# 结构二
while count < 5:
   print count, " is  less than 5"
   count = count + 1
else:
   print count, " is not less than 5"

for

# 结构一
for letter in 'Python':     # 第一个实例
   print("当前字母: %s" % letter)
# 结构二
for index in range(len(fruits)):
   print ('当前水果 : %s' % fruits[index])
# 结构三
 for i in range(2,num): # 根据因子迭代
    if num%i == 0:      # 确定第一个因子
       j=num/i          # 计算第二个因子
       print ('%d 等于 %d * %d' % (num,i,j))
       break            # 跳出当前循环
 else:                  # 循环的 else 部分
    print ('%d 是一个质数' % num)
循环的嵌套
while expression:
   while expression:
      statement(s)
   statement(s)

3、break,continue,pass语句

break:调出最深的循环。
continue:跳过本次,进入下一次循环。
pass:不做任何事情,一般用做占位语句。

4、异常语句

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

-攀-登-者-

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值