Python 学习之路(一)

以下所用的是Python 3.6

一、编码问题

  1. 涉及到中文的部分需要使用UTF-8编码。 使用PyCharm:File->Settings->Editor->File Encoding 在Global Encoding和Project Encoding和Default encoding for properties file 选择UTF-8编码。
  2. 在开头加上# -*- coding:utf-8 -*- ,指定为UTF-8编码。

二、基础知识

2.1 标识符

在 Python 里,标识符由字母、数字、下划线组成。 在 Python 中,所有标识符可以包括英文、数字以及下划线(_),但不能以数字开头。 Python 中的标识符是区分大小写的。

2.2 脚本编程

  1. PyCharm直接写脚本
  2. 命令行输入代码
print("Hello, Python!");
  1. 可以编写.py文件,用命令行运行
python HelloWorld.py

2.3 保留字符

所有 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

 

2.4 行和缩进

Python与其他语言最大的区别就是,Python 的代码块不使用大括号 {} 来控制类,函数以及其他逻辑判断。python 最具特色的就是用缩进来写模块。 缩进的空白数量是可变的,但是所有代码块语句必须包含相同的缩进空白数量,这个必须严格执行。 这个错误就是缩紧导致:IndentationError: unexpected indent

2.5 多行语句

Python语句中一般以新行作为为语句的结束符。 但是我们可以使用斜杠( \)将一行的语句分为多行显示。 语句中包含 [], {} 或 () 括号就不需要使用多行连接符。

2.6 引号的使用

Python 可以使用引号( ' )、双引号( " )、三引号( ''' 或 """ ) 来表示字符串,引号的开始与结束必须的相同类型的。 其中三引号可以由多行组成,编写多行文本的快捷语法,常用于文档字符串,在文件的特定地点,被当做注释。

2.7 注释语法

单行注释:在开头加上#,表示注释 多行注释:

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

2.8 空行语法

空行是程序代码的一部分,为了方便代码的维护和构。

2.9 输入输出

username = input("username:")
print(username)

多行格式化输出:

info = '''
------------info %s -----------
name:%s 
age:%s
job:%s
''' % (name,name,age,job)

info2 = '''
------------info {name} -----------
name:{name} 
age:{age}
job:{job}
'''.format(name=name,
           age=age,
           job=job)

三、变量类型

3.1 基本类型

counter = 100 # 赋值整型变量
miles = 1000.0 # 浮点型
name = "John" # 字符串
a,b,c=100,1000.0,"John"#多变量赋值

3.2 数字类型

数字数据类型用于存储数值。 他们是不可改变的数据类型,这意味着改变数字数据类型会分配一个新的对象。Python支持四种不同的数字类型: int(有符号整型) long(长整型[也可以代表八进制和十六进制]) float(浮点型) complex(复数)用complex(a,b)

可以使用del 来删除对象的引用。

del var
del var_a, var_b

3.3 字符串

s = "hello world" #或者s = 'hello world'
print(s)           # 输出完整字符串
print(s[2:5])      # 输出字符串中第三个至第五个之间的字符串
print(s * 2)       # 输出字符串两次
print(s + "TEST")  # 输出连接的字符串

加号(+)是字符串连接运算符,星号(*)是重复操作。

3.4 列表

list = ['runoob', 786, 2.23, 'john', 70.2]
tinylist = [123, 'john']

print(list)  # 输出完整列表
print(list[0])  # 输出列表的第一个元素
print(list[1:3]) # 输出第二个至第三个元素
print(list[2:])  # 输出从第三个开始至列表末尾的所有元素
print(tinylist * 2)  # 输出列表两次
print(list + tinylist)  # 打印组合的列表

3.5 元组

tuple = ('runoob', 786, 2.23, 'john', 70.2)
tinytuple = (123, 'john')

print(tuple)  # 输出完整元组
print(tuple[0])  # 输出元组的第一个元素
print(tuple[1:3])  # 输出第二个至第三个的元素
print(tuple[2:])  # 输出从第三个开始至列表末尾的所有元素
print(tinytuple * 2)  # 输出元组两次
print(tuple + tinytuple)  # 打印组合的元组

3.6 字典

dict = {}
dict['one'] = "This is one"
dict[2] = "This is two"

tinydict = {'name': 'john', 'code': 6734, 'dept': 'sales'}

print(dict['one'])  # 输出键为'one' 的值
print(dict[2])  # 输出键为 2 的值
print(tinydict)  # 输出完整的字典
print(tinydict.keys())  # 输出所有键
print(tinydict.values())  # 输出所有值

3.7 数据类型转换

函数

描述

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)

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

四、运算符

Python中的运算符:算术运算符, 比较(关系)运算符, 赋值运算符, 逻辑运算符, 位运算符, 成员运算符, 身份运算符, 运算符优先级。

4.1 算数运算符

+,-,*,/,%,*(表示幂,a*b,a的b次幂),//()取商,10//4,返回2)

4.2 比较运算符

==,!=,<>,>,<,>=,<=

4.3 赋值运算符

=,+=,-=,*=,/=,%=,**=,//=

4.4 位运算符

& , | , ^(按位异或运算符, ~(按位取反运算符), << , >>

4.5 逻辑运算符

and , or , not

4.6 成员运算符

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

4.7 身份运算符

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

4.8 运算符优先级

运算顺序由优先级由高到底运行

运算符

描述

**

指数 (最高优先级)

~ + -

按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)

* / % //

乘,除,取模和取整除

+ -

加法减法

>> <<

右移,左移运算符

&

位 'AND'

^ |

位运算符

<= < > >=

比较运算符

<> == !=

等于运算符

= %= /= //= -= += *= **=

赋值运算符

is, is not

身份运算符

in, not in

成员运算符

not, or and

逻辑运算符