提示:这里可以添加本文要记录的大概内容:
在Python中,不需要事先声明变量名及其类型,直接赋值即可创建各种类型的对象变量。这一点适用于Python任意类型的对象。
例如语句
>>> x = 3
>>> print(x)
创建了整型变量x,并赋值为3,
再例如语句
>>> x = 'Hello world.'
创建了字符串变量x,并赋值为’Hello world.’
提示:以下是本篇文章正文内容,下面案例可供参考
Python属于强类型编程语言,Python解释器会根据赋值或运算来自动推断变量类型。Python还是一种动态类型语言,变量的类型也是可以随时变化的。
>>> x = 3
>>> print(type(x))
<class 'int'>
>>> x = 'Hello world.'
>>> print(type(x))
<class 'str'>
①、字母/下划线开头,但以下划线开头的变量在Python中有特殊含义;
②、不能有空格以及标点(括号、引号、逗号、斜线、反斜线、冒号、句号、问号等)
③、不能使用关键字作为变量名,可以导入keyword模块后使用print(keyword.kwlist)查看所有Python关键字;
④、不建议使用系统内置的模块名、类型名或函数名,以及已导入的模块名及其成员名做变量名,这将会改变其类型和含义,可以通过dir(builtins)查看所有内置模块、类型和函数;
⑤、区分大小写,变量名对英文字母的大小写敏感,例如student和Student是不同的变量

| 运算符 | 描述 | 实例 |
|---|---|---|
+ | 加:两个对象相加 | a= 5;b =4;a + b 输出结果9 |
- | 减:得到负数或是一个数减去另一个数 | a= 5;b =4;a - b 输出结果1 |
* | 乘:两个数相乘或是返回一个被重复若干次的字符串 | a= 5,b =4,ab输出结果20;c=‘5’,c4输出结果’5555’ |
/ | 除:b 除以 a | b= 10;a =2;b / a 输出结果5.0 |
% | 取模:返回除法的余数 | b=10;a=2;b % a 输出结果0 |
** | 幂:返回 a 的 b 次幂 | a=3;b=188;a ** b 为3的188次方 |
// | 整除:返回商的整数部分(向下取整) | a=10;b=4;a // b 为 a 整除 b,输出结果为2 |
| 运算符 | 描述 | 实例 |
|---|---|---|
== | 等于:比较对象是否相等 | a= 5;b =5.0;(a == b) 输出Ture |
!= | 不等于:比较对象是否不相等 | a= 5;b =6;(a != b) 输出Ture |
> | 大于:返回a是否大于b,所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价 | a= 5;b =4.3;(a > b) 返回Ture |
< | 小于:返回a是否小于b | a= 5;b =4.3;(a < b) 返回False |
>= | 大于等于:返回a是否大于等于b | a = 5;b = 4.3;(a >= b) 返回True |
<= | 小于等于:返回a是否小于等于b | a = 5;b = 4.3;(a <= b) 返回True |
| 运算符 | 描述 | 实例 |
|---|---|---|
= | 简单的赋值运算符 | a = 6;b = 4;c = a +b将a +b 的运算结果赋值为c |
+= | 加法赋值运算符 | a = 6;c = 9;c += a 等效于c = c + a |
-= | 减法赋值运算符 | a = 6;c = 9.0;c -= a 等效于c = c - a |
*= | 乘法赋值运算符 | a = 6;c = 9.0;c *= a 等效于c = c * a |
/= | 除法赋值运算符 | c = 9;a = 3;c / a 等效于c = c / a |
%= | 取模赋值运算符 | c = 9;a = 3;c % a 等效于c = c % a |
**= | 幂赋值运算符 | c = 2;a = 3;c **= a 等效于c = c ** a |
//= | 取整除赋值运算符 | c = 4;a = 3;c // a 等效于c = c // a |
+运算符除了用于算术加法以外,还可以用于列表、元组、字符串的连接,但不支持不同类型的对象之间相加或连接
>>> [1, 2, 3] + [4, 5, 6] #连接两个列表
[1, 2, 3, 4, 5, 6]
>>> (1, 2, 3) + (4,) #连接两个元组
(1, 2, 3, 4)
>>> 'abcd' + '1234' #连接两个字符串
'abcd1234'
>>> 'A' + 1 #不支持字符与数字相加,抛出异常
TypeError: Can't convert 'int' object to str implicitly
>>> True + 3 #Python内部把True当作1处理
4
>>> False + 3 #把False当作0处理
*运算符不仅可以用于数值乘法,还可以用于列表、字符串、元组等类型,当列表、字符串或元组等类型变量与整数进行"*"运算时,表示对内容进行重复并返回重复后的新对象。
>>> 2.0 * 3 #浮点数与整数相乘
6.0
>>> (3+4j) * 2 #复数与整数相乘
(6+8j)
>>> "a" * 10 #字符串重复
'aaaaaaaaaa'
>>> [1,2,3] * 3 #列表重复
[1, 2, 3, 1, 2, 3, 1, 2, 3]
>>> (1,2,3) * 3 #元组重复
(1, 2, 3, 1, 2, 3, 1, 2, 3)
%运算符除去可以用于字符串格式化之外,还可以对整数和浮点数计算余数。但是由于浮点数的精确度影响,计算结果可能略有误差。
>>> 3.1%2
1.1
>>> 6.3%2.1
2.0999999999999996
>>> 6%2
0
>>> 6.0%2
0.0
>>> 6.0%2.0
0.0
>>> 5.7%4.8
0.9000000000000004
集合的交集、并集等运算借助于位运算符来实现,而差集则使用减号运算符实现(注意,并集运算符不是加号)。
>>> {1, 2, 3} | {3, 4, 5} #并集,自动去除重复元素
{1, 2, 3, 4, 5}
>>> {1, 2, 3} & {3, 4, 5} #交集
{3}
>>> {1, 2, 3} - {3, 4, 5} #差集
{1, 2}
逻辑运算符and和or具有惰性求值特点。
>>> 3>5 and a>3 #注意,此时并没有定义变量a
False
>>> 3>5 or a>3 #3>5的值为False,所以需要计算后面表达式
NameError: name 'a' is not defined
>>> 3<5 or a>3 #3<5的值为True,不需要计算后面表达式
True
>>> 3 and 5 #最后一个计算的表达式的值作为整个表达式的值
5
>>> 3 and 5>2
True
>>> 3 not in [1, 2, 3] #逻辑非运算not
False
>>> 3 is not 5 #not的计算结果只能是True或False之一
True
数字是不可变对象,可以表示任意大小的数字
Python的IDLE交互界面可以当做简便计算器来使用。
>>> ((3**2) + (4**2)) ** 0.5
5.0
Python中的整数类型可以分为:
十进制整数如,0、-1、9、123
十六进制整数,需要16个数字0、1、2、3、4、5、6、7、8、9、a、b、c、d、e、f来表示整数,必须以0x开头,如0x10、0xfa、0xabcdef
八进制整数,只需要8个数字0、1、2、3、4、5、6、7来表示整数,必须以0o开头,如0o35、0o11
二进制整数,只需要2个数字0、1来表示整数,必须以0b开头如,0b101、0b100
浮点数又称小数
15.0、0.37、-11.2、1.2e2、314.15e-2
用单引号、双引号或三引号括起来的符号系列称为字符串
单引号、双引号、三单引号、三双引号可以互相嵌套,用来表示复杂字符串
‘abc’、‘123’、‘中国’、“Python”、‘’‘Tom said, “Let’s go”’‘’
字符串属于不可变序列
空串表示为’'或 “”
三引号’''或"""表示的字符串可以换行,支持排版较为复杂的字符串;三引号还可以在程序中表示较长的注释。
字符串的应用非常广泛,其支持的操作也比较多,这里先简单介绍,后面会有单独的章节结合正则表达式展开详细的讲解。
字符串合并
>>> a = 'abc' + '123' #生成新对象
字符串格式化
>>> a = 3.6674
>>> '%7.3f' % a
' 3.667'
>>> "%d:%c"%(65,65)
'65:A'
>>> """My name is %s, and my age is %d""" % ('Dong Fuguo',39)
'My name is Dong Fuguo, and my age is 39'