Python基础整理---①
一. Python的基础语法#!/usr/bin/python3print("Hello, World!")关于脚本第一行的 #!/usr/bin/python 的解释,相信很多不熟悉 Linux 系统的同学需要普及这个知识,脚本语言的第一行,只对 Linux/Unix 用户适用,用来指定本脚本用什么解释器来执行。#!/usr/bin/python# -*- coding: UTF...
一. Python的基础语法
#!/usr/bin/python3
print("Hello, World!")
关于脚本第一行的 #!/usr/bin/python
的解释,相信很多不熟悉 Linux 系统的同学需要普及这个知识,脚本语言的第一行,只对 Linux/Unix 用户适用,用来指定本脚本用什么解释器来执行。
#!/usr/bin/python
# -*- coding: UTF-8 -*-
print( "你好,世界" )
Python中默认的编码格式是 ASCII 格式,在没修改编码格式时无法正确打印汉字,所以在读取中文时会报错。
解决方法为只要在文件开头加入# -*- coding: UTF-8 -*-
或者# coding=utf-8
就行了
如果大家在学习过程中,代码中包含中文,就需要在头部指定编码。
注意:
# coding=utf-8
的 = 号两边不要空格。- Python3.X 源码文件默认使用utf-8编码,所以可以正常解析中文,无需指定 UTF-8 编码。
- 如果你使用编辑器,同时需要设置 py 文件存储的格式为 UTF-8,否则会出现类似以下错误信息:
Python 标识符:
- 标识符由字母、数字、下划线组成。
- 可以包括英文、数字以及下划线(_),但不能以数字开头。
- 区分大小写
- 以下划线开头的标识符是有特殊意义的。
- 以单下划线开头
_foo
的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用from xxx import *
而导入。 - 以双下划线开头的
__foo
代表类的私有成员,以双下划线开头和结尾的__foo__
代表 Python 里特殊方法专用的标识,如__init__()
代表类的构造函数。
行和缩进:
Python 的代码块不使用大括号 {} 来控制类,函数以及其他逻辑判断。python 最具特色的就是用缩进来写模块。
缩进的空白数量是可变的,但是所有代码块语句必须包含相同的缩进空白数量,这个必须严格执行。
建议你在每个缩进层次使用 单个制表符 或 两个空格 或 四个空格 , 切记不能混用
多行语句:
Python语句中一般以新行作为语句的结束符。
但是我们可以使用斜杠( \)将一行的语句分为多行显示,如下所示:
total = item_one + \
item_two + \
item_three
语句中包含 [], {} 或 () 括号就不需要使用多行连接符。如下实例:
days = ['Monday', 'Tuesday', 'Wednesday',
'Thursday', 'Friday']
Python注释:
单行注释采用 # 开头
多行注释使用三个单引号(’’’)或三个双引号(""")
输入:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
raw_input("按下 enter 键退出,其他任意键显示...\n")
Python可以在同一行中使用多条语句,语句之间使用分号(;)分割,但不建议。
print
默认输出是换行的,如果要实现不换行需要在变量末尾加上逗号 。
print x,
print y,
二. Python的简单使用
变量类型:
Python 中的变量赋值不需要类型声明。
每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。
允许同时为多个变量赋值,如:a = b = c = 1
或a, b, c = 1, 2, "john"
标准数据类型:
Numbers(数字)
String(字符串)
List(列表)
Tuple(元组)
Dictionary(字典)
1. 数字
不可改变的数据类型,这意味着改变数字数据类型会分配一个新的对象。
当你指定一个值时,Number对象就会被创建:
var1 = 1
var2 = 10
也可以使用del
语句删除一些对象的引用。
del var
del var_a, var_b
数字类型:
int(有符号整型)
long(长整型[也可以代表八进制和十六进制])
float(浮点型)
complex(复数)
2. 字符串
由数字、字母、下划线组成的一串字符。
- 从左到右索引默认0开始的,最大范围是字符串长度少1
- 从右到左索引默认-1开始的,最大范围是字符串开头
可以使用[头下标:尾下标]
来截取相应的字符串,其中下标是从 0 开始算起。获取的子字符串包含头下标的字符,但不包含尾下标的字符。
加号(+)是字符串连接运算符,星号(*)是重复操作。
print str * 2 # 输出字符串两次
print str + "TEST" # 输出连接的字符串
3. 列表
支持字符,数字,字符串甚至可以包含列表(即嵌套)。
列表用[ ]
标识
列表中值的切割也可以用到变量[头下标:尾下标]
,就可以截取相应的列表,从左到右索引默认 0 开始,从右到左索引默认 -1 开始,下标可以为空表示取到头或尾。
#!/usr/bin/python
# -*- coding: UTF-8 -*-
list = [ 'eunice', 2, 'jess', 69 ]
print list[1:3] # 输出第二个至第三个元素
4. 元祖
元组是另一个数据类型,类似于 List(列表)。
元组用()
标识。内部元素用逗号隔开。但是元组不能二次赋值,相当于只读列表。
元组是不允许更新的。而列表是允许更新
5. 字典
列表是有序的对象集合,字典是无序的对象集合。
字典当中的元素是通过键来存取的,而不是通过偏移存取。
字典{ }
标识。字典由索引(key)和它对应的值value组成。
#!/usr/bin/python
# -*- coding: UTF-8 -*-
dict = {}
dict['one'] = "This is one"
dict[2] = "This is two"
tinydict = {'name': 'john','code':6734, 'dept': 'sales'}
print dict['one'] # 输出键为'one' 的值
print tinydict # 输出完整的字典
print tinydict.keys() # 输出所有键
print tinydict.values() # 输出所有值
6. 数据类型转换
只需要将数据类型作为函数名即可
例如:
float(x) #将x转换到一个浮点数
str(x) #将对象 x 转换为字符串
tuple(s) #将序列 s 转换为一个元组
list(s) #将序列 s 转换为一个列表
三. 运算符
1. 算术运算符
加减乘除,取余
** :返回x的y次幂 a**b
为 a 的 b 次方
// : 返回商的整数部分(向下取整) 9//2
为4 ;-9//2
为-5
2. 位运算符
&:按位与运算符,参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0
|:按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。
^:按位异或运算符:当两对应的二进位相异时,结果为1
~:按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1 。~x 类似于 -x-1
<<:左移动运算符:运算数的各二进位全部左移若干位,由 << 右边的数字指定了移动的位数,高位丢弃,低位补0。
>>:右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,>> 右边的数字指定了移动的位数
3. 逻辑运算符
and:x and y
如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。
or:x or y
如果 x 是非 0,它返回 x 的值,否则它返回 y 的计算值。
not:not x
如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。
4. 成员运算符
in: 如果在指定的序列中找到值返回 True,否则返回 False。
not in:如果在指定的序列中没有找到值返回 True,否则返回 False。
5. 身份运算符
is:is 是判断两个标识符是不是引用自一个对象。x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 False。
is not:is not 是判断两个标识符是不是引用自不同对象。x is not y , 类似 id(a) != id(b)。如果引用的不是同一个对象则返回结果 True,否则返回 False。
注:本文参考菜鸟教程 https://www.runoob.com/python/python-if-statement.html
更多推荐
所有评论(0)