Python(三)python基本数据类型

数据类型

一、Python支持的数据类型

1.变量

变量是内存中的一块区域

变量的命名:由字母、数字、下划线组成并且开头不能时数字

python中地址变量与c语言刚好相反,一条数据包含多个标签:

>>> a=1
>>> b=1
>>> id(a)
34909288
>>> id(b)
34909288
2.整型

注:type()可以查看数据类型

>>> num1=123
>>> type(num1)
<type 'int'>
3.长整型

#强制定义为长整型:num3=999L

>>> num2=9999999999999999999
>>> type(num2)
<type 'long'>

>>> num3=999L
>>> type(num3)
<type 'long'>
4.浮点型

#1.2e10代表的数值为1.2的10次方;
#12e9代表的数值为12的9次方;

>>> f1=12.0
>>> type(f1)
<type 'float'>
>>> f2=1.2e10
>>> type(f2)
<type 'float'>

5.波尔类型

#只包含True|False两种,注意开头字母大写,不识别小写

In [9]: a=True
In [10]: type(a)
Out[10]: bool

In [11]: b=False
In [12]: type(b)
Out[12]: bool

注:如果括号里面有数值,返回True,否则False。0也返回Flase

>>> a=123
>>> bool(a)
True
>>> b=""
>>> bool(b)
False
>>> bool(-1)
True
>>> bool(1)
True
>>> bool(0)
False

6.复数类型

#python对复数提供内嵌支持,eg: 3.14j, 8.32e-36j

>>> c=3.14j
>>> type(c)
<type 'complex'>

二、python类型转换的工厂函数

int('1'), long(1), float(1), bool(-1), bool(0), complex(1)

#将a从整型转换为长整型:

>>> a=123
>>> type(a)
<type 'int'>
>>> a=long(a)
>>> type(a)
<type 'long'>
>>> a
123L

三、BIF: built-in function内置函数(*只介绍一部分)

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'

四、进制转换

不同进制转换: hex(16), oct(8)
ASCII码转换: ord('A'), chr(97)

hex转换为16进制

oct转换为8进值

In [47]: hex(1)
Out[47]: '0x1'

In [48]: oct(1)
Out[48]: '01'

ord(‘A’)将A转换为对应的ASDII码

chr(97)反向查询97这个ASDII码对应的字符

操作符

一、算术运算符:+, -, *, /,**, %, //

>>> 2**3
8
>>> 5%2
1

注:在2.x版本和3.0版本python中“/”的结果是不同的:

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=1111
>>> b=111111L
>>> a+b
112222L
二、赋值运算符: +=, -=, *=...... (注意: a+=2 实质上是a=a+2; python中不支持a++,但支持++a);

三、比较运算符: >, >=, <, <=, !=, ==(注意: 结果是bool类型,只能是True或者False)

>>> 1>2
False

三、逻辑运算符:逻辑与and, 逻辑或or, 逻辑非not

#如果为空,not+变量的返回值就为True

>>> warn = ""
>>> not warn
True
>>> a="hello"
>>> not a
False
>>> not ""
True

输入输出

Input:(python2和python3中不同:2.0版本中使用raw_input和input来区分字符串和数值;3.0中使用input可以自动区分数值还是字符串)
    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 ....

#python中不支持三目运算符:a>b?a:b

#但要实现三目运算符功能可以:a if a<b else b ,如果a<b就输出a,a>b就输出b

循环语句

for .... (注意: range(start, stop, step))

for .... if语句嵌套
for .... for语句嵌套

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)    #结束时间减开始时间

时间: 2024-10-11 13:41:28

Python(三)python基本数据类型的相关文章

Python三种基础数据类型:列表list,元祖tuple和字典dict

Python的三种基本数据类型,列表list,元祖tuple和字典dict 列表List:python最基础的数据类型,列表内的数据项不需要具有相同的类型,可以包含重复值.列表包括两个模块,元素及对应的索引,其中索引正值表示从头开始取,负值表示倒项取数. 操作:索引.切片.加.减.乘.检查成员 索引:查看某个索引的值my_list[1],查看系列的值my_list[1:5] 切片:my_list[1:5],注意:my_list[::n]该用法表示从取的元素开始取第n元素,依次类推 加和乘:表示对

Python 30分钟入门——数据类型and控制结构

Python是一门脚本语言,我也久闻大名,但正真系统的接触学习是在去年(2013)年底到今年(2014)年初的时候.不得不说的是Python的官方文档相当齐全,如果你是在Windows上学习Python,安装包自带的"Python Manuals"就是一份很好的学习资料(基本上不用去找其他资料了):尤其是其中的Tutorial,非常适合初学者.本文一方面总结了python语言的核心--数据类型和控制结构:另一方面,通过与其他语言的对比表达了我对Python的一些拙见. 数据类型 Pyt

Python基础之基本数据类型一《数字与字符串》

一.运算符 结果是值 算数运算                            a = 10 * 10                  赋值运算                            a = a + 1    a+=1 结果是布尔值 比较运算                            a = 1 > 5                  逻辑运算                            a = 1>6 or 1==1              

Python 30分钟入门——数据类型 &amp;amp; 控制结构

Python是一门脚本语言,我也久闻大名,但正真系统的接触学习是在去年(2013)年底到今年(2014)年初的时候.不得不说的是Python的官方文档相当齐全,假设你是在Windows上学习Python,安装包自带的"Python Manuals"就是一份非常好的学习资料(基本上不用去找其它资料了):尤其是当中的Tutorial,非常适合刚開始学习的人.本文一方面总结了python语言的核心--数据类型和控制结构:还有一方面,通过与其它语言的对照表达了我对Python的一些拙见. 数据

python笔记二(数据类型和变量、字符串和编码)

一.数据类型 python可以直接处理的数据类型有:整数.浮点数.字符串.布尔值.空值. 整数 浮点数 字符串:双引号内嵌套单引号,可以输出 i'm ok. 也可以用\来实现,\n 换行 \t table 多行字符串用  ''' ''' 布尔值: 可以对布尔值进行与或非运算/ 与and 或or 非not 空值 二.变量 a = 1/ a = "nadech"    与java不同,python在声明一个变量的时候不用指定变量的类型,直接赋值就可以了 在 执行a =1 的时候,pytho

python自动化--语言基础--数据类型及类型转换

Python中核心的数据类型有哪些?变量(数字.字符串.元组.列表.字典) 什么是数据的不可变性?哪些数据类型具有不可变性数据的不可变是指数据不可更改,比如: 1 a = ("abc",123) #定义元组 2 a[0]=234 #把第一位更改为345 3 print(a) #打印时会报错 不可变:数字.字符.元组可变:列表和字典 Python中常见数据类型 赋值 1 counter = 100 2 miles = 1000 3 name = "nan" 4 pri

python学习03-数据类型

一.基本数据类型--数字 布尔型 bool型只有两个值:True和False 之所以将bool值归类为数字,是因为我们也习惯用1表示True,0表示False. 以下是布尔值是False的各种情况: 1 bool(0) 2 bool(None) 3 bool("") 4 bool(()) 5 bool([]) 6 bool({}) 在Python2.7 中,True和False是两个内建(built-in)变量,内建变量和普通自定义的变量如a, b, c一样可以被重新赋值,因此我们可以

python学习04-数据类型(元组、字典、集合)

一.基本数据类型--元组   元组:是一种与列表非常相似的数据类型.但是它一旦创建便不能再修改,所以又叫只读列表. 定义:与列表类似,只不过[]改成() 特性: 可存放多个值(可以存放复杂数据类型) 不可变(显式地告诉别人此处数据不可修改,常用于数据库连接配置信息等) 按照从左到右的顺序定义元组元素,下标从0开始顺序访问,有序 元组本身不可变,如果元组中还包含其它可变元素,这些可变元素可以改变.(比如列表等) 元组常用操作 创建 ages = (11, 22, 33, 44, 55) #或 ag

Python - 三大器 迭代器,生层器,装饰器

目录 Python - 三大器 迭代器,生层器,装饰器 一. 容器 二. 可迭代对象(iterable) 三. 迭代器 四. 生成器 五. 装饰器 1. 定义 六. 闭包 Python - 三大器 迭代器,生层器,装饰器 在介绍三大器之前先来了解一下容器和可迭代对象... 一. 容器 容器是一种把多个元素组织在一起的数据结构,容器中的元素可以逐个地迭代获取,可以用in, not in关键字判断元素是否包含在容器中.通常这类数据结构把所有的元素存储在内存中(也有一些特例,并不是所有的元素都放在内存

三.python高级

三.python高级 1.元类 1.1 Python 中类方法.类实例方法.静态方法有何区别? 类方法:是类对象的方法,在定义时需要在上方使用@classmethod进行装饰,形参为cls,表示类对象,类对象和实例对象都可调用: 类实例方法:是类实例化对象的方法,只有实例对象可以调用,形参为 self,指代对象本身: 静态方法:是一个任意函数,在其上方使用@staticmethod进行装饰,可以用对象直接调用, 静态方法实际上跟该类没有太大关系 2.内存管理与垃圾回收机制 2.1 Python