python 基础知识
一.运算符
浮点数:除法运算的结果为小数。
>>>1/2
>0.5
>>>1/1
>1.0
进行整除运算为双斜杠“//”
>>>1//2
>0
>>>5.0//2.4
>2.0
在python 2.x对于除法的方面完全忽略了小数点的意义,例如
>>>1/2
>0
不过在3.x和2.x取整相同,也可以叫做取商
% 是求余(求模)的运算符。
即 x % y 等价于x -((x // y) * y)
>>>10 % 3
>3
>>>9 % 3
>0
>>>2.75 % 0.5
>0.25
详细可以参考 https://blog.csdn.net/theonegis/article/details/44540151
最后一个运算符要讲解的是乘方(幂)运算符。
>>>2 ** 3
>8
>>> -3 ** 2
>-9
>>>(-3) ** 2
>9
在处理运算符方面的问题时,应注意优先级的高低
二.变量
:表示(或指向)特定值的名称。
例如想用名称 x来表示3
>>> x = 3
简要说一下命名规则,python里的命名和c/c++基本一样。可以包含数字、大小写、下划线或者更多
数字不可以打头 例如4am 、5for、6while
下划线一般不推荐使用,这涉及到下划线的命名规则,例如_name
_xxx,单下划线开头的变量,标明是一个受保护(protected)的变量,原则上不允许直接访问,但外部类还是可以访问到这个变量。
这只是程序员之间的一个约定,用于警告说明这是一个私有变量,外部类不要去访问它。
注意大小写不一样
三. 函数
乘方运算符使用( ** )来执行幂运算,为了方便起见可是使用内置函数pow
>>> 2 ** 3
>8
>>> pow (2,3) #2和3为实参,pow 调用函数返回的是8这个值
>8
内置函数abs,计算绝对值
>>>abs(-10)
>10
四. 模块
在python中有很多模块也意味着扩展功能,用到导入命令 import
import math
import Module # 引入模块
from Module import Other # 引入模块中的类、函数或者变量
from Module import * # 引入模块中的所有‘公开’成员
第一个:引入的模块(假如是 mdemo )会自动生成一个‘对象‘以模块名命名,然后就可以通过这个‘对象’(mdemo)获取该模块里面的类、函数或变量等…
第二个:引入模块中的Other(这里的Other就是模块中定义的成员)成员,调用时就可以省略 模块名。
第三个:这种情况如果上面的第二个弄懂的话就不难理解了,其意思就是引入模块中所有’公开’的成员。
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
from datetime import datetime
# 引入 datetime 模块中的 datetime 类,然后就可以通过datetime这个类调用now() 方法了
# 即,内部可以通过datetime.now()来调用
import datetime
"""
引入datetime 模块,然后通过这个模块来调用模块中的类datetime和类datetime中的方法now()
即:内部可以通过datetime.datetime.now()来调用
也就是说,有一个模块datetime,这个模块中有一个类datetime,在这个类中有一个方法now()
"""
五. 注释
Python中,井号(#)为行注释,在代码中这一行的内容都被忽略掉。
#用户输入名字:
user_name = input("")
Python另一种注释为
""" xxx """(双引号),此注释为xxx里面的所有内容都被注释掉,可以按c语言中注释的/* xxx */一样。或者Python另一种注释为''' xxx '''(单引号),同样意思也是xxx里面的内容都被注释掉。不过要注意的是:
如果注释单引号或双引号同时存在,代码中注释的信息应为第一个单引号或双引号往下自动寻找单引号或双引号之间的内容
六. 字符串
单引号和双引号在字符串方面没有区别,输出结果完全一样
不过在有些情况下区分单引号和双引号还是有用的,例如下图输出字符串Let’s go。但如果都是用单引号将会提示语法错误(下图程序二,提示invalid syntax)
在Python语言中 ‘let’s go’ 这个字符串被系统拆分成,‘let’ 但编译器不知道如何处理后面的s,和注释一样起始为单引号那么自动往下寻找另一个单引号,导致let’s无法识别是字符串
处理办法可以使用反斜杠()对引号进行转义
Python打印所有的字符串时,都用引号将其括起。这是因为Python打印值时,保留其在代码中的样子,而不是希望用户看到的。如果用print结果就不一样了。
如果再加上表示换行符的编码
,差别更明显。
通过使用函数str和repr直接使用这两种机制,使str能以合理的方式将值转化为用户能看懂的字符串,然而用repr通常会获得Python合法的表达式表示。
str()和repr()区别,详细请参考:https://www.jianshu.com/p/2a41315ca47e
注意输入path路径时
>>>path = 'c:
owhere'
>>>path
>'c:
owhere'
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
如果用print函数打印出来
>>>path = 'c:
owhere'
>>>print(path)
>c:
owhere
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
如果不是想要的只是想用print输出path的路径,可以用反斜杠进行转义
>>>path = 'c:\nowhere'
>>>path
>c:
owhere'