Python 基本数据类型

/usr/bin/env python
# -*- coding:utf8 -*-
# 加上上面一句支持中文编码
# A first Python script

print (2 ** 10)             #Raise 2 to a power
x = 'Spam!'
print (x * 10)              #sting repetition
y = 111
z = 10

#number

print ( y*z )   #乘法

print (z ** y)  #次方



#String*****************************************************

x = 'what`syouname ?\n'  #换行符

print (len(x))   #长度

print (x[0])     #第一个

print (x[-1])    #倒叙第一


import random   #引入随机库

print (random.choice([1,2,3,4]))  #随机数

print (x[1:6])   #取到1-6中间位置字符串

answer = 'my name is horck !'

print (x + answer)  #字符串拼接

shop = "shopName"  #单双引号都为字符串

print (shop)


#序列(数组)*****************************************************

list10 = [123,'sdsds',1.22]  #序列

print (len(list10))          #元素个数

print (list10[0])            #第一个元素

print (list10[:1])  #生成新的序列  :-1到最后一个

list1 = list10 + [4,5,6]    #生成新的序列 但是list数据还是不变

print (list10)  # [123, 'sdsds', 1.22]

print (list1)   # [123, 'sdsds', 1.22, 4, 5, 6]


list10.append('NI')

print (list10)    # [123, 'sdsds', 1.22, 'NI']

list10.append(222)  # 添加

list10.remove(1.22) #移除  或者 .pop

print (list10)  # [123, 'sdsds', 'NI', 222]

list10.sort()   #排序

print (list10)  #[123, 222, 'NI', 'sdsds']

list10.reverse()  #反转

print (list10)    # ['sdsds', 'NI', 222, 123]

#序列嵌套

list2 = [[0,1,2],
         [3,4,5],
         [6,7,8]
]

print (list2[1])  # [3, 4, 5]

print (list2[2][0])  #取值   6

#字典(搜索最快的取值方法)*************************************************************************

person = {'name':'horck',
          'hobby':'sleep',
           'age':12
          }

print (person)  #{'hobby': 'sleep', 'age': 12, 'name': 'horck'}

person1 = dict(name='horck', hobby='sleep', age=12)

print (person1) # {'hobby': 'sleep', 'age': 12, 'name': 'horck'}

print (person['hobby'])   # sleep

person3 = {}

person3['gender'] = 'man'

person3['fa'] = 'horck'

print (person3)  # {'gender': 'man', 'fa': 'horck'}   如果字典没有该键 就会重新创建新的键值对

person3['fa'] = 'yours'

print (person3)  # {'gender': 'man', 'fa': 'yours'}


#for循环****************************************************************************************
personInfo = {'name':'sssd','age':12,'gender':'woman'}

keys = personInfo .keys()  #取到key值

print (keys)  # ['gender', 'age', 'name']

keys.sort()   #排序

print (keys)  #['age', 'gender', 'name']

for key in keys:
    print ('key--->',key,'value-->',personInfo[key])
    # ('key--->', 'age', 'value-->', 12)
    # ('key--->', 'gender', 'value-->', 'woman')
    # ('key--->', 'name', 'value-->', 'sssd')


squares = [x ** 2 for x in  [2,3,5,6]]

print (squares)  #[4, 9, 25, 36]


#元组 类似序列 创建之后就为不可变(升序降序等失效)***********************************************************************

T= (3,5,7,8,'sdsd')

print (T)   #(3, 5, 7, 8, 'sdsd')

print (T[0])  # T[0] = 11 这样写会报错

#if if else  判断*************************************************************************************************

dict = {'a':11,'b':'2222','c':444}

if  'a' in dict:  #判断'f'这个key是否存在
    print ('miss')
else:
    print (dict['sf'])

value = dict['a'] if 'f' in dict else 'sss' #if else 判断


print (value)


#文件(先创建名为 'data.txt文件')*************************************************************
wj = open('data.txt','w')  #写文件 并以'w'形式写数据

wj.write('Hellos\n')       #测验这种形式是完全覆盖写入

wj.write('worlds\n')

wj.close()                 #写入

rwj = open('data.txt')    #读文件 默认以read形式

rwjtxt = rwj.read()       #文件内容以String形式输出 (read接受一个字节大小,readline 每次读一行)

print (rwjtxt)          # Hellos  worlds

print (dir(rwj))      #获取所有属性 ['__class__', '__delattr__', '__doc__', '__enter__', '__exit__', '__format__', '__getattribute__', '__hash__', '__init__', '__iter__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'close', 'closed', 'encoding', 'errors', 'fileno', 'flush', 'isatty', 'mode', 'name', 'newlines', 'next', 'read', 'readinto', 'readline', 'readlines', 'seek', 'softspace', 'tell', 'truncate', 'write', 'writelines', 'xreadlines']

#TIP  open函数能实现大部分文件处理,对于更高级的任务,Python有额外的类文件工具,先进先出队列(FIFO)、套接字、通过键访问文件,对象持久、基于描述符的文件、关系数据库和面向对象数据库等。


#其他核心类型 ************************************************************************
#集合  不可变无序
setx = set('spam')  #创建方法 2.6 和 3。0    y={'a','b','c'} 3.0创建方法
sety = set('apxxmm')
print (setx)  # set(['a', 'p', 's', 'm'])
print (sety)  # set(['a', 'p', 'm', 'x'])

print (setx&sety)   #交集 set(['a', 'p', 'm'])

#type 返回这个类的类型  ****************************************
#举个粒子

list3 = [1,2,3,4,5,5]

print (type(list3))             #<type 'list'> 2.6       <class 'list'> 3.0
print (type(type(list3)))       # <type 'type'> 2.6      <class 'type'> 3.0


if type(list3) == list:   #判断是否是list类型  与type(list3) == type([]) 同样
    print ('yes')
if isinstance(list3,list):  #同上
    print ('YES')

#类  Class

class personClass:
    def __init__(self,age,pay,name):  #初始化方法 添加属性
        self.age = age
        self.pay = pay
        self.name = name
    def lastName(self):                #取值方法  不带参数
        return self.name.split()[-1]
    def giveRaise(self,percent):
        self.pay *= (1.0 +percent)     #赋值方法 带参

bob = personClass(12,4000,'bob smith')
print (bob.name)         #bob
print (bob.lastName())   #smith

bob.giveRaise(.10)

print (bob.pay)   # 4400.0
总结问答
1. 列举Python 中四个核心数据类型名称

数字、字符串、列表、字典、元组、文件和集合一般被认为核心对象(数据)类型。类型、None和布尔型有时也被定义在这些类型中。还有多种数据类型(整数,浮点,复数,分数和十进制数)和多种字符串类型(2.x 中的一般字符串和Unicode字符串,以及3.x中的文本字符串和字节字符串)。

2.为什么我们把它们称作“核心”数据类型?

它们被称为“核心”类型是因为它们就是Python语言的一部分,并且是有效的,为了建立其他的对象,通常必须调用被导入模块的函数。大多数核心类型都有特定语法生成其对象。

3.“不可变性”代表了什么,哪三种Python的核心类型被公认为不可变类型?

就是创建之后不能被改变的对象,Python中数字、字符串、元组都是不可变的,虽不可改变一般重新创建。

4. “序列”是什么意思? 哪三种Python核心类型被认为是这个分类中的?

是对位置进行排序对象的集合,字符串、列表和元组是python中所有的序列。它们有一般序列的操作,索引、合并以及分片。

5.映射是什么意思? 那种Python的核心类是映射?

“映射”就是将键值互相关联的对象的集合 字典是Python中唯一的映射类核心类,专有的键值对应关系,无序。

6. 什么是多态?为什么我们要关心多态

“多态”意味着一个操作符的意义取决于被操作对象。这将变成使用好Python的关键思想之一,不要把代码限制在特定的类型上,使代码自动适于多种类型。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,607评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,047评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,496评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,405评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,400评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,479评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,883评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,535评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,743评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,544评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,612评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,309评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,881评论 3 306
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,891评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,136评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,783评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,316评论 2 342

推荐阅读更多精彩内容