python数据类型

数值型:

整型(python2中有整型和长整型的区别,长整型后面+L  python3不做区分  可以做大数运算)

浮点 

布尔(可认为是整数01) T F大写!!!非0的整数值也认为是True

科学记数法

>>> a=0.0000000000000000025

>>> print(a)

2.5e-18

>>> a=12332454313423

>>> print(a)

12332454313423

>>> a=1223435467658653455654346

>>> print(a)

1223435467658653455654346

>>> 15e10

150000000000.0

>>> true+true

Traceback (most recent call last):

  File "<pyshell#21>", line 1, in <module>

    true+true

NameError: name 'true' is not defined

>>> True+True(知道就好,正常人不这么用)

2


数据类型的转化截断是为了效率高

>>> a='520'

>>> b=int(a)

>>> b

520

>>> b=int('misszhou')

SyntaxError: invalid character in identifier

>>> a=5.99

>>> c=int(a)

>>> c

5

>>> a='520'

>>> b=float(a)

>>> b

520.0

>>> a=520

>>> b=str(a)

>>> b

'520'

>>> a=3.99

>>> b=str(a)

>>> b

'3.99'

>>> c=str(5e19)

>>> c

'5e+19'

>>> c=str(注意这个例子)

>>> b=str(c)

>>> b

"<class 'str'>"

>>> str="misszhou"

>>> str

'misszhou'

>>> c=str("1111")(为什么会返回这个结果呢?因为程序把str当成变量了orz )

Traceback (most recent call last):

  File "<pyshell#46>", line 1, in <module>

    c=str("1111")

TypeError: 'str' object is not callable



获得关于类型的信息

type()

>>> type(1e9)

<class 'float'>

Isinstance()

>>> isinstance("212",str)

True

>>> isinstance(1e9,float)

True

>>> isinstance(5,float)

False(也就是说,这里不可以转化,是啥就是啥)

>>> isinstance(1,bool)

False(居然bool也不可以)


常用操作符

运算操作符

+   -  *  /   %   **   //   也有+=  -=  /=  *=  %=  也可以xx=xx=xx=x

整数相除若不能整除可以得小数

如果我想得整数呢? // 

>>> a=10

>>> a//=4

>>> a

2


还有**干嘛的?幂!优先级比左侧的一元运算符低,比右侧的一元运算符高

>>> -3**2

-9

>>> 3**2+4

13


运算符的优先级和其他语言一样

比较运算符

(见上面)

>>> 3<4>5

False

>>> 3<4<5


逻辑操作符

and or not

操作符的优先级:

幂运算、正负号、算数操作符、比较操作符、逻辑运算符

分支与循环

基础分支循环的流程etc不再介绍

If else elif 不要忘记“:”

score=int(input('请输入一个分数'))
if 100>=score>=90:
    print("A")
elif score>=80:
    print("B")
elif score>=70:
    print("C")
elif score>=60:
    print("D")
else:
    print("E")


通过缩进控制~~

条件表达式(三元操作符)

(python2.5之后才有)

>>> a=2 if 2<3 else 3

>>> a

2

>>> a=2 if 2>3 else 3

>>> a

3


断言assert

当这个关键字后面的条件为假的时候,程序自动崩溃

循环

>>> name="MissZhou"

>>> for i in name

SyntaxError: invalid syntax

>>> for i in name:

print(i,end=' ')

M i s s Z h o u 

>>> name=['zyj','2013','acm']

>>> for i in name:

print(i,end=' ')

zyj 2013 acm 

>>> for each in name:

print(each,end=' ')

zyj 2013 acm 

>>> for each in name:

print(each,len(each))

zyj 3

2013 4

acm 3


range([start,]stop[,step=1])

BIF:生成一个从startstop结束的数字序列

>>> list(range(5))

[0, 1, 2, 3, 4]

>>> for i in range(5):

print(i)

0

1

2

3

4

>>> for i in range(2,9):

print(i)

2

3

4

5

6

7

8

>>> for i in range(1,10,2):

print(i)

1

3

5

7

9


break.continue

for i in range(10):

if i%2 != 0:

print(i)

continue

i+=2

print(i)

2

1

4

3

6

5

8

7

10

9