Python基础

作者: 小漫画ing | 来源:发表于2018-11-18 16:52 被阅读0次

数据类型和变量

1.整数

2.浮点数

3.字符串

当字符串中既包含''又包含""时,我们可以使用转义字符\来标识:

print("I\'m \"OK\"!")
运行结果

4.布尔值

(1)布尔值我们都知道只有True、False两种值,在这里同样也是(注意大小写):

print(3>5)
运行结果
print(3<5)
运行结果
print(not True)//这是单目运算符
运行结果

(2)布尔值经常用在条件判断中:

age=12;
if age >=18:
    print("成年人")
else:
    print("少年")
运行结果

空值

空值是None,他不能理解为0,是一个特殊的空值。

变量

变量不仅可以是数字,还可以是任意数据类型。

a=1
t_007='T007'

常量

(1)除法:

print(10/3)
运行结果

(2)还有一种除法是//,称为地板除:

print(10//3)
运行结果

(3)取余

print(10%3)
运行结果

字符串

1、获取字符的整数表示,这里提供了一个ord()函数

print(ord('A'))
运行结果

2、转换为对应的字符,这里提供了chr()函数

print(chr(66))
运行结果

使用list和tuple

list

1、取元素的操作
list我们大家在学习java的时候都知道,她是集合,可以进行删除和添加的一个集合。

classmates=["Michael","Bob","Tracy","Java"]
print(classmates)
运行结果

变量classmates就是一个list。用len()函数可以获得list元素的个数

print(len(classmates))
运行结果

接下来我们取一下元素,这里和java几乎是类似的。

print(classmates[0])
运行结果
有时候我们想取最后一个元素的时候可能会写错,因为可能不清楚集合的长度,取错值,这时候,我们取最后一个元素的时候,可以用使用-1做索引。
print(classmates[-1])
运行结果

以此类推。
2、往集合中追加元素

classmates.append("Jane")
print(classmates)
运行结果

将元素追加到指定的位置

classmates.insert(1,"Jack")
print(classmates)
运行结果

3、删除元素
删除末尾的元素:

classmates.pop()
print(classmates)
运行结果

删除指定位置的元素

classmates.pop(1)
print(classmates)
运行结果

4、修改某一个位置上的值

classmates[1]="Sarah"
print(classmates)
运行结果

5、list里面的元素的数据类型也可以不同。

L=["Apple",123,True]
print(L)
运行结果

tuple

我们会发现,刚才的集合的括号是中括号,这里是圆括号。这样就可以区别list集合和tuple集合了。

classmates=("Michael","Bob","Tracy")
print(classmates[1])
运行结果

当你需要定义一个空的tuple时,可以写成()

t=();
print(t)
运行结果

条件判断

和java一样,判断都是用if,只是函数不一样。

age=20
if age>=18:
    print("你的年龄是",age)
    print("成年人")
else:
    print("你的年龄是",age)
    print("少年")
运行结果
注意别忘了写
当然上面的判断是粗糙的,更加细致一点的话,就是elif的判断:
age = 3
if age >= 18:
    print('adult')
elif age >= 6:
    print('teenager')
else:
    print('kid')

elif是else if 的缩写,完全可以有多个elif,所以if语句的完整形式就是:

if <条件判断1>:
    <执行1>
elif <条件判断2>:
    <执行2>
elif <条件判断3>:
    <执行3>
else:
    <执行4>

if 的判断条件还可以简写,比如:

x=10;
if x:
    print("True")

只要x是非零数值、非空字符串、非空list等,就判断为True,否则为False。

再来看input

如果我们读取用户的输入,使用input()来获取

birth=input('birth:')
if birth<2000:
    print("00前")
else:
    print("00后")
运行结果

真惊喜,哈哈哈,报错了这是因为input()返回的数据类型是string,string不能直接和整数比较,必须先把string转换为整数。python提供了int()函数来完成这件事情:

birth=input('birth:')
s=int(birth)
if s<2000:
    print("00前")
else:
    print("00后")
运行结果

练习题:
小明身高1.75,体重80.5kg。请根据BMI公式(体重除以身高的平方)帮小明计算他的BMI指数,并根据BMI指数:

低于18.5:过轻
18.5-25:正常
25-28:过重
28-32:肥胖
高于32:严重肥胖
用if-elif判断并打印结果:

weight=input('weight:')
we=int(weight)
if we<18.2:
    print("过轻")
elif 18.5<=we<25:
    print("正常")
elif 25<=we<28:
    print("过重")
elif 28<=we<32:
    print("肥胖")
else:
    print("严重肥胖")
运行结果

循环

我们之前做过,如果直接要计算1+2+3,我们可以直接写表达式:

print(1+2+3)

这样就好了。但是如果是从1加到10000呢,直接写表达式是不可能的,所以这时候,我们就可能会用到循环了。在python里面的循环有两种,一种是for...in 循环,依次把list或tuple中的每个元素迭代出来,看例子:

names=['Bob','Danny','Alisa','Tacy']
for name in names :
    print(name)
运行结果

通过这个可以把集合里面的元素遍历出来。
in后面的是循环,把循环出来的东西给for前面的变量。比如上面的列子,就是把集合里面的东西拿出来给name,最后打印出来。
可是如果要计算1到10的整数之和呢?可以用sum做累加:

sum=0;
for x in [1,2,3,4,5,6,7,8,9,10]:
    sum=sum+x
    print(sum)
运行结果

1到10还是比较好输入的,可是数字再大一点呢?这时候python就为我们提供了一个range()函数,他可以生成一个整数序列,再通过list()函数转换为list,比如:

print(list(range(5)))
运行结果

range(101)就可以生成0-100的整数序列,计算如下:

sum=0;
for x in range(101):
    sum=sum+x;
print(sum);
运行结果

break

break语句可以提前退出循环。

n=1
while n<=100:
    if n>10:#当n=11时,条件满足,执行break语句
        break#break语句会结束当前循环
    print(n)
    n=n+1
print("nj")
运行结果

continue

和java中一样,是跳过当前的这次循环,直接开始下一次循环。

n=0;
while n<10:
   n=n+1;
   if n%2==0:
    continue
   print(n)
运行结果

dict

python内置了字典:dict的支持,dict全称dictionary,其实就是map,使用键值存储,这样可以快速的查找。

names={'Michael':95,'Bob':52,'Tracy':12}
print(names['Michael'])
运行结果
这样查找就会特别快!如果key不存在,dict就会报错。
为了避免key不存在的错误,有两种办法,第一种是:
通过in判断key是否存在:
names={'Michael':95,'Bob':52,'Tracy':12}
print('Michael' in names)
运行结果
这个结果说明这个元素的的key是存在的。
第二种方式是:
通过dict里面提供的get()方法,如果key不存在,可以返回None,或者指定的value:
names={'Michael':95,'Bob':52,'Tracy':12}
print(names.get('Michael'))
运行结果
names={'Michael':95,'Bob':52,'Tracy':12}
print(names.get('Michael',-1))
运行结果

因为我这里写的key是存在的,所以会输出相对应的value,如果不存在的话,第一个输出的应该是None,第二个输出的应该是-1;
当然删除一个元素的key也是可以的,用的还是pop()的方法,对应的元素也会从中删除:

names={'Michael':95,'Bob':52,'Tracy':12}
names.pop('Michael')
print(names)
运行结果

当然,因为dict查找是通过key值查找的,所以这里的key必须是不可变的对象,这样就不会混乱了,这种通过key计算位置的算法称为哈希算法;

set

set和dict是类似,都是key的集合,但不存储value。因为key不可以重复,所以,同样,在set里面没有重复的key。如果里面有重复的元素,是可以自动被过滤掉的。

s=set([1,2,2,3,5,3])
print(s)
运行结果

因为用的是list作为输入集合,所以是可以修改的,添加用的是add():

s=set([1,2,2,3,5,3])
s.add(4)
print(s)
运行结果

删除用的是remove():

s=set([1,2,2,3,5,3])
s.add(4)
s.remove(1)
print(s)
运行结果

因为set是集合,所以在这里是可以取交集和并集等操作:

s1=set([1,2,3])
s2=set([1,4,5,6])
print(s1&s2)
print(s1|s2)
运行结果

相关文章

网友评论

    本文标题:Python基础

    本文链接:https://www.haomeiwen.com/subject/kiwmxqtx.html