Python数据分析及可视化实例之基本语法

Python数据分析及可视化实例之基本语法

系列文章总目录:Python数据分析及可视化实例目录


Talk is cheap,Show U the code.

以下源码建议初学者在Jupyter粘贴运行一遍:

# coding: utf-8
# # Python 常用内置函数
# ## 数字
# In[1]:
#绝对值:
abs(-12.4)
#取整:
round(21.6)
#最大最小值:
min(2, 3, 4, 5)
max(2, 4, 3)
# In[2]:
# 强制类型转换
int(12.324)
float(1)
# In[3]:
# 原地计算 In-place
b = 2.5
b += 2
b
# In[4]:
# 常用的比较符号包括:
# <, >, <=, >=, ==, !=
# **Python**支持链式比较:
x = 2
1 < x <= 3
# ## 字符串
# In[5]:
# 加法:
s = 'hello ' + 'world'
# 字符串与数字相乘:
"fuck" * 3
# 字符串长度:
len(s)
# In[6]:
# s.split()将s按照空格(包括多个空格,制表符\t,换行符\n等)分割,并返回所有分割得到的字符串。
line = "1 2 3 4 5"
numbers = line.split()
# In[7]:
line = "1,2,3,4,5"
numbers = line.split(',')
# In[8]:
# 与分割相反,s.join(str_sequence)的作用是以s为连接符将字符串序列str_sequence中的元素连接起来,并返回连接后得到的新字符串:
s = ' '
s.join(numbers)
# In[9]:
s = ','
s.join(numbers)
# In[10]:
# s.replace(part1, part2)将字符串s中指定的部分part1替换成想要的部分part2,并返回新的字符串。
s = "hello world"
s.replace('world', 'python')
# In[11]:
# s.upper()方法返回一个将s中的字母全部大写的新字符串。
"hello world".upper()
# s.lower()方法返回一个将s中的字母全部小写的新字符串。
"WTF".lower()
# In[12]:
dir(s) # 查看更多内置方法
# In[13]:
# 具体用法如下,字符串中花括号 {} 的部分会被format传入的参数替代,传入的值可以是字符串,也可以是数字或者别的对象。
'{2} {1} {0}'.format('a', 'b', 'c')
'{color} {n} {x}'.format(n=10, x=1.5, color='blue')
# 旧方式:
s = "some numbers:"
x = 1.34
y = 2
# 用百分号隔开,括号括起来
t = "%s %f, %d" % (s, x, y)
# ## 索引和切片
# In[14]:
s = "hello world"
s[0]# 索引
s[4]
s[-2]
s[11]
# In[ ]:
s[1:3] # 切片
s[1:-2]
s[-3:]
s[::2]
s[::-1] # 字符串反序
# ## 列表
# In[ ]:
# 列表加法,懒人法则
a = [1, 2, 3]
b = [3.2, 'hello']
a + b
# In[ ]:
# 索引和切片同字符串
# In[ ]:
# 从属关系
a = [10, 11, 12, 13, 14]
10 in a
# In[ ]:
# count(ob) 返回列表中元素 ob 出现的次数。
a = [11, 12, 13, 12, 11]
a.count(11)
# In[ ]:
# sort() 会将列表中的元素按照一定的规则排序:
a = [10, 1, 11, 13, 11, 2]
a.sort()
# 如果不想改变原来列表中的值,可以使用 sorted 函数:
a = [10, 1, 11, 13, 11, 2]
b = sorted(a)
# In[ ]:
# 列表反向
a = [1, 2, 3, 4, 5, 6]
a.reverse()
# ## 元组、集合
# In[15]:
# 与列表相似,元组Tuple也是个有序序列,但是元组是不可变的,用()生成。
# In[16]:
# 列表和字符串都是一种有序序列,而集合 set 是一种无序的序列。
a = [10, 1, 11, 13, 11, 2] # 集合列表去重
b = list(set(a))
# ## 字典
# In[17]:
a = {} # 获取值
a["one"] = "this is number 1"
a["two"] = "this is number 2"
a["three"]
# In[ ]:
a.pop("two") # 删除元素
# In[ ]:
# 更新元素
person = {}
person['first'] = "Jmes"
person['last'] = "Maxwell"
person['born'] = 1831
person_modifications = {'first': 'James', 'middle': 'Clerk'}
person.update(person_modifications)
# In[ ]:
# 是否存在
barn = {'cows': 1, 'dogs': 5, 'cats': 3}
'chickens' in barn
# In[ ]:
# `keys` 方法,`values` 方法和`items` 方法
barn.keys()
barn.values()
barn.items()
# # 基本语法
# In[ ]:
# if判断
x = 0
if x > 0:
print ("x is positive")
elif x == 0:
print("x is zero")
else:
print ("x is negative")
# In[ ]:
# for 循环continue 语句,在循环中忽略一些特定的值
values = [7, 6, 4, 7, 19, 2, 1]
for i in values:
if i % 2 != 0:
# 忽略奇数
continue
print (i/2)
# In[ ]:
# for 循环break 语句,跳出循环
command_list = ['start',
'process',
'process',
'process',
'stop',
'start',
'process',
'stop']
while command_list:
command = command_list.pop(0)
if command == 'stop':
break
print(command)
# In[ ]:
# while 语句
i = 0
total = 0
while i < 1000000:
total += i
i += 1
print (total)
# In[ ]:
# 列表推导式
values = [10, 21, 4, 7, 12]
squares = [x**2 for x in values]
squares
# In[ ]:
values = [10, 21, 4, 7, 12]
squares = [x**2 for x in values if x <= 10]
squares
# In[ ]:
def add(x, y): # 带参数函数
"""Add two numbers"""
a = x + y
return a
# In[ ]:
def foo(*args, **kwargs): # 可选参数函数,注意对应关系
print (args, kwargs)
foo(2, 3, x='bar', z=10)
# In[ ]:
from math import atan2
def to_polar(x, y): # 返回多个值
r = (x**2 + y**2) ** 0.5
theta = atan2(y, x)
return r, theta
r, theta = to_polar(3, 4)
r, theta
# In[ ]:
def add(x, y): # map函数
return x + y
a = (2,3,4)
b = [10,5,3]
print( list(map(add,a,b)))
# # 常用的标准库
#
# re 正则表达式
# copy 复制
# math, cmath 数学
# decimal, fraction
# sqlite3 数据库
# os, os.path 文件系统
# gzip, bz2, zipfile, tarfile 压缩文件
# csv, netrc 各种文件格式
# xml
# htmllib
# ftplib, socket
# cmd 命令行
# pdb
# profile, cProfile, timeit
# collections, heapq, bisect 数据结构
# mmap
# threading, Queue 并行
# multiprocessing
# subprocess
# pickle, cPickle
# struct
#
#
# # 异常
# In[ ]:
import math
while True:
try:
text = input('> ')
if text[0] == 'q':
break
x = float(text)
y = math.log10(x)
print ("log10({0}) = {1}".format(x, y))
except ValueError:
print( "the value must be greater than 0")
# In[ ]:
# Exception as e
import math
while True:
try:
text = raw_input('> ')
if text[0] == 'q':
break
x = float(text)
y = 1 / math.log10(x)
print ("log10({0}) = {1}".format(x, y))
except Exception as e:
print(e)
# # 警告
# In[ ]:
import warnings
warnings.filterwarnings(action = 'ignore', category = RuntimeWarning) # 会忽略Runtime警告
# # 文件读写
# In[ ]:
f = open('myfile.txt', 'r',encoding = 'utf-8') # 注意编码格式,GBK
# In[ ]:
f = open('myfile.txt', 'w') # 没有文件则新建
f.write('hello world!')
f.close()
# In[ ]:
import os
os.remove('myfile.txt') # 删除文件
# In[ ]:

以上代码可以在Jupyter中粘贴运行即可见效果。

啥?你英语不错,好好,给你高逼格的资料!



胶水语言博大精深,

本主只得一二为新人指路,

老鸟可去另一专栏:Python中文社区


Python数据分析及可视化实例目录



最后,别只收藏不关注哈

编辑于 2017-10-13

文章被以下专栏收录