python基础
python基础
目录
py3thon2跟python3区别总结
-
Python2.X首行需要加入注释行:#coding=utf-8;
Python3.X可以 不用加入注释行
-
python2的print不需要加括号
print 'hello;python3的print需要加括号
print('hello') -
python2里面的input函数有两种
input()函数和raw_input()函数(可以对对整型输入)python3只有1种input函数
注释
Python 解释器遇到
#时,会忽略它后面的整行内容。
单行注释
ctrl+/---->快捷键
# 注释内容
多行注释:一次性注释程序中多行的内容
'''
使用 3 个单引号分别作为注释的开头和结尾
可以一次性注释多行内容
这里面的内容全部是注释内容
'''
"""
使用 3 个双引号分别作为注释的开头和结尾
可以一次性注释多行内容
这里面的内容全部是注释内容
"""
多行注释不支持嵌套,下面的写法是错误的:
'''
外层注释
'''
内层注释
'''
'''
变量
- 变量由字母,数字,下划线组成,字母区分大小写。
- 必须是字母或下划线开头,不能由数字开头
- 下划线和大写字母开头的标识符有特殊意义: 因此自己定义变量的时候,尽量不要用下划线或者大写字母开头
- 单下划线开头标识符_xxx 不能用于from xxx import * ,即保护类型只能允许其本身与子类进行访问
- __xxx 双下划线的表示的是私有类型的变量。只能是允许这个类本身进行访问,连子类也不可以访问
- 大写字母开头的在Python中一般表示类,比如:People
- Python的保留关键字不能当做变量名来使用,保留关键字会显示出不同的颜色

输出语句print
print('hello')
python格式化输出
#%s:字符串(采用str()的显示)
# python格式化输出
# %s:字符串(采用str()显示)
# 可以是字母,数字,特殊字符,优先使用str()函数进行字符串的转换
num=1
print(type(num)) #<class 'int'>
print('%s' %num) #1
print(type('%s' %num)) #<class 'str'>
#%c:单个字符
test='abc'
print('%c is a' %test) #会报错,%c requires int or char
test='1'
print('%c is 1' %test) #1 is i
test='a'
print('%c is a' %test)
# %d:十进制整数
# %i:十进制整数
num=12.6
print('结果为 %d' %num) #结果为12
# %i:十进制整数
print('结果为: %i' %num) #结果为12
num=round(num) #数字四舍五入round()
print('结果为: %d' %num) #结果为13
# %o:八进制整数(只能对整型做八进制转换)
num=12
print('结果为: %o' %num) #14
num1=12.22
print('结果为: %o' %num1) #报错: %o format: an integer is required, not float
# %x:十六进制整数
num=13
print('结果为:%x'%num) # 结果为d---->小写输出
print('结果为:%X'%num) # 结果为D---->大写输出
num1=13.22
print('结果为:%X'%num) # 报错:%X format: an integer is required, not float
# %f:浮点数
# 默认输出小数点后6位
num=12.337
print('结果为:%.2f' %num) # 结果为:12.34--->保留小数点后2位,最后一位四舍五入
print('结果为:%F' %num) #结果为:12.3330000--->默认输出小数点后6位
# %% :%格式化输出
# 格式化输出的时候,里面已经包含其它字符%,导致输出%时需要转义%%
num=8
方法1:
print('这款理财产品年化利率为%d%%' %num)
方法2
print('这款理财产品年化利率为%d' %num +'%' )
输入语句input
input('输入框的提示语')
-
直接使用input函数进行输入,输入的数据类型永远是
<class 'str'>name=(input('请输入用户名')); print(type(name)) #<class 'str'> -
如果需要输入其它类型,就使用对应的数据类型函数进行转换
- str->int : int(str类型)
name=int(input('请输入用户名')); print(type(name)) #<class 'int'>
运算符
算术运算符
+ - * / // % **
以下假设变量: a=10,b=20:
| 运算符 | 描述 | 实例 |
|---|---|---|
| + | 加 - 两个对象相加 | a + b 输出结果 30 |
| - | 减 - 得到负数或是一个数减去另一个数 | a - b 输出结果 -10 |
| * | 乘 - 两个数相乘或是返回一个被重复若干次的字符串 | a * b 输出结果 200 |
| / | 除 - x除以y | b / a 输出结果 2 |
| % | 取模 - 返回除法的余数 | b % a 输出结果 0 |
| ** | 幂 - 返回x的y次幂 | a**b 为10的20次方, 输出结果 100000000000000000000 |
| // | 取整除 - 返回商的整数部分(向下取整) | 9/2 结果为: 4 -9/2 结果为: -5 |
赋值运算符
+= -= *= /= %= **=
以下假设变量a为10,变量b为20:
| 运算符 | 描述 | 实例 |
|---|---|---|
| = | 简单的赋值运算符 | c = a + b 将 a + b 的运算结果赋值为 c |
| += | 加法赋值运算符 | c += a 等效于 c = c + a |
| -= | 减法赋值运算符 | c -= a 等效于 c = c - a |
| *= | 乘法赋值运算符 | c *= a 等效于 c = c * a |
| /= | 除法赋值运算符 | c /= a 等效于 c = c / a |
| %= | 取模赋值运算符 | c %= a 等效于 c = c % a |
| **= | 幂赋值运算符 | c**= a 等效于 c = c **a |
| //= | 取整除赋值运算符 | c //= a 等效于 c = c // a |
比较运算符
返回结果是布尔值
== > < >= <= !=
| 运算符 | 描述 | 实例 |
|---|---|---|
| == | 等于 - 比较对象是否相等 | (a == b) 返回 False。 |
| != | 不等于 - 比较两个对象是否不相等 | (a != b) 返回 true. |
| <> | 不等于 - 比较两个对象是否不相等。python3 已废弃。 | (a <> b) 返回 true。这个运算符类似 != 。 |
| > | 大于 - 返回x是否大于y | (a > b) 返回 False。 |
| < | 小于 - 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。 | (a < b) 返回 true。 |
| >= | 大于等于 - 返回x是否大于等于y。 | (a >= b) 返回 False。 |
| <= | 小于等于 - 返回x是否小于等于y。 | (a <= b) 返回 true。 |
逻辑运算符
返回结果是布尔值
优先级 : not>and >or
以下假设变量 a 为 10, b为 20:
| 运算符 | 逻辑表达式 | 描述 | 实例 |
|---|---|---|---|
| and | x and y | 布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。 | (a and b) 返回 20。 |
| or | x or y | 布尔"或" - 如果 x 是非 0,它返回 x 的计算值,否则它返回 y 的计算值。 | (a or b) 返回 10。 |
| not | not x | 布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 | not(a and b) 返回 False |
成员运算符
返回结果是布尔值
in / not in
| 运算符 | 描述 | 实例 |
|---|---|---|
| in | 如果在指定的序列中找到值返回 True,否则返回 False。 | x 在 y 序列中 , 如果 x 在 y 序列中返回 True。 |
| not in | 如果在指定的序列中没有找到值返回 True,否则返回 False。 | x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。 |
位运算符
按位与 & ; 按位或 | ; 按位异或 ^ ; 按位取反 ~ ; 左移动运算符 a<<位数 ; 右移动运算符 a>>位数
| 运算符 | 描述 | 实例 |
|---|---|---|
| & | 按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0 | (a & b) 输出结果 12 ,二进制解释: 0000 1100 |
| | | 按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。 | (a | b) 输出结果 61 ,二进制解释: 0011 1101 |
| ^ | 按位异或运算符:当两对应的二进位相异时,结果为1 | (a ^ b) 输出结果 49 ,二进制解释: 0011 0001 |
| ~ | 按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1 。~x 类似于 -x-1 | (~a ) 输出结果 -61 ,二进制解释: 1100 0011,在一个有符号二进制数的补码形式。 |
| << | 左移动运算符:运算数的各二进位全部左移若干位,由 << 右边的数字指定了移动的位数,高位丢弃,低位补0。 | a << 2 输出结果 240 ,二进制解释: 1111 0000 |
| >> | 右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,>> 右边的数字指定了移动的位数 | a >> 2 输出结果 15 ,二进制解释: 0000 1111 |
身份运算符
返回结果是布尔值
is / not is
| 运算符 | 描述 | 实例 |
|---|---|---|
| is | is 是判断两个标识符是不是引用自一个对象 | x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 False |
| is not | is not 是判断两个标识符是不是引用自不同对象 | x is not y , 类似 id(a) != id(b)。如果引用的不是同一个对象则返回结果 True,否则返回 False。 |
Python运算符优先级
以下表格列出了从最高到最低优先级的所有运算符:
| 运算符 | 描述 |
|---|---|
| ** | 指数 (最高优先级) |
| ~ + - | 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@) |
| * / % // | 乘,除,取模和取整除 |
| + - | 加法减法 |
| >> << | 右移,左移运算符 |
| & | 位 'AND' |
| ^ | | 位运算符 |
| <= < > >= | 比较运算符 |
| <> == != | 等于运算符 |
| = %= /= //= -= += *= **= | 赋值运算符 |
| is is not | 身份运算符 |
| in not in | 成员运算符 |
| not and or | 逻辑运算符 |

浙公网安备 33010602011771号