Python基础之Python数据世界

今天我给大家介绍python的基本数据类型,喜欢的小伙伴可以关注我哦!

1.数值

int
float

2.字符串String

获取长度
字符串拼接三种方式
字符串切片
指定字符查找
字符计数

3.布尔boolean

True
False

4.空值None
5.list列表

元素可以是不同类型,有序集合。

6.元组tuple

元素经定义便不可更改

7.字典dictionary

通过键值来存储,查找十分迅速

8.集合sets

无序无重复序列

9.通过一个小程序来说明python的格式规范。

一:数值

在Python中数值只有两种类型

1.int
2.float

定义数值十分的方便,减少了许多的的定义,比如说c中定义a=3

int a = 3;//c
a = 3#python

python会自动给你识别你的数值为int型或float型,因此运行速度要比c语言慢。

a = 3.14#float

常量定义为大写,如PI=3.14,其他语言中定义为常量不可更改,python中由于失去了限定,可以更改,但请尽量不要更改。

>>> PI=3.14
>>> PI
3.14
>>> PI = PI+2
>>> PI
5.140000000000001

**

二:字符串

**
字符串的定义
直接赋值用以定义,python中字符串可以使用单引号,双引号,三引号来括起来。

>>> s='abc'
>>> s
'abc'
>>> s="abcd"
>>> s
'abcd'
>>> s='''abdc'''
>>> s
'abdc'
>>> len(s)#len()获取长度
4

字符串的三种拼接方式:
1,+号拼接

>>> s= 'abc'+'bcd'
>>> s
'abcbcd'
>>> s1 = s+'abc'
>>> s1
'abcbcdabc'

2.list有序集合拼接(使用+号拼接大量字符需要输入许多代码)

>>> list_str = ['ni','hao','bei','jin']
>>> str2 = ''.join(list_str)
>>> str2
'nihaobeijin'
>>> str3 = ' '.join(list_str)#前面代表拼接的间隔
>>> str3
'ni hao bei jin'

3.format拼接:使用{}将需要拼接的字符串给空出来,后面进行拼接

>>> str3 = '我喜欢{},因为我需要{}'.format('python','高效')
>>> str3
'我喜欢python,因为我需要高效'

字符串的切片:(起始:终止:间隔),不写默认从头尾开始。也可使用split切割:

>>> s = 'abcdefgh'
>>> s[0:3]
>>> s[:3]默认从0开始
'abc'
>>> s[3:]
'defgh'
>>> s[:-1]
'abcdefg'
>>> s[:-2]
'abcdef'
>>> s = 'abcdegh'
>>> s[::2]//起始,终止,间隔
'aceh'
>>> a ='abcdef'
>>> a[::-1]//可用于字符串反转
'fedcba'
>>> str4 = "小红,小拜,小化"
>>> str4.split(",")
['小红,小拜,小化']

字符串查找:

>>> s = 'abcdefgh'
>>> str2.find('a')
0
#查找不到返回-1
>>> s= 'abc'
>>> s.find('d')
-1

字符串下标查询:

>>> s = 'abcdefgh'
>>> str2.index('b')
1

字符串计数:

>>> str3 = 'aaabbbccc'
>>> str3.count('b')
3

三:布尔

只包含两个值True和False。(明确区分大小写)

>>> 3<2
False
>>> 3>2
True
>>> 3>2 and 3<2#有假为假
False
>>> 3>2 or 3<2#有真为真
True
>>> not 3>2#真则为假
False

四:None值

代表空类型

>>> s= None
>>> s
>>> type(s)#使用type()查看参数类型
<class 'NoneType'>

五:list列表

list中元素不受限制#并且是有序集合,可以获取

classmates = ['yh','xiaobai','xiaohong']
>>> type(classmates)
<class 'list'>
>>> len(classmates)
3
>>> classmates[0]
'yh'
>>> classmates[-1]
'xiaohong'

list添加,直接添加在最后一位

 classmates.append('haha')
classmates
['yh', 'xiaobai', 'xiaohong', 'haha']

插入,可指定位置插入

>>> classmates.insert(1,'hehe')
>>> classmates
['yh', 'hehe', 'xiaobai', 'xiaohong', 'haha']

弹出元素,默认为最后一位,也可指定位置

>>> classmates.pop()
'haha'
classmates.pop(3)
'xiaohong'
>>> classmates
['yh', 'hehe', 'xiaobai']

list中元素可以是一个list

>>> s = ['python','java',[123,123],'hehe']
>>> len(s)
4

六:元组

#元素一经定义不能被更改,引用可以被修改.

>>> t = (1,2,3)
>>> t
(1, 2, 3)
>>> t[1]
2
>>> t = ('1','2','3')
>>> t
('1', '2', '3')

元素经定义就无法修改

>>> t = ('1','2','3')
>>> t
('1', '2', '3')
>>> l=[1,2]
>>> t[2]=l
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
>>> t[2]=3
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment

但是其中的引用可以被修改,即元组中的元素是一个一个引用的时候可以被修改

>>> l =[1,2,3]
>>> t = (1,2,l)
>>> l=[3,2,1]
>>> t
(1, 2, [1, 2, 3])
>>> t[2][0]=3//代表t的第三个元素l中的第一个元素。
>>> t
(1, 2, [3, 2, 3])

七:字典

dictionnary无序对象集合,通过key-value来映射。用"{}"来标识,查找速度极快,只需找到键值。需要占用大量内存(不仅存储值,还存储键值)。key使用不可变对象,利用key来计算位置,通常采用hash算法。

>>> names = ['yh','haha','hehe']
>>> scores = [90,80,70]
>>> d = {'yh':90,'xiaohong':20,'hehe':70}
>>> d['hehe']
70
>>> d['xiaogou']=30#添加,无序。
>>> d
{'yh': 90, 'xiaohong': 20, 'hehe': 70, 'xiaogou': 30}

查找是否存在

>>> 'hehe' in d
True
>>> 123 in d
False
>>> d.get('123',-1)#如果没有找到,返回-1,没有先查找就去查看某个的值,会报错,先查找可以防止报错。
-1
>>> d.pop('xiaogou')
30
>>> d
{'yh': 90, 'xiaohong': 20, 'hehe': 70}

八:集合sets

无序不重复元素的序列,常用于去重,交集,并集。十分快速

>>> s = set([1,1,3,3,4,4])
>>> s
{1, 3, 4}
>>> s.add(3)
>>> s
{1, 3, 4}
>>> s.add(2)
>>> s
{1, 2, 3, 4}

>>> s1 =set([1,2,3])
>>> s2 = set([2,3,4])
>>> s1 & s2
{2, 3}
>>> s1 | s2
{1, 2, 3, 4}

九:冰雹猜想

任意写出一个正整数N,并且按照以下的规律进行变换:
如果是个奇数,则下一步变成3N+1。
如果是个偶数,则下一步变成N/2。
最终都会变成1.

code:

def collatz(number):#def是python的函数,通常是“def 函数名(参数):”开始
    if number%2 == 0:#函数内部使用4个空格,即一个tab键进行格式化,if语句后面加:
        return number//2#if后面的语句tab
    elif number%2 ==1:#elif同理,即
        return 3*number+1
        
print('Please inter a number:')#打印在屏幕上输入一个整数
try:#错误校验,如果输入的不是正整数,将会报错
    num = int(input())
    while num!=1:#如果内容为真,会一直做这个循环,这个数字不等于1,那么会一直对这个数字进行操作
        print(collatz(num))
        num = collatz(num)
except ValueError:#这里是报错信息。
    print('you must input a int number')

白驹过隙,人生苦短,我用python,下期再见。

  • 36
    点赞
  • 81
    收藏
    觉得还不错? 一键收藏
  • 15
    评论
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值