Python基础之变量&基础语法

一 变量

1.1 声明变量

name = "joe1991"

上述代码声明了一个变量,变量名为: name,变量name的值为:"joe1991" 

当我们声明变量时,Python解释器做了两件事情:

1. 在内存中创建了一个'joe1991'的字符串

2. 在内存中创建了一个名为name的变量,并把它指向'joe1991'

1.2 变量的命名规范

1. 变量名只能是字母、数字或下划线的任意组合

2. 变量名的第一个字符不能是数字

3. 关键字不能声明为变量名

Python 的标准库提供了一个 keyword 模块,可以输出当前版本的所有关键字:

>>> import keyword
>>> keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

1.3 变量的赋值

在Python中,等号=是赋值语句,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量,例如:

a = 'joe1991'
a  =  18

1.4 变量名的两种风格

# 驼峰体(常用在类名)
大驼峰:GetCode = xxx 
小驼峰:getCode = xxx
# 下划线(常用在普通变量、函数名、模块等)
get_code = xxx 

1.5 定义变量的三个特征:id,type,value

# 说明:
# 1. id代表变量值在内存中的位置,type代表变量类型,value代表变量的值
# 2. 等号比较value
# 3. is比较id

# 强调:
# 1. id相同,意味着type和value必定相同
# 2. value相同type肯定相同,但id可能不同,如下:
>>> a = 11111
>>> b = 11111
>>> id(a)
2917163093968
>>> id(b)
2917165784464
>>> a == b
True
>>> a is b
False

python中为了提升效率,节约内存,引入了代码块的缓存机制及小数据池,可参考文章:Python基础之代码块&缓存机制&小数据池

二 常量

所谓常量就是不能变的变量,比如常用的数学常数π就是一个常量。在Python中,通常用全部大写的变量名表示常量:

PI = 3.14159265359

但事实上PI仍然是一个变量,Python根本没有任何机制保证PI不会被改变,所以,用全部大写的变量名表示常量只是一个习惯上的用法,控制不了我们对其的修改。

三 输入输出

3.1 输出

之前我们已经玩过输出了,但py2或py3有点区别:

# 在python3中
>>> print('xxx')
xxx

# 在python2中
>>> print 'xxx'
xxx
>>> print('xxx')
xxx

3.2 输入

# 在python3中
# input:用户输入任何值,都存成字符串类型

>>> name = input('Please input your name:>>')
Please input your name:>>joe1991
>>> name
'joe1991'
>>> type(name)
<class 'str'>

# 在python2中
# input:用户输入什么类型,就存成什么类型 
# raw_input:等于python3的input
>>> name = input('Please input your name:>>')
Please input your name:>>111
>>> name
111
>>> type(name)
<type 'int'>
>>> name = input('Please input your name:>>')
Please input your name:>>'joe1991'
>>> name
'joe1991'
>>> type(name)
<type 'str'>

另外,在输入密码时,如果想要不可见,需要利用getpass 模块中的 getpass方法,即:

>>> import getpass
>>> pwd = getpass.getpass('Please input your password:>>')
Please input your password:>>
>>> pwd
'123456'

三 注释

Python中单行注释以 # 开头,实例如下:

# 第一个注释
print ("Hello, Python!") # 第二个注释

多行注释可以用多个 # 号,还有 ''' 和 """:

# 第一个注释
# 第二个注释

'''
第三注释
第四注释
'''

"""
第五注释
第六注释
"""
print ("Hello World") 

四 文件头

#!/usr/bin/env python
# -*- coding: utf-8 –*- 

第一行是为了告诉Linux/OS X系统,这是一个Python可执行程序,Windows系统会忽略这个注释

第二行是为了告诉Python解释器,按照UTF-8编码读取源代码,否则,你在源代码中写的中文输出可能会有乱码

注意:申明了UTF-8编码并不意味着.py文件就是UTF-8编码的,必须并且要确保文本编辑器正在使用UTF-8编码

五 流程控制和缩进

python最具特色的就是使用缩进来表示代码块,不需要使用大括号 {} 。

缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数。实例如下:

# 实例需求如下
# 提示输入用户名和密码

# 验证用户名和密码
#     如果错误,则输出用户名或密码错误
#     如果成功,则输出登录成功
#!/usr/bin/env python
# -*- coding: utf8 -*-

name = input('请输入用户名:')
pwd = input('请输入密码:')

if name == "joe1991" and pwd == "123":
    print("登录成功")
else:
    print("用户名和密码错误")

六 多行语句

Python 通常是一行写完一条语句,但如果语句很长,我们可以使用反斜杠(\)来实现多行语句,例如:

total = item_one + \
        item_two + \
        item_three

在 [], {}, 或 () 中的多行语句,不需要使用反斜杠(\),例如:

total = ['item_one', 'item_two', 'item_three',
        'item_four', 'item_five']

七 空行

函数之间或类的方法之间用空行分隔,表示一段新的代码的开始。类和函数入口之间也用一行空行分隔,以突出函数入口的开始。

空行与代码缩进不同,空行并不是Python语法的一部分。书写时不插入空行,Python解释器运行也不会出错。但是空行的作用在于分隔两段不同功能或含义的代码,便于日后代码的维护或重构。

记住:空行也是程序代码的一部分。

八 同一行显示多条语句

Python可以在同一行中使用多条语句,语句之间使用分号(;)分割,如下:

print('Hello');print('World');print('!')
posted @ 2018-05-16 15:19  Joe1991  阅读(155)  评论(0)    收藏  举报