数据类型,python基础入门

作者:刘耀 出处:http://www.yaomr.com
欢迎转发

① 、Python和其余语言相比

C语言最接近机器语言,由此运营功能是最高的,但必要编译。
JAVA更契合公司应用。
PHP适合WEB页面应用。
PYTHON语言越来越简洁,丰裕的类库,使初学者更易达成拔取开发,但运维速度不如其余语言。
高档语言都以透过个其他解释器,将代码编译成字节码,再将字节码编译成机器码。

提示:

二、Python种类

CPython:用C语言完成的Python解释器
实施进程:代码 -> C字节码 -> 机器码 (一行一行编译)
JPython:用JAVA实现的Python解释器
IronPython:用.NET实现的Python解释器
履行进程:代码 -> 其余字节码 -> 机器码
PyPy:用Python实现的Python解释器
实践进度:代码 -> C字节码 -> 机器码 全体转换完 -> 执行

  1. 语法基于python3.5本子(会唤起2.7版本和3.5版本的分别)
  2. Python命令行将以>>>开首,比如 >>>print (‘Hello
    World!’)
  3. window上会使用JetBrains PyCharm 5.0.2专业版

  4. Python官网:http://www.python.org/

    Python文档下载地址:www.python.org/doc/

三、Python基础

一.python简介

1.IDE工具

PyCharm是一种Python
IDE,带有一整套方可协理用户在使用Python语言开发时增加其效能的工具,比如调试、语法高亮、Project管理、代码跳转、智能提示、自动完结、单元测试、版本控制。别的,该IDE提供了一部分高等效用,以用来协理Django框架下的正式Web开发。

Python是一种简易易学,功用强大的编程语言,它有高功效的高层数据结构,简单而卓有成效地贯彻面向对象编程。Python简洁的语法和对动态输入的支撑,再加上解释性语言的实质,使得它在多数阳台上的很多领域都以3个妙不可言的脚本语言,尤其适用于高效的应用程序开发。 Python可以拔取于广大领域,如:数据解析、组件集成、网络服务、图像处理、数值计算和科学计算等重重世界。

简单设置

(1)设置编码UTF-8
(2)设置模板temp
(3)设置鼠标滚动放大

Python 是3个高层次的组成领悟释性、编译性、互动性和面向对象的脚本语言。 

2.编码

以下链接已经详细描述了各个编码
http://www.china-bigcloud.online/2017/04/11/%E5%AD%97%E7%AC%A6%E9%9B%86%E7%BC%96%E7%A0%81/

亟待注意:
中文字符——utf-8,须要动用多少个字节来代表 25人
gbk,gbk2312 须求利用三个字节来表示 拾陆位

Python编码
python3暗中认同编码方式是UTF-8
文件编码 # –– coding:utf-8 –
解释器编码

Python 的筹划有所很强的可读性,相比较别的语言平常使用英文关键字,其余语言的有个别标点符号,它具有比其他语言更有风味语法结构。(引用于菜鸟教程)

3.注释

(1)# 单行注释
(2)””” “”” 多行注释
(3)IDE中采纳ctrl+?注释代码

贰 、Python 发展历史

4. .pyc文件

由py文件通过编译后二进制文件,py文件变成pyc文件后,加载的进程有所进步,而且pyc是一种跨平台的字节码,是由python的虚拟机来执行的。pyc的始末,是跟python的本子相关的,不相同版本编译后的pyc文件是见仁见智的,2.5编译的pyc文件,2.4本子的
python是力不从心执行的。pyc文件也是足以反编译的,差距版本编译后的pyc文件是见仁见智。
pyc文件是用来保存python虚拟机编译生成的byte
code的。在python的周转进度中,若是遇到import首先在设定好的path中追寻对应的.pyc或许.dll文件。假使没有这个文件,则编译成对应的PycodeObject并穿件.pyc文件写入中间结果。

 

5.变量
  • 字母
  • 数字(不可以起先)
  • 下划线
  • 不能动用python内置关键字
  • 变量命名时,名字要有可读性,一般以下划线分割,如user_id

Python 是由 吉多 van 罗斯尔um 在八十时代末和九十时期初,在荷兰国度数学和电脑科学研商所设计出来的。

6.输入,输出

(1)input

v = input("请输入:")

运行结果:
请输入:abc

(2)getpass
从巅峰输入一行字符串,关闭了回显(输入时不展现输入的字符串),适用于用密码的输入

import getpass
v = getpass.getpass('请输入:')
print(v)

此办法只在极限测试时有效,在IDE测试时不济

运行结果:
C:\Python35\python.exe E:\s17\day01-0423\test.py
请输入:
asdgajlksd

(3)print

v = "你好,This is 5!"
print(v)

运行结果:
你好,This is 5!

Python 自身也是由许多别样语言发展而来的,那包蕴 ABC、Modula-③ 、C、C++、Algol-6八 、SmallTalk、Unix shell 和任何的脚本语言等等。

7.标准语句

(1)形式1
if 条件:
得逞走那里
else:
战败走着

示例:

import getpass

name = input("请输入姓名:")
pwd = getpass.getpass('请输入密码:')
if name == 'xiaoda' and pwd == '123456':
    print(pwd)
    print('欢迎登陆')
else:
    print(pwd)
    print('退出')

运行结果:
C:\Python35\python.exe E:\s17\day01-0423\test.py
请输入姓名:xiaoda
请输入密码:
346134
退出
C:\Python35\python.exe E:\s17\day01-0423\test.py
请输入姓名:xiaoda
请输入密码:
123456
欢迎登陆

(2)形式2
if 条件:

elif 条件:

else:

示例:

username = input('>>>')
if username == 'alex':
    print('普通管理')
elif username == 'oldboy':
    print('超级管理')
elif username == '郭少龙':
    print('人')
elif username == '刘一':
    print('装逼犯')
else:
    print('再见...')

print('end')

运行结果:
请输入姓名:达达
超级管理
end
请输入姓名:xiaoda
帅哥
end
请输入姓名:武总
再见...
end

像 Perl 语言一样,Python 源代码同样坚守 GPL(GNU General Public License)协议。

8.循环语句

while 条件:
continue # 立时初始下次循环
break # 跳出全体循环

示例:

练习1:使用while循环输出1 2 3 4 5 6 8 9 10
i = 1
while True:
    if i == 7:
        i = i + 1
        continue
    print(i)
    i = i + 1
    if i == 11:
        break

运行结果:
1
2
3
4
5
6
8
9
10

练习2:求1-100的所有数的和
value = 0
i = 1
while i < 101:
    value = value + i
    i = i + 1
print(value)

运行结果:
5050

练习3:输出 1-10 内的所有奇数
i = 1
while i < 11:
    a = i % 2
    if a == 1:
        print(i)
    i = i + 1

运行结果:
1
3
5
7
9

练习4:输出 1-10 内的所有偶数
i = 1
while i < 11:
    a = i % 2
    if a == 0:
        print(i)
    i = i + 1

运行结果:
2
4
6
8
10

练习5:求1-2+3-4+5 ... 99的所有数的和
value = 0
i = 1
while i < 100:
    if i % 2 == 1: #奇数
        value = value + i
        i += 1
    else:          #偶数
        value = value - i
        i += 1
print(value)

运行结果:
50

练习6:用户登陆(三次机会重试)
i = 0
while i < 3:
    username = input('请输入姓名:')
    pwd = input('请输入密码:')
    if username == 'xiaoda' and pwd == '123123':
        print('登录成功')
        break
    else:
        print('用户名或密码错误,请重新输入。')
        i += 1
else:
    print('您已输入错误3次,请核对后重试。')

运行结果:
请输入姓名:dog
请输入密码:1234
用户名或密码错误,请重新输入。
请输入姓名:cat
请输入密码:123456
用户名或密码错误,请重新输入。
请输入姓名:mouse
请输入密码:123123
用户名或密码错误,请重新输入。
您已输入错误3次,请核对后重试。

请输入姓名:xiaoda
请输入密码:123123
登录成功

当今 Python 是由三个宗旨开发社团在珍惜,吉多 van 罗斯尔um 还是占有着非常紧要的效果,引导其进展。(引用于菜鸟教程)

9.运算符

(1)算术运算符

运算符 描述 实例
+ 加 – 两个对象相加 a + b 输出结果 30
减 – 得到负数或是一个数减去另一个数 a – b 输出结果 -10
* 乘 – 两个数相乘或是返回一个被重复若干次的字符串 a * b 输出结果 200
/ 除 – x除以y b / a 输出结果 2
% 取模 – 返回除法的余数 b % a 输出结果 0
** 幂 – 返回x的y次幂 a**b 为10的20次方, 输出结果 100000000000000000000
// 取整除 – 返回商的整数部分 9//2 输出结果 4 , 9.0//2.0 输出结果 4.0

(2)比较运算符

运算符 描述 实例
== 等于 – 比较对象是否相等 (a == b) 返回 False。
!= 不等于 – 比较两个对象是否不相等 (a != b) 返回 true.
<> 不等于 – 比较两个对象是否不相等 (a <> b) 返回 true。这个运算符类似 != 。
> 大于 – 返回x是否大于y (a > b) 返回 False。
< 小于 – 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。注意,这些变量名的大写。 (a < b) 返回 true。
>= 大于等于 – 返回x是否大于等于y。 (a >= b) 返回 False。
<= 小于等于 – 返回x是否小于等于y。 (a <= b) 返回 true。

(3)赋值运算符

运算符 描述 实例
= 简单的赋值运算符 c = a + b 将 a + b 的运算结果赋值为 c
+= 加法赋值运算符 c += a 等效于 c = c + a
-= 减法赋值运算符 c -= a 等效于 c = c – a
*= 乘法赋值运算符 c = a 等效于 c = c a
/= 除法赋值运算符 c /= a 等效于 c = c / a
%= 取模赋值运算符 c %= a 等效于 c = c % a
**= 幂赋值运算符 c = a 等效于 c = c a
//= 取整除赋值运算符 c //= a 等效于 c = c // a

ca88手机版登录网页,(4)位运算符

运算符 描述 实例
& 按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0 (a & b) 输出结果 12 ,二进制解释: 0000 1100
/ 按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。 (a / b) 输出结果 61 ,二进制解释: 0011 1101
^ 按位异或运算符:当两对应的二进位相异时,结果为1 (a ^ b) 输出结果 49 ,二进制解释: 0011 0001
~ 按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1 (~a ) 输出结果 -61 ,二进制解释: 1100 0011, 在一个有符号二进制数的补码形式。
<< 左移动运算符:运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0。 a << 2 输出结果 240 ,二进制解释: 1111 0000
>> 右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,">>"右边的数指定移动的位数 a >> 2 输出结果 15 ,二进制解释: 0000 1111

(5)逻辑运算符

运算符 逻辑表达式 描述 实例
and x and y 布尔"与" – 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。 (a and b) 返回 20。
or x or y 布尔"或" – 如果 x 是非 0,它返回 x 的值,否则它返回 y 的计算值。 (a or b) 返回 10。
not not x 布尔"非" – 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 not(a and b) 返回 False

(6)成员运算符

运算符 描述 实例
in 如果在指定的序列中找到值返回 True,否则返回 False。 x 在 y 序列中 , 如果 x 在 y 序列中返回 True。
not in 如果在指定的序列中没有找到值返回 True,否则返回 False。 x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。

(7)身份运算符

运算符 描述 实例
is is是判断两个标识符是不是引用自一个对象 x is y, 如果 id(x) 等于 id(y) , is 返回结果 1
is not is not是判断两个标识符是不是引用自不同对象 x is not y, 如果 id(x) 不等于 id(y). is not 返回结果 1

(8)运算符优先级

运算符 描述
** 指数 (最高优先级)
~ + – 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)
* / % // 乘,除,取模和取整除
+ – 加法减法
>> << 右移,左移运算符
& 位 ‘AND’
^ / 位运算符
<= < > >= 比较运算符
<> == != 等于运算符
= %= /= //= -= += *= **= 赋值运算符
is is not 身份运算符
in not in 成员运算符
not or and 逻辑运算符
注意:
    a. 
      i += 1           
    b. 
      if 1 == 1 or 1 > 2 and 1 == 4:
          print('正确')
      else:
          print('错误')
      运行结果:
      正确
      注意:同为逻辑判断没有优先级,自左向右,符合条件即为真
    c.
      content = "Alex 前几天去泰国玩姑娘,一不小心染上了病,他的内心活动是,真该多来几个"

      if "前几天去" in content:
          print('包含敏感字符')
      else:
          print(content)
      运行结果:
      包含敏感字符

三、Python 特点

10.Python数据类型

 

(1) 整数 int
  • 创建
    a = 123
    a = int(123)
  • 转换
    age = “18”
    new_age = int(age)
  • 1.便于学习:Python有相对较少的严重性字,结构不难,和一个强烈概念的语法,学习起来越发简约。

  • 2.不难阅读:Python代码定义的更清楚。

  • 3.不难维护:Python的功成名就在于它的源代码是格外不难有限支撑的。

  • 4.二个周边的标准库:Python的最大的优势之一是增加的库,跨平台的,在UNIX,Windows和Macintosh包容很好。

  • 5.相互形式:交互形式的协理,您能够从极限输入执行代码并拿走结果的语言,互动的测试和调试代码片断。

  • 6.可移植:依据其开放源代码的特色,Python已经被移植(约等于使其工作)到很多阳台。

  • 7.可扩展:一经你需求一段运营高效的重中之重代码,可能是想要编写一些不愿开放的算法,你可以使用C或C++落成那部分主次,然后从您的Python程序中调用。

  • 8.数据库:Python提供具有重点的小购销数据库的接口。

  • 9.GUI编程:Python援助GUI可以成立和移植到无数系统调用。

  • 10.可嵌入: 您可以将Python嵌入到C/C++程序,让你的次第的用户拿到”脚本化”的能力。(引用于菜鸟教程)

(2) 布尔值
  • 创建
    a = True
    b = False
  • 转换
    • 数字转换,唯有0是False,其余True
    • 字符串, 只有””是False,其他True
    • 待续…

四 、python版本有别

(3) 字符串
  • 创建
    a = “alex”
    a = str(‘alex’)
  • 转换
    age = 19
    new_age = str(age)

  • 字符串的拼接
    name = 'alex' gender = '女' new_str = name + gender print(new_str)
    运行结果: alex女

  • 字符串格式化
    占位符
    name = '我叫李杰,性别:%s,我今年%s岁,我在说谎!' new_str = name %('男',19,) print(new_str)
    运行结果: 我叫李杰,性别:男,我今年19岁,我在说谎!
    name = '我叫李杰,性别:%s,我今年%s岁,我在说谎!' %('男',19,) print(name)
    运行结果: 我叫李杰,性别:男,我今年19岁,我在说谎!

  • 判断子体系是还是不是在里边
    “`
    content = “Alex明天去泰王国玩姑娘,一不小心染上了病,他的心目活动是,真该多来多少个”

    if “明日去” in content:
    print(‘包涵敏感字符’)
    else:
    print(content)
    “`

  • 移除空白
    val = " alex " print(val) new_val = val.strip() # 左右 print(new_val) new_val = val.lstrip()# 左边 print(new_val) new_val = val.rstrip() # 右边 print(new_val)
    运行结果: alex alex alex alex

  • 分割
    user_info = "alex|sb123|9" v = user_info.split('|') print(v) v = user_info.split('|',1) print(v) v = user_info.rsplit(' ',1) print(v)
    运行结果: ['alex', 'sb123', '9'] ['alex', 'sb123|9'] ['alex|sb123|9']

  • 长度(字符)
    val = "李杰nb" v = len(val) print(v)
    运行结果: 4

  • 索引
    val = "李杰nb" v = val[0] print(v)
    运行结果: 李
    val = input('请输入:') i = 0 while i < len(val): print(val[i]) i += 1
    运行结果: 请输入:啥空间大概xck23 啥 空 间 大 概 x c k 2 3

  • 切片
    name = '我叫李杰,性别我今年岁,我在说谎!' print(name[0]) print(name[0:2]) print(name[5:9]) print(name[5:]) print(name[5:-2]) print(name[-2:])
    运行结果: 我 我叫 性别我今 性别我今年岁,我在说谎! 性别我今年岁,我在说 谎!

1.print用到格局

(4) 列表
  • 创建:
    a = [‘alex’,’狗’,’eric’,123]
    a = list([‘alex’,’狗’,’eric’,123])

  • in判断:
    if 'al' in a: pass
    if 'al' in a[0]: pass

  • 索引:
    val = a[0]

  • 长度:
    val = len(a)

  • 切片:
    a = ['alex','狗','eric',123] v = a[0::2] print(v)

  • 追加:
    a = ['alex','狗','eric',123] a.append('xxoo') print(a)
    运行结果: ['alex', '狗', 'eric', 123, 'xxoo']

  • 插入:
    a = ['alex','狗','eric',123] a.insert(1,'牛') print(a)
    运行结果: ['alex', '牛', '狗', 'eric', 123]

  • 删除:
    a = ['alex','eric','狗','eric',123] a.remove('eric') print(a) del a[1] print(a)
    运行结果: ['alex', '狗', 'eric', 123] ['alex', 'eric', 123]

  • 更新:
    a = ['alex','eric','狗','eric',123] a[1] = '阿斯顿发送到' print(a)
    运行结果: ['alex', 'eric', '阿斯顿发送到', 'eric', 123]

  • For循环:
    a = ['alex','eric','狗','eric',123] for item in a: print(item) # break # continue
    运行结果: alex eric 狗 eric 123

1
2
2.7版本 print "yaoyao" or print ("yaoyao")
3.x版本 print ("yaoyao")
(5) 字典操作
  • 创建
    v = { 'name': 'alex', 'password': '123123' }

  • 索引获取值
    n = v['name'] print(n)

  • 重重据时为增添;有多少时为修改
    v['age'] = 19 print(v)

  • 删除
    del v['name'] print(v)

  • 循环
    for item in v.keys(): print(item) for item in v.values(): print(item) for key,val in v.items(): print(key,val)

  • 长度
    print(len(user_dict))
    以上操作运行结果: alex {'age': 19, 'password': '123123', 'name': 'alex'} {'password': '123123', 'age': 19} password age 123123 19 password 123123 age 19 2

  • 互相嵌套
    user_dict = { 'k1': 'v1', 'k2': {'kk1':'vv1','kk2':'vv2'}, 'k3': 123, 'k4': ['alex','eric',['a','b','c'],'李杰',{'k11':'vv1'}], } user_dict['k4'][2].append('123') user_dict['k4'][4]['n'] = '过啥龙'
    运行结果: {'k1': 'v1', 'k4': ['alex', 'eric', ['a', 'b', 'c', '123'], '李杰', {'k11': 'vv1'}], 'k3': 123, 'k2': {'kk2': 'vv2', 'kk1': 'vv1'}} {'k1': 'v1', 'k4': ['alex', 'eric', ['a', 'b', 'c', '123'], '李杰', {'n': '过啥龙', 'k11': 'vv1'}], 'k3': 123, 'k2': {'kk2': 'vv2', 'kk1': 'vv1'}}

示例1:
user_list = [ {'name':'alex','pwd':'123123','times':1}, {'name':'eric','pwd':'123123','times':1}, {'name':'tony','pwd':'123123','times':1}, ] user = input('用户名:') pwd = input('密码:') for item in user_list: if user == item['name'] and pwd == item['pwd']: print('登录成功') break
运行结果: 用户名:eric 密码:123123 登录成功

示例2:
读取文件,重新赋值
(1)成立一个不以为奇文书
db alex|123123|3 eric|123123|3

(2)读取文件,依照规则,重新赋值
“`
login.py

#!/usr/bin/python
# -*- coding:utf-8 -*-
# 1. 打开并读取文件内容
f1 = open('db','r')
data = f1.read()
f1.close()

# 2. 格式化,列表中嵌套字典
print(data)
user_info_list = []
user_str_list = data.split('\n')
for item in user_str_list:
    temp = item.split('|')
    v = {
        'name': temp[0],
        'pwd': temp[1],
        'times': temp[2]
    }
    user_info_list.append(v)
user_info_list[1]['times'] = 3
print(user_info_list)

# 3. 列表中嵌套的字典
#
# 4. 重新写入文件
target = """alex|123123|3\neric|123123|3"""

f2 = open('db','w')
f2.write(target)
f2.close()

“`

2.Py3.X源码文件暗中认同使用utf-8编码

3.模块命名修改

ca88手机版登录网页 1

 

注:(twisted模块还未完全协理python3) 4.
语法 

1)去除了<>,全部改用!= 

2)去除“,全体改用repr() 

3)关键词出席as
和with,还有True,False,None 

4)整型除法重回浮点数,要博得整型结果,请使用// 

5)插足nonlocal语句。使用noclocal
x可以直接指派外围(非全局)变量 

6)去除print语句,插足print()函数完结平等的法力。同样的还有
exec语句,已经改为exec()函数

7)改变了各种操作符的一言一动,例如x<y,当x和y类型不匹配时抛出TypeError而不是回来随即的
bool值  

8)输入函数改变了,删除了raw_input,用input代替: 

9)去除元组参数解包。不大概def(a, (b,
c)):pass那样定义函数了 

10)
新式的8进制字变量,相应地修改了oct()函数。 

11).class
Foo:那种写法不只怕用了,改成class Foo(object)

 

五、Python解释器

1.Cpython

    Python的合法版本,使用C语言完成,使用最为普遍,CPython达成会将源文件(py文件)转换来字节码文件(pyc文件),然后运营在Python虚拟机上

1
程序----(c解释器)----(字节码)----(机器码)-----cpu

2.Jyhton

    Python的Java已毕,Jython会将Python代码动态编译成Java字节码,然后在JVM上运转。

1
程序----(java解释器)----(字节码)----(机器码)-----cpu

3.IronPython

    Python的C#贯彻,IronPython将Python代码编译成C#字节码,然后在CLR上运行。(与Jython类似)

1
程序----(c#解释器)----(字节码)----(机器码)-----cpu

4.PyPy(特殊)

    Python完结的Python,将Python的字节码字节码再编译成机器码。

1
程序----(c#解释器)----(字节码)----(机器码)-----cpu

 

  • 六.pyc文件

  • 推行Python代码时,如果导入了其余的
    .py 文件,那么,执行进度中会自动生成1个与其同名的 .pyc
    文件,该文件就是Python解释器编译之后发生的字节码。

  • ps:代码通过编译可以暴发字节码;字节码通过反编译也得以博得代码。

 

七.python安装

1.window

(1)进入官网下载安装包:

    https://www.python.org/downloads/

ca88手机版登录网页 2

ca88手机版登录网页 3

2.linux

注:新本子的Ubuntu和centos7暗许为2.7版本

  
 以下为进步到3.4本子

(1)安装3.x包:

1
2
3
sudo apt-get install python3.4
python3.4
>>>

.
用户交互

 1:linux

(1)输出

 

1
2
3
python3.4
>>>print('Hello World!')
Hello World!

print是一个常用函数,其意义就是出口括号中得字符串。(在Python
2.x中,print还足以是二个生死攸关字,可写成print ‘Hello World!’)

写入以下内容,保存并且脱离。

1
2
3
4
5
6
7
8
9
$vim HelloWorld.py
#!/usr/bin/env python  #必须声明是什么解释器来解释此脚本
print('Hello World!'#保存退出
#python HelloWorld.py  #运行py
Hello World!
或者给该文件增加可执行权限
chmod a+x HelloWorld.py
./HelloWorld.py
Hello World

(2)输入

Python提供了一个input(),可以让用户输入字符串,并存放到3个变量里。比如输入用户的名字:

1
2
3
4
5
6
7
>>> name = input('您的名字')
您的名字
>>> name = input('您的名字')
您的名字yaoyao
>>> name
'yaoyao'
>>>

九、注释

1.单行注释

**注释符#
**

例:

1
#代码代码代码被注释

2.多行注释

”’

**”’
**

例:

 

1
2
3
4
'''第一句
第二句
第三句
'''

⑩ 、行与缩进

 

读书Python与其它语言最大的分别就是,Python的代码块不采用大括号({})来控制类,函数以及其余逻辑判断。python最具风味的即便用缩进来写模块。

缩进的空域数量是可变的,但是全体代码块语句必须带有相同的缩进空白数量,那一个必须严谨执行。如下所示:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
if True:
    print "True"
else:
    print "False"
   
  
以下代码将会执行错误:
  
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 文件名:test.py
  
 if True:
    print "Answer"
    print "True"
else:
    print "Answer"
    # 没有严格缩进,在执行时保持
  print "False"
 #提示以下错误
$ python test.py 
  File "test.py", line 5
    if True:
    ^
IndentationError: unexpected indent

十壹 、变量与赋值

1.注脚变量

 

1
2
3
>>> name = 'yaoyao'
>>> name
'yaoyao'

扬言二个变量为name 值为:yaoyao

1
2
3
4
>>> name="yaoyao"
>>> age= 20
>>> print (name,age)
('yaoyao', 20)

翻看变量内存地址

1
2
>>> id(age)
43102336

2.变量声称须求

  • 变量名只好是 字母、数字或下划线的即兴组合
  • 变量名的率先个字符无法是数字

以下重点字不可以声称为变量名(keyword模块,可以出口当前版本的具备重大字)

1
2
3
>>> import keyword
>>> keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', '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']

十贰 、数据类型

1.数字

 int  (整数型)

 
  在三拾一位机器上,整数的位数为三拾陆人,取值范围为-2**31~2**31-1,即-2147483648~2147483647

 
  在六十三个人系统上,整数的位数为6几位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807

float (浮点型)

   浮点数用来拍卖实数,即包括小数的数字。类似于C语言中的double类型,占七个字节(6四位),其中53人代表底,10人代表指数,剩下
 的1位表示符号。

long(长整型)

跟C语言不一样,Python的长整数没有点名位宽,即:Python没有范围长整数数值的大大小小,但事实上由于机械内存有数,大家利用的长整数数值不能够极端大。注意,自从Python2.2起,假诺整数发生溢出,Python会自动将整数数据转换为长整数,所以将来在长整数数据背后不加字母L也不会促成严重后果了。

 

2.布尔值

布尔值和布尔代数的象征完全一致,3个布尔值只有TrueFalse两种值,要么是True,要么是False,在Python中,可以一直用TrueFalse意味着布尔值(请留意分寸写),也可以经过布尔运臆想算出来:

 

1
2
3
4
>>> True
True
>>> False
False

3.字符串 (即不可能改改的字符list)

 

字符串是一个完好无损。假使您想一贯修改字符串的某一有个别,是不容许的。但大家可以读出字符串的某一局部。
 

 

字符串包含判断操作符:

 

1
2
3
例:innot in 
"He" in str 
"she" not in str

字符串常用功效:

 

字符串格式化输出

 

1
2
3
4
5
6
7
8
9
10
#!/usr/bin/env python
name = input("name:")
age  = input("age:")
job  = input("job:")
print('''
    Infomation of %s
             name:%s
              age:%s
              job:%s
    ''' % (name,name,age,job))

十三、列表

 

Python内置的一种数据类型是列表:list。list是一种有序的集纳,可以每一日添加和删除其中的因素。

成立列表:

比如列出东瀛的玉女:

 

1
2
3
>>> gril=['cangjingkong','xiaoze','tenglan','sondaofeng']
>>> gril
['cangjingkong', 'xiaoze', 'tenglan', 'sondaofeng']

用dir()函数可以查阅此列表能使用的艺术

1
2
>>> dir(gril)
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']

基本操作:

        索引.index

 
   
用索引来访问list中每二个地点的因素,索引是从0开始的

1
2
3
4
5
6
>>> gril=['cangjingkong','xiaoze','tenglan','sondaofeng']
>>> gril.index('cangjingkong')
0
>>> gril.index('xiaoze')
1
>>>

  切片

1
2
3
4
5
6
7
8
9
10
11
12
13
14
>>> gril=['cangjingkong','xiaoze','tenglan','sondaofeng'# 切割列表并返回新的列表
>>> gril[1:2]
['xiaoze']
>>> gril[0:3]
['cangjingkong', 'xiaoze', 'tenglan']
>>> gril[:3]
['cangjingkong', 'xiaoze', 'tenglan']
>>> gril[:-1]
['cangjingkong', 'xiaoze', 'tenglan']
>>> gril[:1]
['cangjingkong']
>>> gril[-2]
'tenglan'
>>>

追加

1
2
3
>>> gril.append('zaochuan')
>>> gril
['cangjingkong', 'xiaoze', 'tenglan', 'sondaofeng', 'zaochuan']

 删除

1
2
3
>>> gril.pop()   #返回最后一个元素,并从list中删除
>>> gril
['cangjingkong', 'xiaoze', 'tenglan', 'sondaofeng']
1
2
3
>>> gril.remove('xiaoze')   #remove删除指定值
>>> gril
['cangjingkong', 'tenglan', 'sondaofeng', 'zaochuan']

插入.insert

1
2
3
>>> gril.insert(2,'mahuateng')
>>> gril
['cangjingkong', 'tenglan', 'mahuateng', 'sondaofeng', 'zaochuan']

 统计.count

1
2
3
>>> gril.insert(2,'mahuateng')
>>> gril
['cangjingkong', 'tenglan', 'mahuateng', 'sondaofeng', 'zaochuan']

反转

   
1
2
3
4
5
>>> gril
['cangjingkong', 'tenglan', 'mahuateng', 'sondaofeng', 'zaochuan', 'tenglan']
>>> gril.reverse()
>>> gril
['tenglan', 'zaochuan', 'sondaofeng', 'mahuateng', 'tenglan', 'cangjingkong']

十四、元祖

 

Python的元组与列表类似,不一样之处在于元组的要素不可以改改。

元组使用小括号,列表使用方括号。

元组创立很简单,只须要在括号中添日成分,并运用逗号隔开即可。

 

成立元祖:

 

1
2
3
>>> boy=('mayun','aobama','liyanhong','mahuateng')
>>> boy
('mayun', 'aobama', 'liyanhong', 'mahuateng')

支撑的法门:

1
2
>>> dir(boy)
['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__gt__', '__hash__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'count', 'index']

成立空元组

1
2
3
4
>>> boy.index('mayun')
0
>>> boy.index('liyanhong')
2

基本操作:

索引

1
2
3
4
>>> boy.index('mayun')
0
>>> boy.index('liyanhong')
2

切片

1
2
tuple(gril)  
list(boy)

长度

1
2
tuple(gril)  
list(boy)

list
和 tuple 的互相转化  

1
2
tuple(gril)  
list(boy)

十五、字典

 

字典是另一种可变容器模型,且可存储任意档次对象,如其他容器模型。

字典由键和对应值成对组成。字典也被称作关联数组或哈希表。

 

成立字典:

 

1
2
3
>>> dict = {'name': 'liuyao', 'age': '20', 'job': 'it'}
>>> dict
{'job': 'it', 'age': '20', 'name': 'liuyao'}

各类键与值用冒号隔开(:),每对用逗号分割,全体放在花括号中({})。

 

键必须独一无二,但值则无需。

值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。

注:type()可以查阅变量类型

十六、运算符

1.算术运算符

以下假诺变量a为10,变量b为20:

ca88手机版登录网页 4

 

2.相比较运算符

 

以下如若变量a为10,变量b为20:

ca88手机版登录网页 5

3.赋值运算符

以下如果变量a为10,变量b为20:

ca88手机版登录网页 6

 

4.位运算

按位运算符是把数字看作二进制来举行计算的。Python中的按位运算法则如下:

ca88手机版登录网页 7

 

5.逻辑运算符

Python语言扶助逻辑运算符,以下假如变量a为10,变量b为20:

ca88手机版登录网页 8

6.成员运算符

ca88手机版登录网页 9

7.身份运算符

身价运算符用于比较五个对象的存储单元

ca88手机版登录网页 10

8.运算符优先级

ca88手机版登录网页 11

十柒 、字符编码

ASCII(American
Standard Code for Information
Interchange,美利坚合众国标准音信互换代码)是依照拉丁字母的一套电脑编码系统,首要用以呈现现代斯拉维尼亚语和其他西欧语言,其最多只可以用
8 位来表示(3个字节),即:2**8 = 256,所以,ASCII码最多只好表示 25柒个标志。

Unicode
Unicode(统一码、万国码、单一码)是一种在处理器上拔取的字符编码。
Unicode 是为着缓解古板的字符编码方案的受制而暴发的,它为各种语言中的每种字符设定了联合并且唯一的二进制编码,规定虽有的字符和符号最少由 16 位
来代表(二个字节),即:2 **16 = 65536

UTF-8
utF-8,是对Unicode编码的缩减和优化,他不再采纳最少使用二个字节,而是将
全数的字符和符号进行分拣:ascii码中的内容用贰个字节保存、亚洲的字符用贰个字节保存,南亚的字符用二个字节保存…

十八、判断

 

 

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

例:

1
2
3
4
5
6
7
8
9
10
11
12
13
if sex ==  "girl":
    print('正确')
else:
    print('错误')
 
if sex == "gril":
    print('gril')
elif sex == "man":
    print('man')
elif sex == "ren":
    print('ren')
else:
    print('no')

十九.循环

 

1.while 

 while
判断标准:

举行语句……

 

1
2
3
4
5
6
7
8
9
10
LuckyNum = 6
while True:
  InLuckyNum = int(input('please your lucky number:'))
  if InLuckyNum == LuckyNum:
      print('bingo ')
      break
  elif InLuckyNum < LuckyNum:
     print('please input big')
 else:
      print('please input small')
1
2
3
4
5
6
#!/usr/bin/python
count = 0
while (count < 9):
   print (count)
   count = count + 1
print "Good bye!"

while
语句时还有此外五个主要的通令 continue,break 来跳过巡回,continue
用于跳过该次循环,

break
则是用来退出循环,其它”判断标准”还足以是个常值,表示循环必定创制,具体用法如下:

 

1
2
3
4
5
6
7
8
#!/usr/bin/python
# -*- coding: UTF-8 -*-
for letter in 'Python':     # 第一个实例
   print '当前字母 :', letter
fruits = ['banana', 'apple''mango']
for fruit in fruits:        # 第二个实例
   print '当前字母 :', fruit
print "Good bye!"

极端循环

1
2
3
4
5
6
7
8
#!/usr/bin/python
# -*- coding: UTF-8 -*-
for letter in 'Python':     # 第一个实例
   print '当前字母 :', letter
fruits = ['banana', 'apple''mango']
for fruit in fruits:        # 第二个实例
   print '当前字母 :', fruit
print "Good bye!"

2.for循环

1
2
3
4
5
6
7
8
#!/usr/bin/python
# -*- coding: UTF-8 -*-
for letter in 'Python':     # 第一个实例
   print '当前字母 :', letter
fruits = ['banana', 'apple''mango']
for fruit in fruits:        # 第二个实例
   print '当前字母 :', fruit
print "Good bye!"
1
2
3
4
5
6
7
8
9
10
11
12
luckynum = 20
for i in range(3):
    input_num= int(input('please your lucky number:'))
    if input_num == luckynum:
        print('bingo')
        break
    elif input_num < luckynum:
        print('please input big')
    else:
        print('plase input small')
else:
    print('too many retrys')

二⑩ 、文件操作

开拓文件:

 

1
file = open('文件路径''模式')

ca88手机版登录网页 12

 

 

 

 

 

 

 

 

You can leave a response, or trackback from your own site.

Leave a Reply

网站地图xml地图