VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 编程开发 > python爬虫 >
  • Python基础入门语法和变量类型(一)

基础语法

标识符

标识符由字母、数字和下划线(_)组成,其中不能以数字开头,并且区分大小写

以下划线开头的标识符是有特殊意义的:

  • 单下划线开头的如 _foo,表示不能直接访问的类属性,需要通过类提供的接口进行访问,不能通过 from xxx import * 导入;
  • 双下划线开头的如 __foo ,表示类的私有成员;
  • 双下划线开头和结尾的如 __foo__ 代表 Python 中的特殊方法,比如 __init()__ 代表类的构建函数

保留字

保留字是不能用作常数或变数,或者其他任何标识符名称 keyword 模块可以输出当前版本的所有关键字:

import keyword

print(keyword.kwlist)   

所有的保留字如下所示:

 

 

 

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 的代码块不采用大括号 {} 来控制类、函数以及其他逻辑判断,反倒是采用缩进来写模块。

缩进的空白数量是可变的,但是所有代码块语句必须包含相同的缩进空白数量,这个必须严格执行,如下所示:

# 正确示例

i = 2if i == 3:

    print('true!')else:

  print('False')

# 错误示例if i == 3:

    print('i:')

    print(i)else:

    print('wrong answer!')

    # 没有严格缩进,执行时会报错

  print('please check again')   

这里将会报错 IndentationError: unindent does not match any outer indentation level,这个错误表示采用的缩进方式不一致,有的是 tab 键缩进,有的是空格缩进,改为一致即可。

而如果错误是 IndentationError: unexpected indent,表示格式不正确,可能是 tab 和空格没对齐的问题。

因此,按照约定俗成的管理,应该始终坚持使用4个空格的缩进,并且注意不能混合使用 tab 键和四格空格,这会报错!

注释

注释分为两种,单行和多行的。

# 单行注释

print('Hello, world!')

'''

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

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

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

'''

"""

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

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

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

"""   

输入输出

通常是一条语句一行,如果语句很长,我们可以使用**反斜杠(\)**来实现多行语句。在 [], {}, 或 ()中的多行语句,则不需要反斜杠。

sentence1 = "I love " + \"python"

 

sentence2 = ["I", "love",

          "python"]   

另外,我们也可以同一行显示多条语句,语句之间用分号(;)分割,示例如下:

print('Hello');print('world')   

对于用户输入,Python2 采用的是 raw_input(),而 3 版本则是 input() 函数:

# 等待用户输入# python 2

user_input = raw_input('请输入一个数字:\n')# python 3

user_input = input('请输入一个数字:\n')

print('user_input=', user_input)   

其中 \n 实现换行。用户按下回车键(enter)退出,其他键显示。

对于 print 输出,默认输出是换行的,如果需要实现不换行,可以指定参数 end,如下所示:

a = 3

b = 2

c = 4

d = 5# 默认换行

print(a)

print(b)# 不换行,并设置逗号分隔

print(c, end=',')

print(d)   

如果你有关于python的问题,可以加博主的扣扣群来交流:879151479

2 基本变量类型

计算机程序要处理不同的数据,需要定义不同的数据类型。Python 定义了六种标准的数据类型,分布如下所示:

  • Numbers(数字)
  • Strings(字符串)
  • List(列表)
  • Tuple(元组)
  • Set(集合)
  • Dictionary(字典)

变量赋值

Python 并不需要声明变量的类型,所说的"类型"是变量所指的内存中对象的类型。但每个变量使用前都必须赋值,然后才会创建变量。给变量赋值的方法是采用等号(=),等号左边是变量名,右边是存储在变量中的值。

一个示例如下:

counter = 100  # 赋值整型变量

miles = 1000.0  # 浮点型

name = "John"  # 字符串

 

print(counter)

print(miles)

print(name)   

Python 还允许同时为多个变量赋值,有以下两种实现方式:

# 创建一个整型对象,值为1,三个变量被分配到相同的内存空间上

n = m = k = 2# 创建多个对象,然后指定多个变量

cc, mm, nn = 1, 3.2, 'abc'

 

print('n=m=k=', n, m, k)

print('cc=', cc)

print('mm=', mm)

print('nn=', nn)   

其中同时给多个变量赋值的方式也是 Python 独特的一种变量赋值方法。

数字

数字类型用于存储数值,它是不可改变的数据类型。Python 3 支持以下几种数字类型:

int (整数)

float (浮点型)

complex(复数)

bool (布尔)

数字类型的使用很简单,也很直观,如下所示:

# int

q = 1# float

w = 2.3# bool

e = True# complex

r = 1 + 3j

print(q, w, e, r) # 1 2.3 True (1+3j)

# 内置的 type() 函数可以用来查询变量所指的对象类型

print(type(q))  # <class 'int'>

print(type(w))  # <class 'float'>

print(type(e))  # <class 'bool'>

print(type(r))  # <class 'complex'>

# 也可以采用 isinstance()# isinstance 和 type 的区别在于:type()不会认为子类是一种父类类型,isinstance()会认为子类是一种父类类型

print(isinstance(q, int)) # True

print(isinstance(q, float)) # False   

对于数字的运算,包括基本的加减乘除,其中除法包含两个运算符,/ 返回一个浮点数,而 // 则是得到整数,去掉小数点后的数值。而且在混合计算的时候, Python 会把整数转换为浮点数

# 加

print('2 + 3 =', 2 + 3)  # 2 + 3 = 5# 减

print('3 - 2 =', 3 - 2)  # 3 - 2 = 1# 乘

print('5 * 8 =', 5 * 8)  # 5 * 8 = 40# 除# 得到浮点数,完整的结果

print('5 / 2 =', 5 / 2)  # 5 / 2 = 2.5# 得到一个整数

print('5 // 2 =', 5 // 2)  # 5 // 2 = 2# 取余

print('5 % 2 =', 5 % 2)  # 5 % 2 = 1# 乘方

print('5 ** 2 =', 5 ** 2)  # 5 ** 2 = 25   

字符串

如果你有关于python的问题,可以加博主的扣扣群来交流:879151479

 

字符串或串(String)是由数字、字母、下划线组成的一串字符。一般是用单引号 '' 或者 "" 括起来。

注意,Python 没有单独的字符类型,一个字符就是长度为 1 的字符串。并且,Python 字符串是不可变,向一个索引位置赋值,如 strs[0]='m' 会报错。

可以通过索引值或者切片来访问字符串的某个或者某段元素,注意索引值从 0 开始,例子如下所示:

 

切片的格式是 [start:end],实际取值范围是 [start:end) ,即不包含 end 索引位置的元素。还会除了正序访问,还可以倒序访问,即索引值可以是负值。

具体示例如下所示:

s1 = "talk is cheap"

s2 = 'show me the code'

print(s1)

print(s2)

# 索引值以 0 为开始值,-1 为从末尾的开始位置

print('输出 s1 第一个到倒数第二个的所有字符: ', s1[0:-1])  # 输出第一个到倒数第二个的所有字符

print('输出 s1 字符串第一个字符: ', s1[0])  # 输出字符串第一个字符

print('输出 s1 从第三个开始到第六个的字符: ', s1[2:6])  # 输出从第三个开始到第六个的字符

print('输出 s1 从第三个开始的后的所有字符:', s1[2:])  # 输出从第三个开始的后的所有字符

# 加号 + 是字符串的连接符# 星号 * 表示复制当前字符串,紧跟的数字为复制的次数

str = "I love python "

print("连接字符串:", str + "!!!")

print("输出字符串两次:", str * 2)

# 反斜杠 \ 转义特殊字符# 若不想让反斜杠发生转义,可以在字符串前面添加一个 r

print('I\nlove\npython')

print("反斜杠转义失效:", r'I\nlove\npython')   

注意:

  • 1、反斜杠可以用来转义,使用 r 可以让反斜杠不发生转义
  • 2、字符串可以用 + 运算符连接在一起,用 * 运算符重复。
  • 3、Python 中的字符串有两种索引方式,从左往右以 0 开始,从右往左以 -1 开始。
  • 4、Python 中的字符串不能改变

字符串包含了很多内置的函数,这里只介绍几种非常常见的函数:

  • strip(x):当包含参数 x 表示删除句首或者句末 x 的部分,否则,就是删除句首和句末的空白字符,并且可以根据需要调用 lstrip() 和 rstrip() ,分别删除句首和句末的空白字符;
  • split():同样可以包含参数,如果不包含参数就是将字符串变为单词形式,如果包含参数,就是根据参数来划分字符串;
  • join():主要是将其他类型的集合根据一定规则变为字符串,比如列表;
  • replace(x, y):采用字符串 y 代替 x
  • index():查找指定字符串的起始位置
  • startswith() / endswith():分别判断字符串是否以某个字符串为开始,或者结束;
  • find():查找某个字符串;
  • upper() / lower() / title():改变字符串的大小写的三个函数
出处:https://www.cnblogs.com/Mrzhangzong/p/13696992.html

相关教程