Python(二)python简介、变量、数值类型、操作符、I/O、判断|循环语句
来源:互联网 发布:英雄联盟官方代练 知乎 编辑:程序博客网 时间:2024/06/06 07:31
一、简介
1.Python和shell一样,是解释型的编程语言
2.Python解释器
- cpython
- ipython:上一章介绍过
- pypy
- jython
- IronPython: 常用于.Net
3.Python脚本
查看python命令的位置:
[root@python mnt]# which python
/usr/bin/python
编码格式:
ASCII码: 只能识别英文,70多个,一个数字对应一个字符; 1Byte = 8bit 2^8=255
Unicode: 2^16=65536, 可以识别各种语言,但是每两个字节代表一个字符.
utf-8:可变长字符编码,英文一个字节存储, 其他语言3个字节存储.
GB2312:
写一个python脚本:
[root@python mnt]# vim hello.py
#!/usr/bin/python #指定python解释器,也可以使用#!/usr/bin/env python增强代码可移植性#coding:utf-8 #指定编码格式,指定后脚本才能识别中文,否则执行报错print "你好,python" #脚本内容为输出你好,Python执行python脚本:
方法一:python+脚本名
[root@python mnt]# python hello.py
你好,python
方法二:增加可执行权限
[root@python mnt]# chmod +x hello.py
[root@python mnt]# ./hello.py
你好,python
方法三:将脚本加到命令行
[root@python mnt]# chmod +x hello.py
[root@python mnt]# cp hello.py /bin #复制脚本到系统/bin目录
[root@python mnt]# cd #退出到家目录
[root@python ~]# hello.py #现在hello.py就可以像系统命令一样去使用
你好,python
二、变量
- 变量是内存中的一块区域。
- 变量的命名: 变量名由字母,数字,下划线组成,不能以数字开头。
python中地址变量与c语言刚好相反,一条数据包含包含多个标签:
可以看到,a和b的id是一样的
三、数值类型
注:查看变量类型可以使用type(),括号中填变量名
1.python支持的数值类型: int(整型), long(长整型), float(浮点型), bool(波尔类型), complex(复数类型,python中特有的类型)
int:
In [15]: a=111
In [16]: type(a)
Out[16]: int
long:强制定义为长整型: num = 999L
In [17]: b=111L
In [18]: type(b)
Out[18]: long
float:1.2e10代表的数值为1.2的10次方
In [19]: pi=3.1415926
In [20]: type(pi)
Out[20]: float
In [21]: c=1.2e10
In [22]: type(c)
Out[22]: float
bool:只包含True|False两种,注意开头字母大写,不识别小写。
In [9]: a=True
In [10]: type(a)
Out[10]: bool
In [11]: b=False
In [12]: type(b)
Out[12]: bool
complex:python对复数提供内嵌支持,eg: 3.14j, 8.32e-36j
In [23]: d=1+1j
In [24]: type(d)
Out[24]: complex
2.python类型转换的工厂函数: int('1'), long(1), float(1), bool(-1), bool(0), complex(1)
In [56]: a=3
In [57]: type(a)
Out[57]: int
In [58]: b=long(a)
In [59]: type(b)
Out[59]: long
bool:
In [62]: a=1
In [63]: bool(a)
Out[63]: True
In [64]: not bool(a)
Out[64]: False
In [65]: bool(-1)
Out[65]: True
In [66]: bool(1)
Out[66]: True
In [67]: bool(0)
Out[67]: False
3.BIF: built-in function(cmp, type, str)内置函数
cmp:比较大小
In [37]: cmp(1,2)
Out[37]: -1
In [38]: cmp(2,1)
Out[38]: 1
In [39]: cmp(1,1)
Out[39]: 0
type(变量名):查看变量类型
In [42]: a=1
In [43]: type(a)
Out[43]: int
str:转换为字符串
In [40]: str(1)
Out[40]: '1'
4.不同进制转换: hex(16), oct(8)
hex转换为16进制
oct转换为8进值
In [47]: hex(1)
Out[47]: '0x1'
In [48]: oct(1)
Out[48]: '01'
ord(‘A’)将A转换为对应的ASDII码
chr反向查询ASDII对应的字符
四、操作符
算术操作符: +, -, *, /, **, // (注意: /在python2和python3中作用不同)
In [25]: 5/2
Out[25]: 2
In [26]: 5//2 #两种方式的结果都是5除以2等于2
Out[26]: 2
In [27]: from __future__ import division #使用这条指令将当前2.x环境转换为3.0版本python的精确计算方式
In [28]: 5/2
Out[28]: 2.5 #现在执行5除以2得到的是2.5而不是2
In [29]: 5//2 #5//2才会只取整数位
Out[29]: 2
赋值运算符: +=, -=, *=...... (注意: a+=2 实质上是a=a+2; python中不支持a++,支持++a);
比较运算符: >, < , >=, <=, ==, != (注意: 结果是bool类型,只能是True或者False);
逻辑运算符: and(逻辑与), or(逻辑或), not(逻辑非) (and,全真则真; or,全假为假)
In [30]: not 1>2 and 2<3 #表示1<2取反 and 2<3
Out[30]: True
In [31]: warn=""
In [32]: not warn #如果warn为空则为真
Out[32]: True
In [33]: warn=123
In [34]: not warn #由于warn不为空,返回False
Out[34]: False
In [35]: not "" #not后面跟的值为空,所以返回True
Out[35]: True
五、I/O
Input:(python2和python3中不同)
raw_input("提示信息:") # 返回值是字符串
input("提示信息") # 返回值是数值类型
In [68]: raw_input("输入Name:")
输入Name:vaon
Out[68]: 'vaon'
Output:
print "显示%d条信息:%s" %(1, "占位符的内容")
print """
按照三引号之间的格式输出;
"""
In [69]: print "vaon Is %d years old" %(18) #%d表示占用一个位置,类型为数值类型。如果是字符串类型用%s代替
vaon Is 18 years old
In [70]: print """
....: 主机信息
....: 1.3一uyu6q7hh%&j
....: 2.--qeoids23230-
....: 3.jfhuyer-=-09==
....: """
主机信息
1.3一uyu6q7hh%&j
2.--qeoids23230-
3.jfhuyer-=-09==
六、判断语句
#python中不支持case语句,可以通过if...elif...elif...else显现
if ...
if ... else ....
if ... elif ... elif ... else ....
七、循环语句
for .... (注意: range(start, stop, step))
for .... if语句嵌套
for .... for语句嵌套
八、python中不支持三目运算符:a>b?a:b
但要实现三目运算符功能可以:a if a<b else b #如果a<b就输出a,a>b就输出b
九、range
range(start,stop,step):返回一个别表,从start开始,stop-1结束,步长为step
打印出1-10:
In [10]: range(1,11)
Out[10]: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
打印出1-10的奇数:
In [11]: range(1,11,2)
Out[11]: [1, 3, 5, 7, 9]
题目1:
用户输入年龄,如果大于18,显示是成年人,否则显示不是成年人
解答:
#!/usr/bin/env python
#coding:utf-8
age=input("输入年龄:")
if age > 18:
print "Age Is %d,You Are Adult" %(age)
else:
print "Age Is %d,Not Adult" %(age)
题目2:
解答:
#!/usr/bin/python
#coding:utf-8
hostname=raw_input("输入主机名:")
IP=raw_input("输入IP:")
used_year=input("输入已使用时间:")
CPU=raw_input("CPU信息:")
Memory=raw_input("内存大小:")
if used_year > 10:
print "该服务器使用年限太久!"
else:
print """
主机信息
主机名:%s
ip:%s
使用年限:%d
CPU:%s
Memory:%s
"""%(hostname,IP,used_year,CPU,Memory)
题目3:
判断是否闰年
#!/usr/bin/python
#coding:utf-8
"""
判断是否闰年的方法:
1.能被4整除但不能被100整除
2.或者满足能被400整除
"""
year = input("Year:")
if (year%4 == 0 and year%100 != 0) or year%100 ==0:
print "%d Is Leap" %(year)
题目4:
打印九九乘法表
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
...
解答:
#!/usr/bin/env python
# coding:utf-8
for n in range(1,10):
for m in range(1,n+1):
print "%d*%d=%d" %(m,n,m*n), #如果打印时不想换行,在print最后面加逗号即可
print #打印空行
题目5:
计算1+2+3+...+10000的和,并输出脚本运行时间
解答:
#!/usr/bin/env python
# coding:utf-8
import time #调用time函数
start = time.time() #开始时间,计时
sum=0
for m in range(1,10001):
sum+=m
print "求和结果:%d" %(sum)
stop = time.time() #结束时间,计时
print "脚本运行时间:%s" %(stop - start) #结束时间减开始时间
- Python(二)python简介、变量、数值类型、操作符、I/O、判断|循环语句
- python学习(二)I\O、数据类型和变量
- python 数值类型,判断类型
- python类型数值操作
- Java基础(三) Java变量、操作符及判断和循环语句之(二)
- python基本数值类型简介
- python 判断变量类型
- Python 判断变量类型
- Python判断变量类型
- python判断变量类型
- python判断变量类型
- Python的数值类型和操作符
- python<一> python 简介及数值类型
- python--文件操作(I/O)
- python类型转换、数值操作
- python类型转换、数值操作
- python类型转换、数值操作
- python类型转换、数值操作
- Java练习(6)——十进制转换为2、16进制
- Spring boot 全部默认配置
- 图像的小波变换(一)
- 快捷方式
- matlab串口通信
- Python(二)python简介、变量、数值类型、操作符、I/O、判断|循环语句
- 字符游戏——智能蛇
- YTU.1743: 多处最优服务次序问题
- 代码规范 : 关于注释和日志
- Android之Intent(数据传递)
- ros学习
- VM 虚拟机配置NAT模式,连接互联网
- caffe 训练模型时出错 caffe-parallel has a bug: Check failed: proto.SerializeToOstream(&output)
- SDUT 2122-数据结构实验之链表七:单链表中重复元素的删除