Python入门(一)
前言
此文章为本人学习Python时的一些练习代码。
一、python基础学习
- 标识符
- 关键字
- 变量
- 代码注释
- 模块
标识符
1、区分大小写
2、首字符可以是下划线(_)或字母,但不能是数字
3、除首字符外的其他字符必须是下划线、字母和数字
4、关键字不能作为标识符
5、不要使用Python的内置函数作为自己的标识符
关键字
False | None | True | def | if |
---|---|---|---|---|
raise | del | import | return | elfi |
try | and | else | is | while |
as | axcept | lambda | with | assert |
finally | nonlocal | yield | break | for |
not | class | from | or | continue |
global | pass |
变量
在python中为一个遍历赋值的同时就声明了该变量,该变量的数据类型就是赋值数据所属的类型,该变量还以接收其他类型的数据。
i = "Hello World"
print(i)
i = 1
print(i)
i = 1.0
print(i)
i = False
print(i)
输出结果:
Hello World
1
1.0
False
语句:
在Python 中,一行代码表示一条语句,在一般情况下语句结束时不加分号。
a,b,c=1,2,3
print(a,b,c)
s="nihao";
print(s)
1 2 3
nihao
注释
#位于注释行的开头,
#后面有一个空格,接着就是注释的内容。
#coding=utf-8
# 分别为a,b,c赋值1,2,3
a,b,c=1,2,3
print(a,b,c)
s="nihao"; # 将 nihao 赋值给 s
print(s)
模块
一个模块就是一个文件。
导入语句有下面三种形式
- import <模块名> :在访问时要加前缀
- from <模块名> import <代码元素> :在访问时不需要加前缀
- from <模块名> import <代码元素> as <代码元素别名>
m.py :
#coding=utf-8
def hello(name):
print(name+",hello!")
test.py:
#coding=utf-8
import m
name="zhangsan"
hello(name)
运行则会报错
发生异常: NameError
name 'hello' is not defined
File "D:\01networksecurity\Python\test.py", line 6, in <module>
hello(name)
^^^^^
NameError: name 'hello' is not defined
二、数字类型的数据
python 中有6种主要的内置数据类型:数字、字符串、列表、元组、集合和字典
Python中有4种数字类型:整数类型、浮点类型、复数类型和布尔类型。
- 整数类型
- 浮点类型
- 复数类型
- 布尔类型
- 数字类型转换
整数类型
Python中的整数类型为int类。
>>> 28
28
>>> type(28) # type() 函数返回数据的类型
<class 'int'>
>>> 0b11100 # 二进制 0b
28
>>> 0o34 # 八进制 0o
28
>>> 0x1c # 十六进制 0x
28
>>>
浮点型
Python 的浮点类型为float类。
>>> 1.0
1.0
>>> 0.0
0.0
>>> type(1.0)
<class 'float'>
>>> 2.26e2 # 使用科学计数法表示浮点数据, E或者e表示10的指数
226.0
>>> 1.46e-1
0.146
>>> .45e-2
0.0045
>>>
复数类型
复数在数学中表示为:a + bi ,其中a被称为实部,b被称为虚部,i被称为虚数单位。
在python中使用j表示虚数单位。
>>> 1+2j
(1+2j)
>>> (1+2j)+(2+3j)
(3+5j)
>>> a=1+2j
>>> type(a)
<class 'complex'>
>>>
布尔类型
Python中的布尔类型为bool类:它只有两个值:True和False。
任何类型的数据都可以通过bool()函数转换为布尔值,那些被认为"没有的""空的"值会被转换为False,反之被转换成True。
>>> bool(0) # 整数 0
False
>>> bool(1) # 非零整数
True
>>> bool('') # 空字符串
False
>>> bool(' ') # 非空字符串
True
>>> bool([]) # 空列表
False
>>> bool({}) # 空字典
False
数字类型的相互转换
1、隐式类型的转换:自动转换。
2、显示类型的转换:非自动。
隐式类型的转换
操作数1的类型 | 操作数2的类型 | 转换后的类型 |
---|---|---|
布尔 | 整数 | 整数 |
布尔、整数 | 浮点 | 浮点 |
>>> a = 1 + True
>>> a
2
>>> a = 1.0 + 1
>>> a
2.0
>>> a = 1.0 + 1 + True
>>> a
3.0
>>> a = 1.0 + 1 + False
>>> a
2.0
显示类型的转换
除复数外,三种数字类型的转换函数int()、floa()和bool()函数。
>>> a = 1.0 + 1
>>> a
2.0
>>> int(a)
2
>>> int(False)
0
>>> int(True)
1
>>> int(0.6)
0
>>> float(5)
5.0
>>> float(False)
0.0
>>> float(True)
1.0
>>>
三、运算符
- 算术运算符
- 比较运算符
- 逻辑运算符
- 位运算符
- 赋值运算符
- 运算符优先级
算术运算符
运算符 | 名称 | 例子 | 说明 |
---|---|---|---|
+ | 加 | a + b | |
- | 减 | a - b | |
* | 乘 | a * b | |
/ | 除 | a / b | |
% | 取余 | a % b | 求a除以b的余数 |
** | 幂 | a ** b | 求a的b次幂 |
// | 地板除法 | a // b | 求小于a与b的商的最大整数 |
>>> a = 1
>>> a
1
>>> -a # 取反
-1
>>> 1+1
2
>>> 2-1
1
>>> 2*3
6
>>> 5%3
2
>>> 5/3
1.6666666666666667
>>> 5//3
1
>>> -5//3
-2
>>> 10**3
1000
>>>
比较运算符
运算符 | 名称 | 例子 | 说明 |
---|---|---|---|
== | 等于 | a == b | a等于b时返回True,否则返回False |
!= | 不等于 | a != b | 与 == 相反 |
> | 大于 | a > b | a大于b时返回True,否则返回False |
< | 小于 | a < b | a小于b时返回True,否则返回False |
>= | 大于等于 | a >= b | a大于等于b时返回True,否则返回False |
<= | 小于等于 | a <= b | a小于等于b时返回True,否则返回False |
>>> a = 1
>>> b = 2
>>> a == b
False
>>> a != b
True
>>> a > b
False
>>> a < b
True
>>> a >= b
False
>>> a <= b
True
>>> 1.0 == 1 # 浮点与整数型可以进行比较
True
逻辑运算符
运算符 | 名称 | 例子 | 说明 |
---|---|---|---|
not | 逻辑非 | not a | a 为True 时,值为False,a为False时,值为True |
and | 逻辑与 | a and b | a、b全为True时,计算结果为True,否则为False |
or | 逻辑或 | a or b | a、b全为False时,计算结果全为False,否则为True |
>>> a = 1
>>> b = 0
>>> def f():
... print("----进入函数----")
... return True
...
>>> (a > b) or f() # 当 or 前面判定条件为True时,不会运行后面的判定条件
True
>>> (a < b) or f()
----进入函数----
True
>>> (a > b) and f()
----进入函数----
True
>>> (a < b) and f() # 当 and 前面判定条件为False时,不会运行后面的判定条件
False
>>>
位运算符
运算符 | 名称 | 例子 | 说明 |
---|---|---|---|
~ | 位反 | ~x | 将x的值按位取反 |
& | 位与 | x & y | 将x与y按位进行与运算 |
| | 位或 | x | y | 将x与y按位进行或 |
^ | 位异或 | x ^ y | 将x与y按位进行异或运算 |
>> | 右移 | x >> a | 将x右移a位,高位采用符号位部位 |
<< | 左移 | x << a | 将x左移a位,低位用0补位 |
>>> a = 0b10110010
>>> b = 0b01001101
>>> a | b # 按位进行或运算,相同位只要有1就为1,所以=0b11111111=255
255
>>> a & b # 按位进行与运算,相同位同时1就为1,所以=0b00000000=0
0
>>> a ^ b # 按位进行异或运算,相同位不同就为1否则为0,所以=0b11111111 = 255
255
>>> ~ a
-179
>>> a >> 2 #
44
>>> a << 2 #
712
>>> c = -20
>>> ~c # 公式:(a + 1) * -1
19
>>>
赋值运算符
运算符 | 名称 | 例子 | 说明 |
---|---|---|---|
+= | 加赋值 | a+=b | 等价于a =a+ b |
-= | 减赋值 | a -=b | 等价于a =a -b |
*= | 乘赋值 | a *= b | 等价于a =a*b |
/= | 除赋值 | a /= b | 等价于a =a/ b |
%= | 取余赋值 | a %= b | 等价于a =a % b |
**= | 幂赋值 | a**=b | 等价于a =a** b |
//= | 地板除法赋值 | a I/= b | 等价于a = a ll b |
&= | 位与赋值 | a &= b | 等价于a = a&b |
|= | 位或赋值 | al= b | 等价于a = a l b |
^= | 位异或赋值 | a = b | 等价于a = a ^ b |
<<= | 左移赋值 | a<<= b | 等价于a = a<<b |
>>= | 右移赋值 | a >>= b | 等价于a = a>>b |