【Day 1】python基础学习
1. 环境搭建
a) anaconda环境配置
b) 解释器
2. python基础讲解
a) python变量特征+命名规则
变量命名规则:
- 变量名的长度不受限制,但其中的字符必须是字母、数字、或者下划线(_),而不能使用空格、连字符、标点符号、引号或其他字符。
- 变量名的第一个字符不能是数字,而必须是字母或下划线。
- Python 区分大小写。
- 不能将Python关键字用作变量名。
对于 x=expr这样的赋值语句,可以这样解读:让x指向表达式expr的值。对于没有任何变量指向的值,Python自动将其删除。一般而言,Python跟踪所有的值,并自动删除不再有变量指向的值,这称为垃圾收集,因此,Python程序员很少需要为删除值操心。
赋值语句并不会复制指向的值,而只是标记和重新标记既有值。因此,无论变量指向的对象有多大,多复杂,赋值语句的效率都非常高。
在Python中,数字和字符串的一个重要特征是不可变,即不能以任何方式修改它们。在看起来是修改数字或字符串的情况下,Python实际上是在创建修改版本的拷贝。
>>> s='apple'
>>> s+'s'
'apples'
>>> s
'apple'
>>> 5=1
SyntaxError: can't assign to literal
在Python中,有一种便利的技巧,让你能够同时给多个变量赋值:(多重赋值)
>>> x,y,z=1,'two',3.0
>>> x
>>> y
'two'
>>> z
3.0
>>> x,y,z
(1, 'two', 3.0)
b) 注释方法
Python中的注释有单行注释和多行注释。
- Python中单行注释以 # 开头,例如:
# 这是一个注释
print("Hello, World!")
- 多行注释用三个单引号 ‘’’ 或者三个双引号 “”" 将注释括起来,例如:
- 单引号
#!/usr/bin/python3
'''
这是多行注释,用三个单引号
这是多行注释,用三个单引号
这是多行注释,用三个单引号
'''
print("Hello, World!")
- 双引号
#!/usr/bin/python3
"""
这是多行注释,用三个单引号
这是多行注释,用三个单引号
这是多行注释,用三个单引号
"""
print("Hello, World!")
c)python中“:”的作用
- 在字典中,冒号用来分割键值对,a={key:value};
- 属于语法的一部分,常常在if、elif、else等语句的后面,定义函数,类时,构成语法的一部分。
d)dir()和help()函数
dir()用来查询一个类或者对象所有属性,比如:
>>> dir(list)
['__add__', '__class__', '__contains__', '__delattr__',
'__delitem__','__dir__', '__doc__', '__eq__', '__format__', '__ge__',
'__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__',
'__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__',
'__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__',
'__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__',
'__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend',
'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
>>>
help()函数帮助我们了解模块、类型、对象、方法、属性的详细信息
>>> help(list) Help on class list in module builtins: class list(object)
| list() -> new empty list
| list(iterable) -> new list initialized from iterable's items
|
| Methods defined here:
|
| __add__(self, value, /)
| Return self+value.
|
| __contains__(self, key, /)
| Return key in self.
|
| __delitem__(self, key, /)
| Delete self[key].
|
| __eq__(self, value, /)
| Return self==value.
|
| __ge__(self, value, /)
| Return self>=value.
|
| __getattribute__(self, name, /)
| Return getattr(self, name).
|
| __getitem__(...)
| x.__getitem__(y) <==> x[y]
|
| __gt__(self, value, /)
| Return self>value.
|
| __iadd__(self, value, /)
| Implement self+=value.
|
| __imul__(self, value, /)
| Implement self*=value.
|
| __init__(self, /, *args, **kwargs)
-- More --
e)import使用
可以使用import将一个源文件导入,并可以使用该模块的方法。可以单个模块导入,也可以同时导入多个模块,还可以导入模块的部分方法。
import os 单个模块导入
import time, os, sys, csv 导入多个模块
import numpy as np 使用关键字as可以为模块重命名
from socket import socket 导入socket模块中的socket方法,这种格式用于大型的模块,可以只导入需要的方法即可。
f) pep8介绍
pep8是python的编码规范,比如代码编排、文档编排、空格的使用、注释、文档描述、命名规范以及编码建议等。在写程序时如果都遵循这个规则,很大程度提升了代码的可阅读性。
PEP8中文翻译:http://www.cnblogs.com/ajianbeyourself/p/4377933.html
2. python数值基本知识
a) python中的数值类型
Python3 支持 int、float、bool、complex(复数)。
在Python 3里,只有一种整数类型 int,表示为长整型,没有 python2 中的 Long。
像大多数语言一样,数值类型的赋值和计算都是很直观的。
内置的 type() 函数可以用来查询变量所指的对象类型。
>>> a, b, c, d = 20, 5.5, True, 4+3j
>>> print(type(a), type(b), type(c), type(d))
<class 'int'> <class 'float'> <class 'bool'> <class 'complex'>
b) python中的算数运算符
运算符 | 描述 | 实例 |
---|---|---|
+ | 加 - 两个对象相加 | a + b输出结果 30 |
- | 减 - 得到负数或是一个数减去另一个数 | a - b 输出结果 -10 |
* | 乘 - 两个数相乘或是返回一个被重复若干次的字符串 | a * b 输出结果 200 |
/ | 除 - x除以y | b / a 输出结果 2 |
% | 取模 - 返回除法的余数 | b % a 输出结果 0 |
** | 幂 - 返回x的y次幂 | a**b 为10的20次方, 输出结果 100000000000000000000 |
c) python中的逻辑运算符
d) python中的成员运算符
用来查找某个变量的值是否在给定的序列中,主要用在字符串、元组和列表。in:A in B,判断序列B中是否有A,有则返回True,否则返回False。not in:A not in B,判断序列B中是否有A,没有则返回True,否则返回False。
e) python中的身份运算符
所谓身份运算符就是比较两个变量(两个名字)是否来自同一个对象(同一个人)。is:x is y,如果x和y是来自同一个对象,则返回True,否则返回False。is not:x is not y,如果x和y不是来自同一个对象,则返回True,否则返回False。