python基础(一)

语言类型

python是动态、强类型语言。静态类型是定义变量时指定变量类型,变量的值可以变,但是变量类型不能变。强类型指的是不同类型操作时需要转换成同一类型,python中print('a'+1)会报错,而js中会把1转换成字符串,然后输出a1。

注释

# 这是一个python的注释
num = 100

数字

  • 整数:python3中,只有int类型
  1. 十进制:print(10)
  2. 二进制:print(0b10)
  3. 八进制:print(0o10)
  4. 十六进制:print(0x10)
  • 浮点数:float
  1. print(1.2)
  2. print(-1.2)
  3. print(1.2e2) 等价于 print(1.2*(10**2))

字符串

  • 字符串
  1. 使用单引号和双引号包裹的字符,可以解析\t \n

  2. """ """中可以写任意字符,可自由写' "号,会处理\t \n

  3. r不做特殊处理

  4. f前缀(python3.6后支持)

image.png

标识符

标识符表示变量和常量名,python没有常量(java中finnal,c中const)

  1. 标识符只能有字母数字和_组成

  2. 只能由_或字母开头

  3. 严格区分大小写

  4. 不能使用关键字作为标识符,比如class、def

运算符

  1. 算数运算符

    • +、-、*、/、//向下整除、%取余、**次方
  2. 比较运算符

    • ==、!=、>、>=、<、<=
  3. 逻辑运算符

    • and、or、not:本质是True和False运算,但是返回类型不都是bool。and左边是False,最终表达式一定是False,输出左边的值。or左边是True,最终表达式一定是True

valueTrue/False描述
0False数字0
""False空字符串
[]False空列表
()False空元祖
{}Flase空字典
NoneFalse
"string"True字符串
>=1 or <=-1True不等于0的数
print(1 and 2) # 会输出2,因为数字1是True,不管and右边是不是True或False的值,都会输出右边的值

print(1 and 2 and 'a') # 输出'a'

print(0 and 'a') # 输出0

print(1 or 2) # 输出1
  1. 成员运算符

    in、not in

  2. 身份运算符

    is、is not

内建函数

内建函数函数签名说明
printprint(self, *args, sep=' ', end='\n', file=None)默认将多个输入已空格分开然后换行结束
inputinput(args, *kwargs)控制台交互函数
typetype()判断类型,输出类的信息
isinstanceisinstance(x, A_tuple)判断类型,可以输入一个类型元祖,返回True或False
>>> print(1,2,3,sep="@",end="\t") # sep定义输出间隔,end表示最后以什么结束
1@2@3	>>> 

>>> a=input("输入:")
输入:hello world
>>> a
'hello world'
>>> 

>>> print(type(a))
<class 'str'>
>>> 

>>> print(isinstance(a,(str,int)))
True
>>> 

控制语句

pass用来占位,以免报错

if condition1:
    pass
elif condition2:
    pass
elif condition3:
    pass
else:
    pass

循环语句

while condition:
    pass
 
for element in iteratable: # iteratable有字符串、列表、元祖、字典
    pass
  • range函数使用
# range(start,stop,step):
for i in range(10): # 等于range(0,10),输出0到9
    print(i)

for i in range(0,10,2): # 从0到10,间隔2,输出偶数
    print(i)

for i in range(10,2,-2): # 倒着打印
    print(i)
  • else子句:当循环执行完成后else子句会执行
for i in range(0,10):
    continue # pass、正常逻辑也会执行else子句,break不行
else:
    print('ok')

三元表达式

真值表达式 if 条件表达式 else 假值表达式

a = input("输入:")
print(a if a else "default") # 输入没空就会输出default