Python入门系列(二)——基础

此章节过一遍python3基础,方便日后回忆。
目录:
一、python3保留字
二、python3数据类型
三、基本逻辑

一、python3保留字

可以通过引入keyword模块查看。

import keyword
print(keyword.kwlist)

#输出
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

二、python3数据类型

python3 中有六个标准数据类型:
不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组)
可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)

1、Number(数字)

python3数字支持int、float、bool、complex(复数)四种类型。

这里插一句,笔者也是从C语言到JAVA一路学过来的,许多语言都有必须先声明再使用的习惯,而这一点在python上不存在。甚至说变量的数据类型是跟着赋值操作一直改变的,这一点对某些语言来说、引起强烈不适!

a=1
print(type(a))
a=1.0
print(type(a))

#输出
<class 'int'>
<class 'float'>

运算符大全速查:
http://www.runoob.com/python3/python3-basic-operators.html

2、String(字符串)

Python中的字符串用单引号 ' 或双引号 " 括起来,同时使用反斜杠 \ 转义特殊字符。

str = 'RabbitMask'
print (str)          # 输出字符串
print (str[0:-1])    # 输出第一个到倒数第二个的所有字符
print (str[0])       # 输出字符串第一个字符
print (str[2:5])     # 输出从第三个开始到第五个的字符
print (str[2:])      # 输出从第三个开始的后的所有字符
print (str * 2)      # 输出字符串两次
print ('hello '+str) # 连接字符串

#输出
RabbitMask
RabbitMas
R
bbi
bbitMask
RabbitMaskRabbitMask
hello RabbitMask

关于字符串的输出,我们来拓展几点:

(1)r实现强制输出
print('请输入你的姓名:')
a=input()
print('请输入你的年龄:')
b=input()
print('name is %s \n ,age is %s' %(a,b))
print(r'name is %s \n,age is %s'%(a,b))

#输出
请输入你的姓名:
rabbit
请输入你的年龄:
18
name is rabbit 
 ,age is 18
name is rabbit \n,age is 18
(2)数据格式化:占位符%与format

占位符%的格式化方法比较常见,上面的例子以及使用了,我们使用format函数来进行数据格式化做对比,伴随着python3推广,format函数逐渐被重视起来。

print('请输入你的姓名:')
a=input()
print('请输入你的年龄:')
b=input()
#基于位置的格式化(不可乱序)
print('name is {},age is {}'.format(a,b))
#基于关键字的格式化(可以乱序)
print('name is {name},age is {age}'.format(name=a,age=b))
#基于字典的格式化(可以乱序)
c={'name':a,'age':b}
print('name is {name},age is {age}'.format(**c))
#基于列表的格式化(不可乱序)
d=[a,b]
print('name is {0[0]},age is {0[1]}'.format(d))

#输出
请输入你的姓名:
rabbit
请输入你的年龄:
18
name is rabbit,age is 18
name is rabbit,age is 18
name is rabbit,age is 18
name is rabbit,age is 18
(3)三引号跨行字符串

三对引号不仅仅有注释的功能,还具有定义跨行字符串的功能,而且你可以在三引号内自由回车或空格,你编辑的界面即输出的样子,而且其中允许使用换行符、制表符等其它特殊字符,三连击单引号或双引号即可开启三引号。

a='''
这座城市、
    风很大,
    孤独的人、
        总是晚回家'''
b='''这座城市、\n\t风很大,\n\t孤独的人、\n\t\t总是晚回家'''
print(a)
print(b)

#输出
这座城市、
    风很大,
    孤独的人、
        总是晚回家
这座城市、
    风很大,
    孤独的人、
        总是晚回家
3、List(列表)

list是一种有序的集合,可以随时添加和删除其中的元素。
列表有两种顺序即[0]开始或者[-1]结束,顺序均为升序,python没有数组的概念,其实列表就是其它语言的数组,只是在操作规则是有一丢丢小差异,在此以最精简的例子全面介绍列表的增删改查操作。

a=[1,2,3,4]
b=[-1,-2,-3,-4]
c=[]
print('原始:',c)
#增(1)
c=a+b
print('增(1):',c)
#增(2) 该方法插入位置为列表末尾
c.append(0)
print('增(2):',c)
#删(1)
del c[6:9]
print('删(1):',c)
#删(2) 该方法如果不加参数,则删除最后一位,参数含义为正数序号
c.pop()
c.pop(4)
print('删(2):',c)
#改(1) 覆盖
c[3]=666
print('改(1):',c)
#改(2) 插入任意指定位置,非覆盖,之前此处的数据后移一位
c.insert(0,888)
print('改(2):',c)
#查(1)正向查询
print('查(1):',c[0:4])
#查(2)反向查询
print('查(2):',c[-4:-1])

#输出
原始: []
增(1): [1, 2, 3, 4, -1, -2, -3, -4]
增(2): [1, 2, 3, 4, -1, -2, -3, -4, 0]
删(1): [1, 2, 3, 4, -1, -2]
删(2): [1, 2, 3, 4]
改(1): [1, 2, 3, 666]
改(2): [888, 1, 2, 3, 666]
查(1): [888, 1, 2, 3]
查(2): [1, 2, 3]

最后补充一句就是,我们此处的例子为了主观用的是数字,但类型没有限制,甚至是列表,对的,列表中的元素是列表。

4、Tuple(元组)

元组、emmmm,和列表太像了,唯一的区别就是它定义以后无法增删改。区别于列表的[ ] 定义,元组使用( )定义,或者甚至可以不加括号。

a=(1,2,3,4)
b=1,2,3,4
print(a)
print(b)
#当元组中只有一个元素时,
#需要加“,”用以与正常类型作区分
c=1
d=1,
print(type(c))
print(type(d))

#输出
(1, 2, 3, 4)
(1, 2, 3, 4)
<class 'int'>
<class 'tuple'>

元组可通过list方法将内容复制到一个列表中,但这跟类型转换还是有区别的。

a=1,2,3,4
print (type(a))
b=list(a)
print (type(b))

#输出
<type 'tuple'>
<type 'list'>
5、Dictionary(字典)

字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 。
键必须是唯一的,但值则不必。
键必须是不可变的,如字符串,数字或元组,值可以取任何数据类型。

a={'rabbit':18,'carrot':14}
print (a)
#增
a['test']='test'
print (a)
#改
a['test']=666
print (a)
#删(1)
del a['test']
print (a)
#删(2)
a.pop('carrot')
print (a)
#查字典
print (a['rabbit'])
#查全部键
print (a.keys())
#查全部值
print (a.values())

#输出
{'carrot': 14, 'rabbit': 18}
{'test': 'test', 'carrot': 14, 'rabbit': 18}
{'test': 666, 'carrot': 14, 'rabbit': 18}
{'carrot': 14, 'rabbit': 18}
{'rabbit': 18}
18
['rabbit']
[18]

我们可以发现,相对于列表,字典不会随着元素的增多而降低查询时间,但占用的内存空间会增加,列表特点刚好完全相反。

6、Set(集合)

集合(set)是一个无序的不重复元素序列,可以使用大括号 { } 或者 set() 函数创建集合。

a={'rabbit','carrot'}
print ('a:',a)
#如果使用set方法创建集合,必须使用一个列表作为数据源,切此方法可用于创建空集合
b=set(['rabbit','carrot'])
print ('b:',b)
#增
a.add('test')
print ('a:',a)
#删
a.remove('test')
print ('a:',a)

#输出
('a:', set(['carrot', 'rabbit']))
('b:', set(['carrot', 'rabbit']))
('a:', set(['test', 'carrot', 'rabbit']))
('a:', set(['carrot', 'rabbit']))

三、基本逻辑

1,判断

借助下面的小例子大家感受下if判断嵌套以及用户交互input的使用。
值得一提的是python3取消了python2中的raw_input()函数,只保留了input()函数,在这里栽了个小坑,还好小伙伴们捞了一下。

a='''
====================================================
 ____       _     _     _ _   __  __           _    
|  _ \ __ _| |__ | |__ (_) |_|  \/  | __ _ ___| | __
| |_) / _` | '_ \| '_ \| | __| |\/| |/ _` / __| |/ /
|  _ < (_| | |_) | |_) | | |_| |  | | (_| \__ \   < 
|_| \_\__,_|_.__/|_.__/|_|\__|_|  |_|\__,_|___/_|\_\ 
====================================================
     |  欢迎来到rabbitmask——python入门系列  
     |  1、登录                              
     |  2、关于
     |  3、退出
'''
print(a)
b=input()
if b=='1':
    print ('请输入你的用户名:')
    username=input()
    if username=='rabbit':
        print ('请输入密码:')
        password=input()
        if password=='rabbit':
            print ('我就是想跟你说下啊if三层嵌套的问题~')
        else:
            print ('密码不正确,再见!')
    else:
        print ('用户名不正确,再见!')
elif b=='2':
    print('''\t对,\n\t  今天咱也是个废物!''')
elif b=='3':
    print("")
    input("点击 enter 键退出")
    print("")
else:
    print('输入不合法')
    input("点击 enter 键退出")
2,循环
(1)for循环

for循环的语法是for...in...,我们高斯定理举例。

sum=0
for i in range(101):   #range函数用于生成数列
    sum =sum+i
print('1-100求和结果:',sum)

#输出
1-100求和结果: 5050
(2)while循环
sum=0
n=100
while n>0:
    sum=sum+n
    n=n-1
print('1-100求和结果:',sum)

#输出
1-100求和结果: 5050
3,循环+判断

更多的时候,我们需要结合使用判断与循环逻辑,我们尝试引入break、continue改写我们上面的例子。
break 语句可以跳出 for 和 while 的循环体,continue语句被用来告诉Python跳过当前循环块中的剩余语句,
这两个方法语句几乎全语言通用,如果不方便记忆,可以这么理解:break跳出整个循环,continue跳出当前循环。

a='''
====================================================
 ____       _     _     _ _   __  __           _    
|  _ \ __ _| |__ | |__ (_) |_|  \/  | __ _ ___| | __
| |_) / _` | '_ \| '_ \| | __| |\/| |/ _` / __| |/ /
|  _ < (_| | |_) | |_) | | |_| |  | | (_| \__ \   < 
|_| \_\__,_|_.__/|_.__/|_|\__|_|  |_|\__,_|___/_|\_\ 
====================================================
     |  欢迎来到rabbitmask——python入门系列  
     |  1、登录                              
     |  2、关于
     |  3、退出
'''
while 'rabbitmask':    #关于这里,只要while后跟的只要不是0或false,皆为真
    print(a)
    b = input()
    if b == '1':
        print('请输入你的用户名:')
        username = input()
        if username == 'rabbit':
            print('请输入密码:')
            password = input()
            if password == 'rabbit':
                print('我就是想跟你说下啊if三层嵌套的问题~,这里就算你拿到小红花啦,再见啦!')
                input("点击 enter 键返回首页")
            else:
                print('密码不正确!')
                input("点击 enter 键返回首页")
                continue
        else:
            print('用户名不正确!')
            input("点击 enter 键返回首页")
            continue
    elif b == '2':
        print('''\t对,\n\t  今天咱也是个废物!''')
        input("点击 enter 键返回首页")
        continue
    elif b == '3':
        print("")
        input("点击 enter 键退出")
        print("")
        break        #只在用户需要退出时才退出程序,其它情况继续循环
    else:
        print('输入不合法')
        print("")
        input("点击 enter 键返回首页")
        print("")
        continue
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,463评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,868评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,213评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,666评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,759评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,725评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,716评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,484评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,928评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,233评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,393评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,073评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,718评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,308评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,538评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,338评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,260评论 2 352

推荐阅读更多精彩内容

  • 一、快捷键 ctr+b 执行ctr+/ 单行注释ctr+c ...
    o_8319阅读 5,803评论 2 16
  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 5,739评论 0 10
  • 我从没有被谁知道, 所以也没有被谁忘记。 在别人的回忆中生活, 并不是我的目的。 遇见是两个人的事, 离开却是一个...
    肖丨先丨生阅读 225评论 0 1
  • 文丨苏安安 图丨侵权删 梦中的河流在北方的乡村。夏季会涨潮没过低矮的河堤。冬日结厚重的冰。 幼年时,整个夏天几乎都...
    流浪的安安阅读 572评论 4 2
  • 上次计划写到第二周,团服的工作目前已经确定啦,对APP后台上传数据也大致熟悉。 后续第三周和第四周的每日计划都没有...
    临星hfuu阅读 112评论 0 0