python基础语法详讲二 快速入门python

数据类型
 
1.python是一门编程语言,一门完全面向对象的编程语言
2.如果对语言进行分类,那么python是一门强类型,动态类型的语言 (弱型:比如int可以变成float,python中数值类型不可变;动态类型:编译时不知道变量类型,python中变量无类型)
3.解释型语言
 
数据类型大体分为五类:整数、浮点数、字符串、布尔值、空值
#整型int
#浮点型float
#布尔型bool
#复数型complex (在python中用小写 j ,表示虚部,用其他的字母不行)
>>> ints=2
>>> strs=3.0
>>> floats=hello word
Traceback (most recent call last):     #变量为字符时用双单引号引起
  File "<pyshell#74>", line 1, in <module>
    floats=ll
NameError: name 'll' is not defined
>>> floats='hello word'              
>>> print(ints,strs,floats)          #在打印多个变量可用,隔开
2 3.0 hello word

数据强制转换

类型(变量)

a = 1
b = 2.0
c = 'hello,world'
print (a,b,c)
#a是整数,b是浮点数,c是字符串
float(a)
print(a)
>>> float(a)      #转换到浮点数
1.0
>>> int(b)        #转换到整数
2
>>> print(b)       #转换完的值不会保存
2.0

简单应用数据转换加深理解

>>> age=22
>>> happy="You are now "+age+'age'        # 变量age为整形,py不知道是要加还是减数据   列如:2-1
Traceback (most recent call last):
  File "<pyshell#84>", line 1, in <module>
    happy="You are now "+age+'age'
TypeError: can only concatenate str (not "int") to str
>>> happy="You are now "+int(age)+'age'              #这里因为是整形在转换也没有用
Traceback (most recent call last):
  File "<pyshell#85>", line 1, in <module>
    happy="You are now "+int(age)+'age'
TypeError: can only concatenate str (not "int") to str
>>> happy="You are now "+str(age)+'age'             #使用str转换为字符串
>>> print(happy)
You are now 22age

python中注释使用#。备注释的内容将不被输出

>>> a="love" #zzk
>>> print(a)
love
python的列表和简单使用
在python中列表用[ ]表示,每一个逗号分隔一个项,第一个项的索引为0依次叠加
>>> a=[first,'a']                  #字符串应双引或单引
Traceback (most recent call last):
  File "<pyshell#0>", line 1, in <module>
    a=[first,'a']
NameError: name 'first' is not defined
>>> a=['first',"two"]
>>> print(a[0],a[1],a[2])            #不存在的列表项将报错
Traceback (most recent call last):
  File "<pyshell#2>", line 1, in <module>
    print(a[0],a[1],a[2])
IndexError: a index out of range
>>> print(a[0],a[1])            #访问列表某一项方法  列表[索引值]
first two
访问列表某一项方法  列表[索引值]
 
添加 修改 删除某一元素
添加:
方法append(字符串)默认添加在最后
方法insert(索引,字符串)可在任意位置添加
 
修改:
修改某一项应是  列表[索引]=修改后的值
 
删除:
  • 方法del空格列表[索引值]
  • 方法del没有返回值
  • 方法列表.pop[索引值]
  • 方法pop有返回值
  • 在不知道索引只知道值的情况可使用remove(字符串)
>>> a.append('3')     #方法append(字符串)默认添加在最后
>>> print(a)
['one', 'two', '3']
>>> a.insert(0,'this')         #方法insert(索引,字符串)可在任意位置添加
>>> print(a)
['this', 'one', 'two', '3']




>>> a=['first',"two"]
>>> print(a)
['first', 'two']
>>> a[0]='one'  #修改某一项
>>> print(a)
['one', 'two']


>>> del a[2]          #方法del  列表[索引值]
>>> print(a)
['this', 'one', '3']
>>> a=del a[1]
SyntaxError: invalid syntax     #方法del没有返回值
>>> a=a.pop(1)        #方法列表.pop[索引值]
>>> print(a,a)
one ['this', '3']
>>> a.remove('3')           #在不知道索引只知道值的情况可使用remove(字符串)
>>> print(a)
['this']
 
排序组织列表
排序指重字母a开始,以下是两种重a开始排序方法的比较
 
使用 列表.sort()
使用sorted(列表)
>>> a.sort()       
>>> a
['audi', 'bmw', 'toyota', 'volovo']
>>> a=['bmw', 'volovo', 'audi', 'toyota']
>>> new=a.sort()         #尝试将排序完的列表赋值给new
>>> a
['audi', 'bmw', 'toyota', 'volovo']
>>> new
>>> print(new)
None           #赋值的new的值为空,说明sort不能保存
>>> a=['bmw', 'volovo', 'audi', 'toyota']
>>> new=sorted(a)             #使用sorted方法是可以保存变化数据的
>>> new
['audi', 'bmw', 'toyota', 'volovo']
>>> a                 #使用sorted方法是不会导致a本身变化
['bmw', 'volovo', 'audi', 'toyota']
 
reverse(列表) 倒着打印列表的值并保存
 
使用len函数可确定列表或者数据长度
len可数字符串或者列表中的元素
>>> a=["bmw","volovo","audi","toyota"]
>>> a.reverse()
>>> a
['toyota', 'audi', 'volovo', 'bmw']
>>> len(a)
4
>>> len('first')
5
for/in打印列表每一值
执行流程:b依次表示a中的一个元素,遍历完所有元素循环结束
>>> a=['zzk',"'s",'QQ',":2577344813"]
>>> print(a)
['zzk', "'s", 'QQ', ':2577344813']

>>> for b in a;              #for/in结束应用“冒号:”而不是分号";”
SyntaxError: invalid syntax
>>> for b in a:
    print(b)

zzk
's
QQ
:2577344813

>>> a
['zzk', "'s", 'QQ', ':2577344813'].

s = 'I love you more than i can say'       #同样的for/in结构也可以操作字符串
>>> for i in s:
    print(i)


I

l
o
v
e

y
o
u

m
o
r
e

t
h
a
n

i

c
a
n

s
a
y

for/in可以结合enumerate也把列表索引打印

>>> l = ['鹅鹅鹅', '曲项向天歌', '锄禾日当午', '春种一粒粟']
>>> for i, v in enumerate(l):
    print(i, v)


    
0 鹅鹅鹅
1 曲项向天歌
2 锄禾日当午
3 春种一粒粟
使用函数range()可以生成数值
range(start, stop[, step])
参数说明:
start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)
 
以下示例展示了for/in配合range,和使用range生成数字列表
>>> for i in range(1,6):           #for/in配合range
    print(i)


    
1
2
3
4
5

>>> for i in range(0,10,2):           #for/in 和步长使用
    print(i)


    
0
2
4
6
8

>>> even_numbers = list(range(2,11,2))          #range生成列表
>>> even_numbers
[2, 4, 6, 8, 10]

>>> for a in range(0,11,2):          #range配合数据运算实现列表值乘方
    b=a**2
    print(b)


    
0
4
16
36
64
100
 
在列表的数据中可以使用min max sum
打印出列表最小值,最大值,总和
>>> c=list(range(0,10,2))
>>> c
[0, 2, 4, 6, 8]
>>> min(c)
0
>>> max(c)
8
>>> sum(c)
20
 
切片方法及列表切片
>>> z='love'
>>> print(z[0:3])
lov
>>> a=['3','two','one']
>>> print(a[0:1])
['3']
 
复制列表
复制列表我们使用 变量[:]  如果直接使用变量=   这样将会导致值随值而变化
下列代码a和like使用同一个内存,即变量a=变量like,而变量b=初传给变量like的值
>>> like=['You',' are',' my ','favorite ','girl']
>>> a=like
>>> b=like[:]
>>> a
['You', ' are', ' my ', 'favorite ', 'girl']
>>> b
['You', ' are', ' my ', 'favorite ', 'girl']
>>> like.append('lzt')
>>> like
['You', ' are', ' my ', 'favorite ', 'girl', 'lt']
>>> a
['You', ' are', ' my ', 'favorite ', 'girl', 'lt']
>>> b
['You', ' are', ' my ', 'favorite ', 'girl']

可以使用id()这个函数判断内存

>>> id(a)
47204168
>>> id(like)
47204168
>>> id(b)
47204680
 

猜你喜欢

转载自www.cnblogs.com/lcyzblog/p/10959838.html