Python QuickStart
(→Quick Start) |
(→Quick Start) |
||
| 第15行: | 第15行: | ||
<source lang=bash> | <source lang=bash> | ||
| − | $ sudo pip3 install numpy | + | $ sudo pip3 install numpy pandas matplotlib |
$ sudo pip3 install tensorflow | $ sudo pip3 install tensorflow | ||
</source> | </source> | ||
2020年2月13日 (四) 19:04的版本
目录 |
1 Quick Start
Install python3.8 from https://www.python.org/downloads/
Install pip:
$ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py $ sudo python get-pip.py
Using the pip to install the numpy and tensorflow package:
$ sudo pip3 install numpy pandas matplotlib $ sudo pip3 install tensorflow
2 Basics
2.1 Numbers
Python 2.7.9 (default, Mar 1 2015, 12:57:24) >>> a = 3.23 >>> b = 4 >>> c = 52.3E-4 >>> print a, b, c 3.23 4 0.00523
2.2 HEX
>>> print str(254) 254 >>> print hex(254) 0xfe >>> print hex(254).upper() 0XFE >>> str = "%02X" %(254); print str FE >>> print hex(1023) 0x3ff >>> print hex(1023)[0:-2] 0x3
2.3 Strings
#!/usr/bin/python
str_1 = 'Jack Tan'
str_2 = "Ga Xiao Duo"
str_3 = '''This is a multi-line string. first line.
second line'''
# using the startswith method of the string object
if str_1.startswith('Ja'):
print("Yes, str_1 start with 'Ja'")
if 'a' in str_1:
print('Yes, str_1 contains the string "a"')
substr = 'ac'
if str_1.find(substr) != -1:
print('Yes, str_1 contains the string "{0}"'.format(substr))
print('Yes, {0} contains the string "{1}"'.format('str_1', substr))
print('Yes, {} contains the string "{}"'.format('str_1', substr))
# using the format method of the string object
deli = '_*_'
mylist = ['Brazil', 'Russia', 'India', 'China']
# using the join method of the string object
print(deli.join(mylist))
Output:
Yes, name start with 'Ja' Yes, name contains the string "a" Yes, name contains the string "ac" Brazil_*_Russia_*_India_*_China
Once your have created a string, you cannot change it
2.4 Variable
Python refers to anything used in a program as an object.
Do not need type declaration of variable in python
Python 2.7.9 (default, Mar 1 2015, 12:57:24) >>> a = 3.1415 >>> b = 100000 >>> c = 'Jack Tan' >>> d = ['x1', 'x2'] >>> print a, b, c, d 3.1415 100000 Jack Tan ['x1', 'x2'].
Variables can hold values of different types called data types. The basic types are numbers and strings. We can create our own types using classes.
2.5 Indentation
Whitespace at the beginning of the line is important!
Spaces and tabs at the beginning of the logical line are used to determine the indentation level of the logical line, which in turn is used to determine the grouping of statements.
Statements which go together must have the same indentation. Each usch set of statements is called a block
2.6 Format
#!/usr/bin/python #width = 10,precise = 3,align = left print "PI = %10.3f" %(math.pi) # don't add the '\n' at the end of line print "PI = %10.3f" %(math.pi), #width = 10,precise = 3,align = rigth print "PI = %-10.3f" % math.pi
Output:
PI = 3.141593 PI = 3.142
Python 2.7.9 (default, Mar 1 2015, 12:57:24)
>>> print "%.3s " % ("jcodeer") #precise = 3
jco
>>> print "%.*s" % (4,"jcodeer") #precise = 4
jcod
>>> print "%10.3s" % ("jcodeer") #width = 10,precise = 3
jco
>>>
fmat = "%r %r %r %r"
print fmat % (1, 2, 3, 4)
print fmat % ("one", "two", "three", "four")
print fmat % (True, False, False, True)
1 2 3 4 'one' 'two' 'three' 'four' True False False True
print('{0:.3}'.format(0.3333333))
#print('{0:.3}'.format(1/3))
print('{0:_^11}'.format('Hello'))
print('{0:+^11}'.format('Hello'))
print('{name} wrote {book}'.format(name='Jack', book='Hello world'))
PI = 3.141593 PI = 3.142 0.333 ___Hello___ +++Hello+++ Jack wrote Hello world
3 Operators
4 Control Flow
4.1 if
i = 5
if i == 0:
print 'Zero'
elif i > 0:
print 'Positive'
else:
print 'Negative'
4.2 While
n = 4
while n:
print 'Loop is OK'
n -= 1
else:
print 'Loop is over'
4.3 For
for ... in
for i in range(1,5):
print i
else:
print 'The loop is over'
5 Functions
6 Data Structures
7 Exceptions
7.1 with...as
#!/usr/bin/python
import sys
class test:
def __enter__(self):
print("enter")
return 1
def __exit__(self, *args):
print("clean up")
return False
#return True
with test() as t:
print("t is not the result of test(), it's __enter__ returned")
print("t is 1, yes, it's {0}".format(t))
print "t is 1, yes, it's", t
raise NameError("Error")
sys.exit()
print("Never here")
8 Matplotlib
- Gallery
- Change the Colors Changes to the default style
- Demo Fixed Size Axes
- Multiple Figs Demo
- Usetex Demo
- Controlling style of text and labels using a dictionary
- matplotlib.pyplot.plot()
- matplotlib.pyplot.figure()
8.1 bar
8.2 hist
9 Modules
9.1 Serial
import serial
import string
import binascii
s = serial.Serial('com4',9600)
s.open()
# rx data
n = s.inwaiting()
if n:
data = str(binascii.b2a_hex(s.read(n)))[2:-1]
print(data)
# tx data
d = bytes.fromhex('10 11 12 34 3f')
s.write(d)
s.close()
9.2 Struct (TX binary data)
import struct
a = [0x00, 0x00, 0x00, 0x2c, 0x63, 0x00, 0x00, 0x00, 0x75, 0x4b, 0xef, 0x0f]
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect(('127.0.0.1',8000))
date = struct.pack("%dB"%(len(a)),*a)
s.send(date)
9.3 MQTT
Please refer to: http://wiki.jackslab.org/Noduino_OpenPlug#Turn_off_2
9.4 HTTP
httplib 实现了 http & https 的客户端协议,模块 urllib 和 urllib2 对 httplib 进行了更上层的封装
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import urllib2
import json
def http_post(url,data_json):
jdata = json.dumps(data_json)
req = urllib2.Request(url, jdata)
response = urllib2.urlopen(req)
return response.read()
url = 'http://192.168.0.100:8080/dev/test'
data_json = {'data' : '112233'}
resp = http_post(url, data_json)
print(resp)
使用post方式时,数据放在 data 或者 body 中:
import urllib
import urllib2
test_data = {'ServiceCode':'aaaa','b':'bbbbb'}
test_data_urlencode = urllib.urlencode(test_data)
requrl = "http://192.168.1.16/dev/test"
req = urllib2.Request(url = requrl, data =test_data_urlencode)
print req
res_data = urllib2.urlopen(req)
res = res_data.read()
print res
Reference: https://blog.csdn.net/lovemysea/article/details/77776299
9.5 Time
10 Resource
- Online Python: http://www.compileonline.com/execute_python_online.php
- Python Quick Start: http://www.tutorialspoint.com/python/python_lists.htm