python复习笔记[1]——语法和逻辑

103 篇文章 0 订阅
23 篇文章 1 订阅


标识符:

1. python标识符由字母/数字/下划线组成

2. python标识符区分大小写

3.以单下划线开头的(例如_foo)类属型表示protected成员,只能由类及其子类访问,不能使用“from xxximport *”导入

4.以双下划线开头的(例如__foo)类型表示private成员,只能由类自己访问,子类中也不能访问

5.以双下划线开头及结尾(__foo__)代表python里面特殊方法,例如“def__init__(self)”作为构造函数的定义

 

python中的保留字:

and

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

 

代码块:

python中使用严格的缩进来进行代码块儿的控制,缩进值为4个空格,例如:

class Student:

   studentCount = 0;   # 类变量

    def __init__(self, name, age):

        self.name = name;

        self.age = age;

        Student.studentCount += 1;

        return;

 

多行语句:

可以使用斜杠"\"将一行语句分成多行进行,但是不能将标识符断开,例如:

numA=10

numB=20

numC=numA\

+numB

 

字符串:

可以使用单引号,双引号和三引号('''""")来表示字符串,单引号和双引号用处相同,三引号用于多行字符串,例如:

word='word'

sentence="这是一个句子。"

paragraph="""这是一个段落。

包含了多个语句"""

 

注释:

可以使用#来标识注释内容,也可以使用三引号来当作多行注释(虽然本身其实是字符串)

#单行注释

a=10#也可以放在这里

'''

这是一个多行注释

这是一个多行注释

'''

"""

这也是一个多行注释

这也是一个多行注释

"""

 

语句:

通常一行代码为一条语句,语句结尾可以不写“;”,如果希望一行中包含多条语句,则需要用“;”分隔

 

标准数据类型:

python中定义了五类标准数据类型:Numbers(数字),String(字符串),List(列表),Tuple(元祖),Dictionary(字典)

 

Numbers(数字):

python中支持的数字类型有int,long,float,complex,例如:

int

long

float

complex

10

51924361L

0.0

3.14j

100

-0x19323L

15.20

45.j

-786

0122L

-21.9

9.322e-36j

080

0xDEFABCECBDAECBFBAEl

32.3+e18

.876j

-0490

535633629843L

-90.

-.6545+0J

-0x260

-052318172735L

-32.54e100

3e+26J

0x69

-4721885298529L

70.2-E12

4.53e-7j

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)

将一个整数转换为一个八进制字符串

 

运算符:

算术运算符:

运算符

描述

实例

+

-两个对象相加

a + b 输出结果 30

-

-得到负数或是一个数减去另一个数

a - b 输出结果 -10

*

-两个数相乘或是返回一个被重复若干次的字符串

a * b 输出结果 200

/

- x除以y

b / a 输出结果 2

%

取模 -返回除法的余数

b % a 输出结果 0

**

-返回xy次幂

a**b 1020次方,输出结果 100000000000000000000

//

取整除 -返回商的整数部分

9//2 输出结果 4 , 9.0//2.0输出结果 4.0

比较运算符:

运算符

描述

实例

==

等于 -比较对象是否相等

(a == b)返回 False

!=

不等于 -比较两个对象是否不相等

(a != b)返回 true.

<>

不等于 -比较两个对象是否不相等

(a <> b)返回 true。这个运算符类似 !=

>

大于 -返回x是否大于y

(a > b)返回 False

<

小于 -返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量TrueFalse等价。注意,这些变量名的大写。

(a < b)返回 true

>=

大于等于 -返回x是否大于等于y

(a >= b)返回 False

<=

小于等于 -返回x是否小于等于y

(a <= b)返回 true

赋值运算符:

运算符

描述

实例

=

简单的赋值运算符

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

位运算符:

运算符

描述

实例

&

按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0

(a & b)输出结果 12,二进制解释: 0000 1100

|

按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1

(a | b)输出结果 61,二进制解释: 0011 1101

^

按位异或运算符:当两对应的二进位相异时,结果为1

(a ^ b)输出结果 49,二进制解释: 0011 0001

~

按位取反运算符:对数据的每个二进制位取反,即把1变为0,0变为1

(~a ) 输出结果 -61,二进制解释: 1100 0011在一个有符号二进制数的补码形式。

<<

左移动运算符:运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0

a << 2 输出结果 240,二进制解释: 1111 0000

>>

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

a >> 2 输出结果 15,二进制解释: 0000 1111

逻辑运算符:

运算符

逻辑表达式

描述

实例

and

x and y

布尔"" -如果 x Falsex and y返回 False,否则它返回 y的计算值。

(a and b)返回 20

or

x or y

布尔"" -如果 x是非 0,它返回 x的值,否则它返回 y的计算值。

(a or b)返回 10

not

not x

布尔"" -如果 x True,返回 False。如果 x False,它返回 True

not(a and b)返回 False

成员运算符:

运算符

描述

实例

in

如果在指定的序列中找到值返回 True,否则返回 False

x y 序列中 , 如果 x y 序列中返回 True

例如:

list=[1,2,3,4,5];a=1

if(ainlist):print"ainthelist";

not in

如果在指定的序列中没有找到值返回 True,否则返回 False

x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True

实例运算符:

运算符

描述

实例

is

is是判断两个标识符是不是引用自一个对象

x is y,如果 id(x)等于 id(y) ,is返回结果 1

is not

is not是判断两个标识符是不是引用自不同对象

x is not y,如果 id(x)不等于 id(y).is not返回结果 1

 

逻辑控制:

if语法:

if 判断条件1:

    执行语句1……

elif 判断条件2:

    执行语句2……

elif 判断条件3:

    执行语句3……

else:

    执行语句4……

循环语句示例:

# while循环

a = 1;

b = 1;

while (a < 1000000):

   print a;

   if a == 121393:

       break;

   c = a + b;

   a = b;

   b = c;

 

# while…else语句

ctr = 0;

while ctr < 10:

   print ctr;

   # add a break here and the "else" branch won't execute

   # if ctr == 6:

   #     break;

   ctr += 1;

else:

   print "test";

 

# for循环

fruits = ["apple", "banana", "orange"];

for fruit in fruits:

   print fruit;

 

使用range定义for的循环范围

for i in range(len(fruits)):

   print fruits[i];

for i in range(50, 100):

   if i % 3 == 0:

       print i;

 

# for循环嵌套

two_dim_arr = [[1, 3, 5], [2, 4, 6, 8, 10], [3, 6, 9, 12]];

for i in range(len(two_dim_arr)):

   for j in range(len(two_dim_arr[i])):

       print two_dim_arr[i][j];

   print "\n";

 

# pass语句(pass语句占位用,并不具有任何执行结果)

for i in range(1, 10):

   if i == 5:

       pass;

       print "pass did nothing, just to keep the structure complete"

   print i;

循环控制使用breakcontinuepass语句(见上面例子)

Python爬虫笔记python基础知识,以TXT文件呈现 一、概述 Python是著名的“龟叔”Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言。 Python为我们提供了非常完善的基础代码库,覆盖了网络、文件、GUI、数据库、文本等大量内容,被形象地称作“内置电池(batteries included)”。用Python开发,许多功能不必从零编写,直接使用现成的即可。 龟叔给Python的定位是“优雅”、“明确”、“简单”,所以Python程序看上去总是简单易懂,初学者学Python,不但入门容易,而且将来深入下去,可以编写那些非常非常复杂的程序。 那Python适合开发哪些类型的应用呢? 首选是网络应用,包括网站、后台服务等等; - PythonWeb 其次是许多日常需要的小工具,包括系统管理员需要的脚本任务等等; - Python 另外就是把其他语言开发的程序再包装起来,方便使用。 - 胶水语言 在 爬虫 科学计算 等领域有独特优势 AI Python的优点 简单易学 完善的语言特性 天然开源 丰富的社区支持 Python的缺点。 第一个缺点就是运行速度慢,和C程序相比非常慢,因为Python是解释型语言,你的代码在执行时会一行一行地翻译成CPU能理解的机器码,这个翻译过程非常耗时,所以很慢。而C程序是运行前直接编译成CPU能执行的机器码,所以非常快。 但是大量的应用程序不需要这么快的运行速度,因为用户根本感觉不出来。例如开发一个下载MP3的网络应用程序,C程序的运行时间需要0.001秒,而Python程序的运行时间需要0.1秒,慢了100倍,但由于网络更慢,需要等待1秒,你想,用户能感觉到1.001秒和1.1秒的区别吗?这就好比F1赛车和普通的出租车在北京三环路上行驶的道理一样,虽然F1赛车理论时速高达400公里,但由于三环路堵车的时速只有20公里,因此,作为乘客,你感觉的时速永远是20公里。 第二个缺点就是代码不能加密。如果要发布你的Python程序,实际上就是发布源代码,这一点跟C语言不同,C语言不用发布源代码,只需要把编译后的机器码(也就是你在Windows上常见的xxx.exe文件)发布出去。要从机器码反推出C代码是不可能的,所以,凡是编译型的语言,都没有这个问题,而解释型的语言,则必须把源码发布出去。 二、安装配置 安装包下载地址: http://www.python.org/download/ Python目前分为两大版本,互不兼容: 2.x.x 3.x.x 下载的时候要注意区分 根据需要的版本进行下载 目前两者都有所使用 双击安装 设置环境变量: 将python安装位置配置到PATH环境变量下。 三、运行方式 shell方式: 在cmd窗口输入python进入命令行模式 在其以交互式方式执行 shell方式调用py文件: 在文件编写Python脚本 文件后缀为.py 进入该文件所在目录 直接执行./xxx.py IDE模式: pycharm pyDev for Eclipse **Python编码 Python默认读取py文件时采用的编码格式是 ASCII 格式,如果文件不是该格式很可能出现乱码问题造成异常。 解决方法为只要在文件开头加入 # -*- coding: UTF-8 -*- 或者 #coding=utf-8 来通知Python解释器在读取文件时采用的编码集 四、标识符 在 Python ,所有标识符可以包括英文、数字以及下划线(_),但不能以数字开头。 Python 的标识符是区分大小写的。 以下划线开头的标识符是有特殊意义的。 以单下划线开头 _foo 的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用 from xxx import * 而导入; 以双下划线开头的 __foo 代表类的私有成员;以双下划线开头和结尾的 __foo__ 代表 Python 里特殊方法专用的标识,如 __init__() 代表类的构造函数。 五、语言细节 1.语句 Python通常一行为一条语句 不需要分号标识 Python 可以同一行显示多条语句,方法是用分号 ; 案例: print 'hello';print 'runoob'; 也可以使用反斜杠将一行语句分为多行解释: 案例: total = item_one + \.....................................................
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值