Python基础入门

2020-04-03  本文已影响0人  夏海峰

1、Python简介

Python 是一种解释型、面向对象、动态数据类型的高级程序设计语言。Python 由 Guido van Rossum 于 1989 年底发明,第一个公开发行版发行于 1991 年。像 Perl 语言一样, Python 源代码同样遵循 GPL(GNU General Public License) 协议。官方宣布,2020 年 1 月 1 日, 停止 Python 2 的更新。Python 2.7 被确定为最后一个 Python 2.x 版本。

Python is an easy to learn, powerful programming language. It has efficient high-level data structures and a simple but effective approach to object-oriented programming. Python’s elegant syntax and dynamic typing, together with its interpreted nature, make it an ideal language for scripting and rapid application development in many areas on most platforms.

import this

2、环境搭建

# 命令行模式执行.py代码
print(2**10)

# 测试IO
name = input('请输入你的名字:')
print('你的名字是:', name)
print('100+200', 100+200)

3、语法基础

4、数据类型

1)整数

2)浮点数

# 整数
a1 = 100

# 浮点数
a2 = 3.14

3)字符串

# 冒号后面的行,表示代码块
if a > 100:
    print('Yes')
else:
    print('No')

print('I\'m OK!')

print(r'\\\t\n\r\\')

print('''
青青园中葵,
    朝露待日晞。
阳春布德泽,
    万物生光辉。
''')

print(r'''
    \\\r
    \\\n
    \\\t
''')

4)布尔值(注意大小写) True、False

# 布尔值与布尔运算

print(True and True)
print(True and False)
print(False and False)
print(True or False)
print(False or True)
print(not True)
print(not False)

5)空值 None

6)Python还提供了列表、字典等多种数据类型

5、变量与常量

6、三种除法

Python中的整数运算永远是精确的。

# 变量与除法

print(10 / 3)    // 3.33333333335
print(10 // 3)   // 3
print(10 % 3)   // 1

7、字符串与编码规范

搞清楚ASCII、Unicode和UTF-8 三才之间的关系。在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或者需要传输的时候,就转换为UTF-8编码。最新的Python3版本中,字符串是以Unicode编码的。

为了避免乱码问题,应当始终坚持使用UTF-8编码对string和bytes进行转换。
.py 文件开头写上如下两行:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
print(ord('A'))  # 获取字符串的数字表示
print(ord('中'))
print(chr(66))   # 获取数字所对应的字符串
print(chr(25991))
print('\u4e2d\u6587') # 数字还可以用十六进制表示

print('----------------------------')
print('ABC'.encode('ascii'))

print(b'ABC'.decode('ascii'))
print(b'\xe4\xb8\xad\xe6\x96\x87'.decode('utf-8'))

print(len('hello world'))

# 1个中文字符经过UTF-8编码后通常会占用3个字节,而1个英文字符只占用1个字节。
print(len(b'hello world'))
print(len('你好世界'.encode('utf-8')))

8、格式化输出

print('%2d - %02d' % (3,1))
print('Age: %s, Gender: %s' % (25, True))

9、list类型

classmates = ['赵一', '王二', '张三', '李四']
print(classmates)
print(len(classmates))

print(classmates[0], classmates[3])
print(classmates[-1], classmates[-4])

classmates.append('杨五')
print(classmates[-1])

classmates.insert(1, 'Jack')
classmates.pop()
classmates.pop(0)
classmates[1] = 'Bob'
classmates.append(True)
classmates.append(200)
classmates.append([1,2,3,4])
print(classmates)
print(classmates[-1][-1])
classmates = []
print(classmates, len(classmates))

10、tuple类型

tup = (1,2,3)
print(tup)
print(tup[0], tup[-1])

tup = ()    # 空的tuple
tup = (1,)  # 只有单个元素的tuple, 避免与 () 小括号产生歧义
print(tup, tup[0], tup[-1])

# 当 tuple元素是list类型时,这个list元素是可变的
tup = (1,2, [3,4])
tup[-1][0] = 300
tup[-1].append(5)
print(tup)

11、条件语句

birth = input('请输入你的出生年:')
birth = int(birth)  # 字符串转成整型
if birth > 2000:
    print('00后')
else:
    print('00前')

12、循环语句

# for...in 循环

nums = [1,2,3,4,5]
for num in nums:
    print('----', num)

sum = 0
for num in [10,20,30,40,50,60,70,80,90,100]:
    sum += num
print('sum: %d' % (sum))


# range(x) 生成 [0,x) 区间的整数
# list() 把 [0,x) 转化成 0~x 的数组
print(range(5))
print(list(range(5)))

total = 0
for num in range(100):
    total += num
print('总和为:%d' %(total))
# while 循环

all = 0
n = 99
while n > 0:
    all += n
    n -= 2
print('求100以内的奇数之和:%d' %(all))
# break 提前退出循环
m = 1
while m < 100:
    # 当 m 大于10时,退出当前循环
    if m > 10:
        break
    print(m)
    m += 1
# continue 跳出当前的这次循环,开始下一次循环

for num in (1,3,5,7,9):
    # 当 num = 5时,不会被打印
    if num == 5:
        continue
    print(num)

13、dict字典

Python内置了字典,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。

dict内部存放的顺序和key放入的顺序是没有关系的。dict的key必须是不可变对象,在Python中,字符串、整数等都是不可变的,因此,可以放心地作为key。而list是可变的,就不能作为key。

和list比较,dict有以下几个特点

而list相反

所以,dict是用空间来换取时间的一种方法。

# dict字典

d = { 'a': 1000, 'b': 2000, 'c': 3000 }
d['d'] = 4000
d['e'] = 5000
# 一个key只能对应一个value,所以,多次对一个key放入value,后面的值会把前面的值覆盖
d['e'] = 6000
print(d['a'], d['e'])
# 判断字典中,是否存某个key
if 'e' in d:
    print('key e 存在')
if 'm' in d:
    print('key m 存在')
else:
    print('key m 不存在')

# pop() 删除字典中的一个key
d.pop('a')
print(d)

# get() 获取一个key所对应的value
db = d.get('b')
print(db)

14、set集合

# 要创建一个set,需要提供一个list作为输入集合
s = set([1,3,5,7,9, 7, 5, 3, 1])
# 重复的,会被过滤掉
print(s)
s.add(11)   # 添加
s.add(13)
print(s)

s.remove(9) # 删除

r = set([1,2,3,4,5])
# 交集
sr1 = s & r
print(sr1)
# 并集
sr2 = s | r
print(sr2)

15、不可变对象

参考资源:
1、廖雪峰Python教程
2、Python官方文档


END

上一篇下一篇

猜你喜欢

热点阅读