Python办公自动化之进入Python世界
### Python基本语法
#### 编码规范
默认情况下,python3源文件以UTF-8编码,所有字符串都是unicode字符串。同时可以可以指定源文件的不同编码文件开头加上。
> \# -*- coding: UTF-8 -*-
>
> \# coding=utf-8(等号两边不能有空格)
允许在源文件中使用utf-8字符集中的字符编码,对应的适合语言为中文等。
#### print()函数
1. 字符串和数值类型可以直接输出
2. 无论什么类型,数值,布尔,列表,字典...都可以直接输出
3. 格式化输出 如:%s :表示字符串 ;%d表示十进制整数;%f 表示十进制浮点数
4. Python中总是默认换行的
如:
```
print("Hello World")
s = 'Hello'
print(s)
name = 'John'
print('%s是最棒哒!' % name)
print('我真的是换行的,若不想换行,添加end参数')
print('我是不换行哒!',end="")
```
#### 变量
变量:值会发生变化的的量,与常量相对.
声明变量的格式:变量名 = 值 (值的类型决定变量的类型)
比如:
```
name = ‘John’ # 声明了变量name
age = 20
```
注释:
(1)单行注释:#
(2)多行注释:''' '''
Python允许你同时为多个变量赋值。
例如:
```
a = b = c = 1
```
以上实例,创建一个整型对象,值为 1,从后向前赋值,三个变量被赋予相同的数值。
可以为多个对象指定多个变量。
例如:
```
a, b, c = 1, 2, "running"
a,b = b,a
```
#### 标识符
在程序中自定义的类名、函数名、变量等符号和名称,叫做标识符。
标识符的命名需要符合如下规范:
```
(1)标识符由字母、数字和下划线组成
(2)不能使用数字开头,即第一个字符必须是字母或下划线_
(3)标识符对大小写敏感
(4)不可以使用关键字,可以使用下面代码查看关键字:
import keyword
print(keyword.kwlist)
```
比如:合法的标识符
```
name
User
user_name
user_age
GOODS
student_name
book20
```
不合法的标识符
```
user&name # & 不属于标识符的组成字符,即包含非法字符
8name # 不能以数字开头
yield # yield是关键字,不能作为标识符
```
标识符的命名,除了要遵守上文所述的几条规则外,在不同场景中其命名也是有一定规则的,如下所示:
- 函数名、类中属性名、类中的方法名:全部使用小写字母,多个字母之间可用下划线`_`分隔,例如`user_age`
- 常量名:全部使用大写字母,多个字母之间可用下划线`_`分隔,例如`YEAR`
- 类名:单词首字母大写,例如`Goods`
- 包名:应尽量简短,全部使用小写字母,多个字母间可用`.`分隔,例如`com.python`
- 模块名:应尽量简短,全部使用小写字母,多个字母间可用下划线`_`分隔,例如 `user_login`
#### 数据类型
对于**数值类型**Python3 支持 **int、float、complex(复数)**。
**整型**
Python 整数数据类型,简称整型,在 Python 中用 `int`表示。
整数指的是没有小数部分的数字,在 Python 中的整数包括正整数、0(数字零) 和负整数。
比如:
```
money = 100
age = 19
```
当然也会分成:**二进制、八进制、十六进制**
> 二进制形式,由 0 和 1 两个数字组成,书写时以`0b`或`0B`开头
>
> 八进制形式,由 0~7 共八个数字组成,以`0o`或`0O`开头
>
> 十六进制形式,由 0~9 十个数字以及 A~F(或 a~f)六个字母组成,书写时以`0x`或`0X`开头
如:
```
print(0b101)
print(0o22)
print(0xc)
```
**浮点型**
浮点数数据类型,可以简称为浮点类型。小数通常以浮点数的形式存储,在 Python 中用 `float` 表示。可以理解为浮点数是用来描述小数的。
比如:
```
height = 5.8
width = 6.2
```
**复数**
复数数据类型,简称复数类型。在 Python 中用`complex`表示。复数类型是 Python 的内置类型,直接书写即可。复数由实部(real part)和虚部(imaginary part)构成,分别以一个浮点数表示。在 Python 中,复数的虚部以小写字母`j`或者大写字母`J`作为后缀(虚数单位)具体格式为:a + bj
比如:
```
c1 = 12 + 0.2j
```
**字符串类型**
python 中的字符串字面量由单引号或双引号括起。'hello' 等同于 "hello"。通过使用变量名称后跟等号和字符串,把字符串赋值给变量:
比如:
```
name = ‘John’
```
多行字符串:您可以使用三个引号将多行字符串赋值给变量
比如:
```
message = ''' hello
world!'''
```
**布尔型**
布尔表示两值之一:True 或 False。
如果有内容,则几乎所有值都将为 True。除 ()、[]、{}、""、数字 0 和值 None外,任何字符串均为 True。
比如:
```
print(True)
print(3>4)
```
当然还有其他类型后面我们在逐一介绍,更详细的内容请看:https://mp.weixin.qq.com/s/oWT8KGheWfX3awfDFfk0ag
**类型转换**
类型转换涉及到的函数:
> int(x [,base]) 将x转换为一个整数
> float(x) 将x转换到一个浮点数
> str(x) 将对象 x 转换为字符串
> eval(str) 用来计算在字符串中的有效Python表达式,并返回一个对象
> tuple(s) 将序列 s 转换为一个元组
> list(s) 将序列 s 转换为一个列表
> set(s) 转换为可变集合
> dict(d) 创建一个字典。d 必须是一个序列 (key,value)元组。
> chr(x) 将一个整数转换为一个字符
> ord(x) 将一个字符转换为它的整数值
> hex(x) 将一个整数转换为一个十六进制字符串
> oct(x) 将一个整数转换为一个八进制字符串
比如:
```
a = 0x18
print(int(a))
x = 7
print(eval('2*x'))
print(chr(48))
money = 5.89
print(int(money))
```
### 学习Python的方法
三句话:
```
多动手:“纸上得来终觉浅,绝知此事要躬行。”
多搜索:随着互联网越来越普及,大量的学习者已经把互联网作为一个重要的学习平台。
多总结:一名成功的学习者应该是一位善于总结的高手。
```