这里写自定义目录标题
python基础学习笔记
燕大无协张晴打卡第一天
python语法基础
变量
变量:引用对象
名:标识对象
>>>
> # variable
> p = 3.14159
> myString = 'is a mathematic circular constant'
> print(p, myString)
> 3.14159 is a mathematic circularconstant ```
#### 标志符
标识符是指Python语言中允许作为变量名或其他对象名称的有效符号
~首字符是字母或下划线
~其余可以是字母、下划线、数 字
~大小写敏感(PI和pi是不同的标 识符)
```python
> # Identifier
> PI = 3.14159
> pi = 'one word'
> print(PI) 3.14159
> print(pi)
> one word
关键字
是Python语言的关键组成部分,不可随便作为其他对象的标识符
~在一门语言中关键字是基本固定的集合
~在 IDE 中常以不同颜色字体出现
import keyword
print(keyword.kwlist)
表达式
用运算符连接各种类型数据的式子就是表达式
~算术运算符
乘方** 正负号 ± 乘除 */ 整除 // 取余% 加减±
~位运算符
取反~ 与& 或 | 异或^ 左移<< 右移 >>
~比较运算符
小于< 大于> 小于等于<= 大于等于>= 等于== 不等于!=
~逻辑运算符
非not 与and 或or
~运算符有优先级顺序
~表达式必须有运算结果
# expression
>PI = 3.14159
> r = 2
>_circ = 2 * PI * r
>print("The circle's circum is", c_circ)
赋值
变量第一次赋值,同时获得类型和“值”
~Python是动态的强类型语言
~不需要显式声明,根据“值”确定类型
~以“引用”的方式实现赋值
# Identifier
>>> PI = 3.14159
>>>> pi = 'one word'
>>>> print(PI) 3.14159
>>>> print(pi)
> one word
> # Identifier
>>>> PI = 3.14159
> >>> pi = PI
> >>> print(PI) 3
> .14159
> >>> print(pi)
> 3.14159
> >>> p = 3
> >>> q = 3
> >>> p is q
> True ```
#### 增量赋值
增量赋值操作位:
+= -= *= /= %= **= <<= >>= &= ^= |=
```python
> # Augmented assignment
> >>> m = 18
> >>> m %= 5
> >>> m
> 3
> >>> m **= 2
> >>> m
> 9
链式赋值
>>> # Chained assignment
>>>> PI = pi = 3.14159
> >>> PI
> 3.14159
> >>> pi
> 3.14159
>>> # Chained assignment
>>>> PI = 3.14159
>>>> pi = PI = PI * 2
>>>> pi
>6.28318
多重赋值
等号左右两边都以元组的方式出现
>>> # assignment
>>>> x = 1
>>>> y = 2
>>>> x, y (1, 2)
>>>> x, y = y, x
>>>> x, y (2, 1)
>>> # assignment
>>>> temp = 3.14159, 3
>>>> PI, r = temp
> >>> PI
> 3.14159
> >>> r
> 3
> >>> (PI, r) = (3.14159, 3) # same as no round brackets
语句
完整执行一个任务的一行逻辑代码
~赋值语句完成了赋值
~print()函数调用语句完成了输出
>>> # statement
>>>> PI = 3.14159
>>>> r = 2
>>>> c_circ = 2 * PI * r
>>>> print("The circle's circum is", c_circ)
语句和表达式
语句:完成一个任务
表达式:嗯五中的一个具体组成部分
python数据类型
数据类型
必须有明确的数据类型,程序才能分配给常量、变量精确 的存储大小,才能进行精确或高效率的运算
~整形
~浮点型
~字符串
~元组
~字典
~列表
~布尔型
~浮点型
整型
-
~整型和长整型并不严格区分
- Python 2支持整型值后加“L”即为长整型
>>> # integer
>>>> type(3)
><class 'int'>
布尔型
-
整型的子类
- 仅有2个值:True、False
- 本质上是用整型的1、0分别存储的
>>> # boolean
>>>> x = True
> >>> int(x)
> 1
> >>> y = False
> >>> int(y)
> 0
浮点型
即数学中的实数
可以类似科学计数法表示
>>> # float
> >>> 3.22
> 3.22
> >>> 9.8e3
> 9800.0
> >>> -4.78e-2
> -0.0478
> >>> type(-4.78e-2)
> <class 'float'>
复数型
j= −1,则 j 是虚数
实数+虚数 就是复数 (虚数部分必须有j)
>>> # complex
>>>> 2.4+5.6j
>(2.4+5.6j)
>>>> type(2.4+5.6j)
><class 'complex'>
>>>> 3j
>3j
>>>> type(3j)
><class 'complex'>
>>>> 5+0j
> (5+0j)
> >>> type(5+0j)
> <class 'complex'>```
复数可以分离实数部分和虚数部分
~复数.real
~ 复数.imag •
复数的共轭 – 复数.conjugate()
```python
>>> # complex
>>>> x = 2.4+5.6j
>>>> x.imag
> 5.6
>>>> x.real
> 2.4
>>>> x.conjugate()
> (2.4-5.6j)
序列
~字符串
单引号、双引号、三 引号内的都是字符串, 不可变类型
~ 列表
强大的类型,用方括 号 [] 界别,可变类型
~元组
与列表相似,用小括 号 () 界别,不可变类 型
字符串的表示
单引号
双引号
三引号
>>> myString = 'Hello World!' >
>>> print(myString)
> Hello World!
> >>> myString = "Hello World!"
> >>> print(myString)
> Hello World!
> >>> myString = '''Hello World!'''
> >>> print(myString)
> Hello World!
映射类型-字典
-
~ 用大括号 {} 界别
- 类似于哈希表的键值对
>>> # dictionary
>>>> d ={'sine':'sin','cosine':'cos','PI':3.14159} >>> d['sine']
>'sin'
python基本运算
算数运算
算术运算符的优先级:~乘方**、正负号+ -、 乘除* /、整除//、 取余%、加减±
>>> # arithmetic
> >>> pi = 3.14159
> >>> r = 3
> >>> circum = 2 * pi * r
> >>> x = 1
> >>> y = 2
> >>> z = 3
> >>> result1 = x + 3/y -z % 2
> >>> result2 = (x + y**z*4)//5
> >>> print(circum, result1, result2)
> 18.84954 1.5 6
比较运算
数值的比较:按值比大小
字符串的比较:按ASCII码值大小
>>> # compare
> >>> 3 < 4 < 7 # same as ( 3 < 4 ) and ( 4 < 7 )
> True
> >>>> 4 > 3 == 3 # same as ( 4 > 3 ) and ( 3 == 3 )
> True
> >>> 4 < 3 < 5 != 2 < 7
> False
>>> # compare
>>>> 2 == 2
>True
> >>> 2.46 <= 8.33
> True
> >>> 'abc' == 'xyz'
> False
> >>> 'abc' > 'xyz'
> False
> >>> 'abc' < 'xyz'
> True ```
#### 逻辑运算
逻辑运算符优先级:
~ not、and、or
```python
>>> # logical
>>>> x, y = 3.1415926536, -1024
>>>> x < 5.0
>True
>>>> not (x < 5.0)
> False
> >>> (x < 5.0) or (y > 2.718281828)
> True
> >>> (x < 5.0) and (y > 2.718281828)
> False
> >>> not (x is y)
> True
> >>> 3 < 4 < 7 # same as "( 3 < 4 ) and ( 4 < 7 )"
> True
字符运算符
原始字符串操作符 (r / R):
~用于一些不希望转义字符起作用的地方
所有的字符串都是Unicode字符串:
~Python 2.x中需转换成Unicode字符
>>> # u in Python 2.x
> >>> print u'Hello\nWorld'
> hello World
>>> # r
> >>> f = open('c:\python\test.py','w') Traceback (most recent call last): File "<pyshell#12>", line 1, in <module> f = open('c:\python\test.py','w') IOError: [Errno 22] invalid mode ('w') or filename: 'c:\\python\test.py'
> >>> f = open(r'c:\python\test.py','w')
> >>> f = open('c:\\python\\test.py','w')
综合运算
~算数运算符
~位运算符
~比较运算符
~逻辑运算符
>>> # mix
>>>> 3 < 2 and 2 < 1 or 5 > 4
>True
> >>> x + 3/y -z % 2 > 2
> False
> >>> 3-2 << 1
> 2
> >>> 3-2 << 1 < 3
> True
python的函数、模块和包
函数(一)
函数可以看成类似于数学中的函数
完成一个特定功能的一段代码
~ 绝对值函数abs(x)
~ 类型函数type(x)
~四舍五入函数round(x)
函数(二)
内建函数
~str() 和 type()等适用于所有标准类型
模块
-
一个完整的Python文件即是一个模块
- 文件:物理上的组织方式 math.py
-
模块:逻辑上的组织方式 math •
Python通常用“import 模块”的方式将现成 模块中的函数、类等重用到其他代码块中 -
math.pi的值可以直接使用,不需要自行定义
导入多个模块
~模块里导入指定的模块属性,也就是把指定名称导入到当前作 用域
包
一个有层次的文件目录结构
定义了一个由模块和子包组成的 Python 应用程序执行环
库
• 库是一组具有相关功 能的模块的集合 • Python的一大特色就 是具有强大的标准库、 以及第三方库、以自定义模块