Python学习(一)—— 基础

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/q1449516487/article/details/86487840

一、数据类型

在Python中,能够直接处理的数据类型有以下几种:

数据类型 例子
整数 1、100、-8080、0
浮点数 1.23、3.14、-9.01、1.23e9、12.3e8、1.2e-5
字符串 ‘I love python’(单引号)、"I love python"(双引号)、'I\'m OK!'(转义字符"\")
布尔值

True、False(可以用and、or、not运算)

空值

None(不能理解为0)

二、字符串和编码

1.编码类型

(1)ASCII编码:127个字符(包括大小写英文字母、数字和一些符号),每个字符由一个字节表示。

(2)Unicode编码:采用两个字节表示一个字符,在ASCII码的基础上把所有语言统一到一套编码里。

(3)UTF-8编码:把一个Unicode字符根据不同的数字大小编码成1-6个字节,常用的英文字母被编码成1个字节,汉字通常是3个字节,只有很生僻的字符才会被编码成4-6个字节。采用UTF-8编码节省空间。

2.编码类型区别:

字符 ASCII Unicode UTF-8
A 01000001 00000000 01000001 01000001
x 01001110 00101101 11100100 10111000 10101101

3.Python字符串

(1)单个字符的编码

函数 含义 例子
ord() 获取字符的整数表示 ord('A') ->65、ord(‘中’) -> 20013
chr() 把编码转换为对应的字符 chr(66) -> 'B'、chr() -> '文'

(2)字符串的编码:python中bytes用b''表示

函数 含义 例子
encode() 将str编码为指定的bytes ‘ABC’.encode('ascii') -> b'ABC'、'中文'.encode('utf-8') -> b'\xe4\xb8\xad\xe6\x96\x87'
decode() 将bytes解码为str b'ABC'.decode('ascii') -> 'ABC'、b'\xe4\xb8\xad\xe6\x96\x87'.decode('utf-8') ->‘中文’

(3)格式化:

占位符 替换内容 例子
%d 整数 ‘I am %d years old’ % 25
%f 浮点数 'Pi is %f' % 3.141592
%s 字符串 'Hello,%s' % 'JIWilliams'
%x 十六进制整数 'Mask:%x' % \xFF0000

三、list(列表)和tuple(元组)

1.list列表:是一种有序的集合,可以随时添加和删除其中的元素

操作 例子
初始化 classmates = ['Michael', 'Bob', 'Tracy']
获取值 classmates[0] -> 'Michael'、classmates[-1] -> 'Tracy'
添加 classmates.append('Adan') -> ['Michael', 'Bob', 'Tracy', 'Adan']
插入 classmates.insert(1, 'Jack') -> ['Michael', 'Jack', 'Bob', 'Tracy', 'Adan']
删除

classmates.pop() -> ['Michael', 'Jack', 'Bob', 'Tracy']、

classmates.pop(1) -> ['Michael', 'Bob', 'Tracy']

2.tuple元组:是一种有序列表,一旦初始化就不能修改

操作 例子
初始化

classmates = ('Michael', 'Bob', 'Tracy')、

t = (1,)    //只有一个元素的tuple定义时必须加一个逗号,

四、条件判断

1.if语句的完整形式:

形式 例子
if <条件判断1>:
    <执行1>
elif <条件判断2>:
    <执行2>
elif <条件判断3>:
    <执行3>
else:
    <执行4>

age =3

if age >= 18:

    print('adult')

elif age >= 6:

    print('tenager')

else:

    print('kid')

五、循环

1.for循环

形式 例子

for <变量> in <条件>:

     <执行>

sum = 0

for x in [1,2,3,4,5,6,7,8,9,10]:

    sum = sum + x

print(sum)

2.while循环

形式 例子

while <条件>:

    <执行>

(1)break

n=1

while n<=100:

    if n>10:

        break

    print(n)

    n=n+1

(2)continue

n=0

while n<10:

    n=n+1

    if n%2==0:

        continue

    print(n)

六、dict(字典)和set(集合)

1.dict字典:全称dictionary,使用键-值(key-value)存储,具有极快的查找速度

操作 例子
初始化 d = {'Michael': 95, 'Bob':75, 'Tracy':85}
赋值 d['Michael'] = 67
获取值

d['Michael'] -> 67、d.get('Michael') -> 67、

d.get('Thomas',-1) -> -1(当key不存在,指定返回-1)

删除 d.pop('Bob') -> {'Michael': 95, 'Tracy':85}

2.set集合:要创建一个set,需要提供一个list作为输入集合。set是一组key的集合,但不存储value,在set中没有重复的key

操作 例子
初始化

s1 = set([1,2,3]) -> {1,2,3}、

s2 = set([2,3,4]) -> {2,3,4}

添加 s1.add(4) -> {1,2,3,4}
删除 s1.remove(4) -> {1,2,3}
交集 s1 & s2 -> {2,3}
并集 s1 | s2 -> {1,2,3,4}

七、不可变对象

str是不可变对象,而list是可变对象。

对于可变对象,比如list,对list进行操作, list内部的内容会变化,比如:

>>> a = ['c', 'b', 'a']
>>> a.sort()
>>> a
['a','b','c']

而对于不可变对象,比如str,对str进行操作,会生成新的对象:

>>> a = 'abc'
>>> b = a.replace('a','A')
>>> b
'Abc'
>>> a
'abc'

所以,对于不可变对象来说,调用对象自身的任意方法,也不会改变对象自身的内容。相反,这些方法会创建新的对象并返回,这样就保证了不可变对象本身永远是不可变的。

猜你喜欢

转载自blog.csdn.net/q1449516487/article/details/86487840
今日推荐